nodejs整合log4js输出日志文件

Posted mlzdev

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs整合log4js输出日志文件相关的知识,希望对你有一定的参考价值。

引入log4js依赖,配置类如下:
const log4js = require(‘log4js‘);
log4js.configure(
replaceConsole: true,
pm2: true,
appenders:
stdout: //控制台输出
type: ‘console‘
,
req: //请求转发日志
type: ‘dateFile‘, //指定日志文件按时间打印
filename: ‘../logs/reqlog/req‘, //指定输出文件路径
pattern: ‘yyyy-MM-dd.log‘,
alwaysIncludePattern: true
,
err: //错误日志
type: ‘dateFile‘,
filename: ‘../logs/errlog/err‘,
pattern: ‘yyyy-MM-dd.log‘,
alwaysIncludePattern: true
,
oth: //其他日志
type: ‘dateFile‘,
filename: ‘../logs/othlog/oth‘,
pattern: ‘yyyy-MM-dd.log‘,
alwaysIncludePattern: true


,
categories:
//appenders:采用的appender,取appenders项,level:设置级别
default: appenders: [‘stdout‘, ‘req‘], level: ‘debug‘ ,
err: appenders: [‘stdout‘, ‘err‘], level: ‘error‘ ,

);


exports.getLogger = function (name) //name取categories项
return log4js.getLogger(name || ‘default‘)
;

exports.useLogger = function (app, logger) //用来与express结合
app.use(log4js.connectLogger(logger || log4js.getLogger(‘default‘),
format: ‘[:remote-addr :method :url :status :response-timems][:referrer HTTP/:http-version :user-agent]‘//自定义输出格式
))
;
使用:
const logger = log4js.getLogger();
const errLog = log4js.getLogger(‘err‘);
打印debug级别的日志信息:
logger.info(‘req的值是:‘ + req);
打印error级别的日志信息:
errLog.error(e);



以上是关于nodejs整合log4js输出日志文件的主要内容,如果未能解决你的问题,请参考以下文章

记录SpringBoot 2.X整合Log4j没有输出INFODEBUG等日志信息解决方案

利用logback+slf4j日志采集整合到SBA

NodeJS写日志_Log4js使用详解

Log4J日志整合及配置详解

如何用log4j输出多个自定义日志文件

玩转Nodejs日志管理log4js(转)