我们用Node.js写Web API项目的时候,在不用到大型框架,而只是用像Express、Koa等这种微型框架来完成一些小型服务的时候很需要一个日志记录的功能,当然非Web项目也可以使用。
安装
yarn add log4js
你也可以使用Npm工具
npm i log4js
配置
utils/log.js
这是ES6写法,后续出Typescript (☄⊙ω⊙)☄
// 引入库
const log4js = require('log4js')
// 设置配置
log4js.configure({
appenders: {
// 选择打印到控制台
ruleConsole: {
type: 'console'
},
// 文件日志
ruleFile: {
type: 'dateFile',
// 这个目录是相对于根目录的,即与app.js 是同一级的
filename: 'logs/server',
pattern: 'yyyy-MM-dd.log',
// 最大大小
maxLogSize: 10 * 1000 * 1000,
numBackups: 3,
// 是否异步读写
alwaysIncludePattern: true
}
},
categories: {
default: {
appenders: ['ruleConsole', 'ruleFile'],,level: 'info'
}
}
});
// 注册
let logger = log4js.getLogger('normal')
export default logger
使用
- Node.js
const logger = require('utils/log')
logger.info('信息')
logger.error('错误')
logger.warn('警告')
logger.debug('调试')
logger.fatal('测试');
logger.trace('Entering app testing');
- Express
const log4js = require('log4js')
// 配置
.....
const logger = require('utils/log')
// 结合Express使用,记录请求日志
app.use(log4js.connectLogger(logger))
末尾
- log4js日志库地址:log4js-node
- log4js日志库文档:log4js