Node.js日志插件log4js基础封装
封装log4js功能:根据不同级别的错误信息例如:debug、info、error,将其输出到控制台或是存储到日志文件中。实现:对log4js进行追加器和追加器种类的配置,通过函数的形式将其导出并调用/*** @description: 日志存储*/const log4js = require('log4js')// log4js 常量const levels = {'trace': log4js
·
封装log4js
功能:根据不同级别的错误信息例如:debug、info、error,将其输出到控制台或是存储到日志文件中。
实现:
对log4js进行追加器和追加器种类的配置,通过函数的形式将其导出并调用
/**
* @description: 日志存储
*/
const log4js = require('log4js')
// log4js 常量
const levels = {
'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 配置
log4js.configure({
// 定义追加器
appenders: {
// 输出到控制台
console: { type: 'console' },
// 输出到文件
info: { type: 'file', filename: 'logs/all-logs.log' },
// 文件名按天存储
error: {
type: 'dateFile',
filename: 'logs/log',
pattern: 'yyyy-MM-dd.log',
// 指定当前日志文件名的形式为 filename + pattern
alwaysIncludePattern: true
}
},
// 定义追加器输出种类
categories: {
// 默认的 getLogger
default: { appenders: ['console'], level: 'debug' },
info: {
appenders: ['info', 'console'],
level: 'info'
},
error: {
appenders: ['error', 'console'],
level: 'error'
}
}
})
// 日志输出 级别 debug
exports.debug = (content) => {
let logger = log4js.getLogger('debug');
logger.level = levels.debug;
logger.debug(content)
}
// 日志输出 级别 error
exports.error = (content) => {
let logger = log4js.getLogger('error');
logger.level = levels.error;
logger.error(content)
}
// 日志输出 级别 info
exports.info = (content) => {
let logger = log4js.getLogger('info');
logger.level = levels.info;
logger.info(content)
}
使用:
// 引入封装的 log4js
const log4js = require('./utils/log4js.js')
// logger
app.use(async (ctx, next) => {
await next()
// 输出 info 级别的错误日志
log4js.info('log output')
})
// error-handling
app.on('error', (err, ctx) => {
// 输出 error 级别的错误日志
log4js.error(`${err.stack}`)
});
更多推荐


所有评论(0)