//日常异常写日志
需要用到模块
moment = require('moment');
util= require('util');
os = require('os');
format方法用于封装和格式化异常信息
var format=function(msg)
{
var ret='';
if(!msg)
{
return ret;
}
var date=moment();
var time=date.format('YYYY-MM-DD HH:mm:ss.SSS');
if(msg instanceof Error)
{
var err={
name:msg.name,
data:msg.data
};
err.start=msg.stack;
ret=util.format('%s %s:%s\nHost:%s\nData:%j\n%s\n\n',
time,
err.name,
err.stack,
os.hostname(),
err.data,
time
);
console.log(ret);
}else
{
ret=time+''+util.format.apply(util,arguments)+'\n';
}
return ret;
};
我们在异常出现时可以将调用时的数据传递给格式化方法,然后记录下来
var input='{error:format}';
try{
json.parse(input);
}catch(ex)
{
ex.data=input;
Logger.error(format(ex));
}
这里的日志管理我们利用log4js(这里需要引入log4js模块)
log4js.configure({
<span style="white-space:pre"> </span>appenders:[
<span style="white-space:pre"> </span> {type:'file',filename:'logs/log4js.log','maxLogSize':2048,'backups':3},
<span style="white-space:pre"> </span>]
});
var Logger = log4js.getLogger(path.basename(__filename));
附:安装模块的方法 npm install moment 模块名</span>