撸项目的时候,怎么能少了日志这个必不可少的润滑剂呢~
**看别人写的文档然后实践还是花了些时间的(BOSS已经开始准备油盐酱醋了@_@)**
- 使用步骤比较简单:
- 安装包(npm install log4js)
- 创建好保存日志的目录,不会自动创建,没有的话运行会报错的;示例:project/logs
- 编写日志输出规则的配置文件(有缺省),可以是json格式也可以是js;示例:log4js.json ,下面有贴代码
- 加载配置文件,获取调用;示例:log4js.configure(‘log4js.json’)
- 选择需要用的配置去写日志;示例:log4js.getLogger(‘log_file’).debug(‘天啦噜’)
贴代码
log4js.json
{
"appenders": //配置输出源,真正输出日志的对象就是appenders的下属子项标注的输出源
[
{
"type":"console", //日志输出类型
"category":"console" //这个是日志名字,不配置category的时候,任何getLogger 都会把所有没有配置category的输出源都调用
},
{
"category":"log_file",
"type": "file",
"filename": "./logs/log_file/file.log", //日志输出文件目录
"maxLogSize": 104800, //日志字节最大字节数,超过会创建新文件
"backups": 100 //达到backups时会把最旧的删除
},
{
"category":"log_date",
"type": "dateFile",
"filename": "./logs/log_date/date",
"alwaysIncludePattern": true, //是否使用pattern属性,默认true
"pattern": "-yyyy-MM-dd hh-mm-ss.log", //追加时间文件名
"pattern": "-yyyy-MM-dd hh:mm:ss.log" //后面的会覆盖前一个,:冒号需要中午,英文会出事的
}
],
"replaceConsole": true, //是否把console的log/error以log的规则输出
"levels":
{
"log_file":"error", //日志输出级别
"log_date":"error"
}
}
logdemo.js
var log4js = require("log4js");
// var conf = require("./log4jsdemo.json");
var conf = require("./logjs");
log4js.configure(conf);
var log_file = log4js.getLogger('log_file');
var log_console = log4js.getLogger("console");
var log_date= log4js.getLogger('log_date');
log_console.trace('Entering cheese testing');
log_console.debug('Got cheese.');
log_console.info('Cheese is Comté.');
log_console.warn('Cheese is quite smelly.');
log_console.error('Cheese is too ripe!');
log_console.fatal('Cheese was breeding ground for listeria.');
更详细的请参考片头的博文或者点这!先写这把~以后在补 QAQ