在程序设计中日志是个很好的东西,经常帮助我们跟踪代码的运行情况,记录日志有助于我们维护管理我们的项目。
一般我们的日志在服务端,取得日志的方法也很简单,直接使用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方法留下日志。
找到客户端的路径在分析日志。