在一个项目当中,日志系统在项目中重要性在这里就不再累述,log4js是nodejs中的一个日志模块,通过设置其优先级别,可以打印出不同级别的日志,便于后续的系统分析。下面来介绍一下log4js的具体使用,这里介绍的版本为2.8.0。
安装很简单
npm install log4js -S
在项目的根目录添加一个log目录,在该目录中新建indexjs,开始配置log4js
var path = require("path");
const log4js = require('log4js');
log4js.configure({
appenders: {
cheese: {
type: 'file',
filename: 'cheese.log',
maxLogSize:10,//文件最大存储空间,当文件内容超过文件存储空间会自动生成一个文件test.log.1的序列自增长的文件
}
},
categories: { default: { appenders: ['cheese'], level: 'info' } }
});
const logger = log4js.getLogger('cheese');
module.exports=logger
filename部分可以设置输出的日志文件名称,直接写名称的话会自动创建在项目的根目录,如果想指定其路径,可以自行添加。
type部分设置生成的类型,有两种类型,一种是file,另一种是dateFile。file文件类型则为将日志生成到一个文件中,通过下面的maxLogSize来设置文件的最大值,当大于此值后,则自动创建一个新的文件来存储日志。
dateFile类型则是以天为单位,每天创建一个日志,可以根据自己的需要来判断具体使用哪种类型。
根据天来创建日志的配置代码如下:
var path = require("path");
const log4js = require('log4js');
log4js.configure({
appenders: {
cheese: {
type: 'dateFile',
filename: 'logs/cheese',
pattern: "-yyyy-MM-dd.log",
alwaysIncludePattern: true,
category: 'normal'
}
},
categories: { default: { appenders: ['cheese'], level: 'info' } }
});
const logger = log4js.getLogger('cheese');
module.exports=logger
categories部分设置了其优先等级为info,log4js 的输出级别: trace,debug,info,warn,error,fatal,设置为info后,则只会打印info及其后面的日志。
var express = require('express');
var router = express.Router();
const bodyParser = require("body-parser");
const cookieParser = require("cookie-parser");
var logger = require('../log')
router.get('/detailArticle',function(req,res,next){
loger.info(req.headers);
res.end("goodbye");
})
使用时直接引入,即可使用。