log4js 是一个 nodejs 日志管理工具,他可以将日志以各种形式输出到各种渠道。
npm install log4js --save
log4js 最重要的分为 3 个大模块 一是: appenders 二是 categories , 总体来说 appenders 指定往哪输出, categories 指定你的日志类型, 要启动 log4js 你需要先配置一下。
注意:如果你是使用 pm2 -i 启动需要配置 pm2:true
const log4js = require('log4js');
log4js.configure({
appenders: {
cheese: {
type: 'file',
filename: 'cheese.log'
},
out: {
type: 'stdout',
layout: {
type: 'basic'
}
}
},
categories: {
default: {
appenders: ['out'],
level: 'error'
},
mix: {
appenders: ['cheese', 'out'],
level: 'error'
}
},
pm2: true, //如果使用 pm2 -i 方式启动的 node 进程需要设置次为 true
});
const logger = log4js.getLogger('mix');
logger.level = 'debug'; // default level is OFF - which means no logs at all.
logger.trace('Entering cheese testing');
logger.debug('Got cheese.');
logger.info('Cheese is Gouda.');
logger.warn('Cheese is quite smelly.');
logger.error('Cheese is too ripe!');
logger.fatal('Cheese was breeding ground for listeria.');
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < MARK < OFF
可以看出一个 categories 可以带 n 个 appenders 也就是说,你可以同时向多个 appenders 写入(上例中 cheese 和 out )。 level 遵循以下级别顺序
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < MARK < OFF
级别低的 level 会打因所有级别高的,反之则忽略。