温故而知新 前端日志上传新姿势 navigator.sendBeacon(信标)

原文地址:https://mp.weixin.qq.com/s/-moAfEZicrFmun4qfWLdOQ

简单示例js:

var data = JSON.stringify({
  name: ‘Berwin‘
});
navigator.sendBeacon(‘http://localhost:80/index.php‘, data)

简单php示例:

由于是新标发送的数据是 "text/plain" 数据类型,所以用$GLOBALS[‘HTTP_RAW_POST_DATA‘]接受,由于它本来就是字符串,所以可以直接使用。

如果是GET请求,则需要用 json_encode($_REQUEST) 转换一下才可以使用示例中的WriteLog方法。

<?php 

header(‘Access-Control-Allow-Origin:*‘);
header(‘Access-Control-Allow-Headers:x-requested-with,content-type‘); 

function WriteLog($msg,$module = null,$logLevel = "DEBUG")
{
    $filepath = "./log/";
    if(!is_dir($filepath)) mkdir($filepath,‘0777‘);
    $MyLogFile = @fopen($filepath.date("Y-m-d").".txt",‘a+‘);

    $time = date("Y-m-d H:i:s");
    if(isset($module)){$module =  sprintf("\r\n归属模块:".$module."\r\n");}
    $logLine = "\r\n-------------------------------  $time -------------------------------\r\n";
    $logLine .= $module;
    $logLine .= "\r\n异常信息:$msg\r\n";
    $logLine .= "\r\n错误等级:$logLevel\r\n";
    fwrite($MyLogFile,$logLine);
}

WriteLog($GLOBALS[‘HTTP_RAW_POST_DATA‘]);

原文地址:https://www.cnblogs.com/CyLee/p/9925975.html

时间: 2024-10-12 03:49:00

温故而知新 前端日志上传新姿势 navigator.sendBeacon(信标)的相关文章

日志易数据接入之 Syslog 日志上传

在企业运维环境中,运维人员管理的主要对象分别是服务器.存储.网络设备.安全设备等.而在对整个企业网站进行监控时,这些设备的日志数据都需纳入到监控的范围之内.日志分析与监控,这事说大不大,说小也不小.传统的ES开源解决方案虽然节约了应用成本,但对应的人力维护成本较高.这个中的辛酸故事毋需多言.在此介绍一种商业日志分析解决方案--日志易.好不好用暂不评论,是否拿来对比试用也取决于各位心情.第一步自然是日志数据接入.数据源如何接入到日志易服务之中呢? 日志易的日志接入方式主要包括以下三种: 日志易Ag

开源中国源码学习(三)——Log日志上传

在AppStart中开启了一个服务LogUploadService用来上传应用程序的日志. 采用的是start的方式开启服务,代码如下: Intent uploadLog = new Intent(this, LogUploadService.class); startService(uploadLog); 一.功能介绍: 在服务LogUploadService被开启后,根据情况进行如下几种操作: 读取osc本地文件夹下的日志信息 如果日志信息为空,服务停止-- LogUploadService

flume实例二、监听目录日志上传到HDFS文件系统

一.概述 接实例一,实例一中server-aget是把日志上传保存到服务器上面,随着日志越来越大,公司启动了hadoop项目,需要把日志直接上传hdfs中保存,配置文件target_hdfs.conf如下: a2.sources = r2 a2.channels = c2 a2.sinks = k2 #source a2.sources.r2.type = avro a2.sources.r2.channels = c2 a2.sources.r2.compression-type = defl

Android学习能力之统计日志上传设计

一款软件就像一个孩子,不断的在学习,在探索,当孩子犯下错误的时候,我们可以去包容,当孩子犯不改的时候,获取他就不再让人喜欢,甚至是去抛弃他.人之常情的问题,也是做软件的我们需要去考虑的问题.同样孩子的成长速度和懂事程度也是我们非常关注的. 本章讲述Android日志上传功能,更快的更准确的将孩子的错误通知给我们,我们帮助孩子改正它的错误. 1.日志统计和日志存储 public static void record(Context context, String ex) { if (context

前端js上传文件后端C#接收文件

本文粗略的讲下前端文件上传和后端文件接收的原理 前端代码 html <form onsubmit="uploadFile(event)"> <input type="file" /> <button type="submit">文件上传</button> </form> js function uploadFile(event) { var files = event.target[0]

前端实现上传文件夹与文件夹名称的获取

最近再做一个标注类的项目,需求呢就是上传文件夹(内有n张图像),然后在系统中进行标注工作.前段时间已经把标注部分的交互写好了,原以为文件夹上传很好弄,结果费了半天的劲,网上有一些介绍,但是都不是太详细. 根据上搜索结果调研了一下,ie基本是实现不了文件夹的上传,因为是新装的系统,镜像里边没有ie,所以没法测试,按照网上的说法,ie中只有Edge这个浏览器版本可以实现,其他的主流浏览器我都测试了一下,windows环境下(谷歌.火狐.搜狗.360.QQ浏览器等主流浏览器都可以使用)只需要在<inp

phpcms前端页面上传文件

PHPCMS其实有一个叫做附件的模块,上传用的就是这个东西,现在我们来看一下对应的文件:phpcms\modules\attachment \attachments.php就是这个文件,大概在29行上(我用的PHPCMS版本号是Phpcms V9.5.8 Release 20140929)有下面一个方法: public function upload() { $grouplist = getcache('grouplist','member'); //获取缓存中身份分组的列表 if($this-

前端js上传文件 到后端接收文件

下面是前端js代码: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>File upload</title> </head> <body> <!-- // action="fileupload"对应web.xml中<se

前端限制上传文件的类型

今天在工作中遇到一个需求,需要在上传文件的时候限制上传文件的类型,比如上传图片的就只能上传图片类型的文件. 现将自己在开发中的代码放到我的博客里,以备在以后的开发中再次遇到.就可以直接使用了. 这里就放一个小demo了.代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> &l