前端日志探讨一
2015-11-12 16:10
183 查看
在程序设计中日志是个很好的东西,经常帮助我们跟踪代码的运行情况,记录日志有助于我们维护管理我们的项目。
一般我们的日志在服务端,取得日志的方法也很简单,直接使用log4这样的类库就可以很好的完成所需任务。但是在特殊情况下我们可能会需要B/S架构的系统给我们留一个前端的日志。下面来探讨一二。
首先客户端可能是我们未知范围的。这种我们后续再讨论。先讨论客户端在我们控制范围内的日志。如公司内部的流程系统等内部系统。
如果你公司是不练外网的内部系统。切使用IE浏览器做为主浏览器。那可以尝试使用IE自带的Actionx控件来实现在客户端留一个前端操作日志。因为这个插件允许我们使用脚本操作本地的一些文件。
一、先打开IE浏览器,Internet选项>安全>自定义级别>ActiveX控件和插件设置为启用。
二、使用脚本调用ActiveX控件。如下方法:
//日志方法
function JSLog(message, option) {
try{
var ForAppending = 8;
var strFile = "D://SoftJSLog" + new Date().Format("yyyy-MM-dd") + ".txt";
var objFSO = new ActiveXObject("Scripting.FileSystemObject");
// 检查文件是否存在
if (objFSO.FileExists(strFile)) {
// 打开文本文件
objStream = objFSO.OpenTextFile(strFile, ForAppending, true, false);
// 写入字符串数据
if (option == "1") {
objStream.WriteLine(message + " 开始时间:" + new Date().Format("yyyy-MM-dd hh:mm:ss"));
}
else {
objStream.WriteLine(message + " 结束时间:" + new Date().Format("yyyy-MM-dd hh:mm:ss"));
}
objStream.Close(); // 关闭文件
}
else {
var objStream = objFSO.CreateTextFile("D://SoftJSLog" + new Date().Format("yyyy-MM-dd") + ".txt", true);
// 写入字符串数据
if (option == "1") {
objStream.WriteLine(message + " 开始时间:" + new Date().Format("yyyy-MM-dd hh:mm:ss"));
}
else {
objStream.WriteLine(message + " 结束时间:" + new Date().Format("yyyy-MM-dd hh:mm:ss"));
}
objStream.Close(); // 关闭文件
}
}
catch (e)
{
//alert(e);
}
}
三、调用js方法留下日志。
找到客户端的路径在分析日志。
一般我们的日志在服务端,取得日志的方法也很简单,直接使用log4这样的类库就可以很好的完成所需任务。但是在特殊情况下我们可能会需要B/S架构的系统给我们留一个前端的日志。下面来探讨一二。
首先客户端可能是我们未知范围的。这种我们后续再讨论。先讨论客户端在我们控制范围内的日志。如公司内部的流程系统等内部系统。
如果你公司是不练外网的内部系统。切使用IE浏览器做为主浏览器。那可以尝试使用IE自带的Actionx控件来实现在客户端留一个前端操作日志。因为这个插件允许我们使用脚本操作本地的一些文件。
一、先打开IE浏览器,Internet选项>安全>自定义级别>ActiveX控件和插件设置为启用。
二、使用脚本调用ActiveX控件。如下方法:
//日志方法
function JSLog(message, option) {
try{
var ForAppending = 8;
var strFile = "D://SoftJSLog" + new Date().Format("yyyy-MM-dd") + ".txt";
var objFSO = new ActiveXObject("Scripting.FileSystemObject");
// 检查文件是否存在
if (objFSO.FileExists(strFile)) {
// 打开文本文件
objStream = objFSO.OpenTextFile(strFile, ForAppending, true, false);
// 写入字符串数据
if (option == "1") {
objStream.WriteLine(message + " 开始时间:" + new Date().Format("yyyy-MM-dd hh:mm:ss"));
}
else {
objStream.WriteLine(message + " 结束时间:" + new Date().Format("yyyy-MM-dd hh:mm:ss"));
}
objStream.Close(); // 关闭文件
}
else {
var objStream = objFSO.CreateTextFile("D://SoftJSLog" + new Date().Format("yyyy-MM-dd") + ".txt", true);
// 写入字符串数据
if (option == "1") {
objStream.WriteLine(message + " 开始时间:" + new Date().Format("yyyy-MM-dd hh:mm:ss"));
}
else {
objStream.WriteLine(message + " 结束时间:" + new Date().Format("yyyy-MM-dd hh:mm:ss"));
}
objStream.Close(); // 关闭文件
}
}
catch (e)
{
//alert(e);
}
}
三、调用js方法留下日志。
找到客户端的路径在分析日志。
相关文章推荐
- 《jQuery源码解析》读书笔记(第二章:构造jQuery对象)
- 《jQuery源码解析》读书笔记(第一章:总体架构)
- js中typeof与instanceof
- JSP中的TAG
- 有关jquery jqgrid的一些操作
- js计时器实现计时setInterval
- js-Higher-base.js
- js-MediumGrade-base.js
- 常用的js方法(手机类型,汉字计数,url参数)
- 鼠标放到图片上替换图片,改变样式。
- js事件委托和jQuery事件绑定on , off , one , bind , unbind , die
- jQuery源码学习3——工具方法篇
- js分享插件
- web前端,jquery对元素及属性进行获取,设置,添加,删除
- css中奇怪的地方
- 怎么选择公司???MVC加jquery-easyui 后端工程师
- 依赖服务 factory()在angularJS的用法
- 图片翻页效果引出的animate.css,很好玩,多动动吧~
- Java8 Nashorn JavaScript引擎
- JQuery Show()的几种效果 总有一种是你需要的