一款nodejs中的日志输出插件
封装以及简单使用
封装
const log4js = require('log4js')
const level = {
trace: log4js.levels.TRACE,
debug: log4js.levels.DEBUG,
info: log4js.levels.INFO,
warn: log4js.levels.WARN,
error: log4js.levels.ERROR,
fatal: log4js.levels.FATAL,
}
log4js.configure({
appenders: {
// 追加器
console: {
// 输出方式
type: 'console',
},
info: {
type: 'file',
filename: 'logs/InfoLog.log',
},
error: {
type: 'dateFile', // 有很多种状态,详见官网
filename: 'logs/log',
pattern: 'yyyy-MM-dd.log',
alwaysIncludePattern: true, // 设置文件名称为 filename + pattern
},
},
categories: {
default: {
// 默认存在的
appenders: ['console'], // 可输出的方式(传上面定义好的名字)
level: 'debug', // 触发级别
},
info: {
// 自定义的info
appenders: ['info'],
level: 'info',
},
error: {
// 自定义的error
appenders: ['error'],
level: 'error',
},
},
})
exports.debug = (content) => {
let logger = log4js.getLogger()
logger.level = level.debug
logger.debug(content)
}
exports.info = (content) => {
let logger = log4js.getLogger('info')
logger.level = level.info
logger.info(content)
}
exports.error = (content) => {
let logger = log4js.getLogger('error')
logger.level = level.error
logger.error(content)
}
使用
const log4j = require('./utils/log4j')
app.use(async (ctx, next) => {
await next()
log4j.info('我的日志')
})