在Nodejs中使用表达框架并没有自带的日志模块,我们可以选择log4j来完成日志记录的功能。
如果用过JAVA中log4j的同学,肯定对日志并不陌生,学习log4j会更得心应手的。
项目要用log4j记录日志,网上找的教程都是很久以前的,新版本log4j跟旧版本有一些不同,看文档结合旧版本配置了能用的log4j,记录一下,当前log4j版本2.3.12,采用按天分片的方式,同时输出到控制台和文件。
log4j单独配置到一个文件,其他要使用的引用这个文件。
<强> log-config.js: 强>
const log4j=要求(log4j) log4js.configure ({ replaceConsole:没错, 输出源:{ stdout:{//控制台输出 类型:“标准输出” }, 点播:{//请求日志 类型:“dateFile”, 文件名:日志/reqlog/, 模式:“req-yyyy-MM-dd.log”, alwaysIncludePattern:真 }, 错:{//错误日志 类型:“dateFile”, 文件名:日志/errlog/, 模式:“err-yyyy-MM-dd.log”, alwaysIncludePattern:真 }, 另外:{//其他日志 类型:“dateFile”, 文件名:日志/othlog/, 模式:“oth-yyyy-MM-dd.log”, alwaysIncludePattern:真 } }, 类别:{ 默认值:{输出源:“标准输出”,“要求”,水平:“调试”},//输出源:采用的appender,取输出源项,水平:设置级别 犯错:{输出源:“标准输出”、“犯错”,水平:“错误”}, 另外:{输出源:“标准输出”、“本地”,水平:‘信息’} } }) 出口。getlog=function(名字){//名字取类别项 返回log4j。getlog(名称| |“违约”) } 出口。useLogger=函数(应用,记录器){//用来与表达结合 app.use (log4j。connectLogger (logger | | log4js.getLogger(“违约”),{ 格式:“[:remote-addr:方法:url:状态:response-timems][:推荐人HTTP/: HTTP版本:用户代理)”//自定义输出格式 })) }
<强>使用:强>
const log4j=要求(“。/log-config”) const记录器=log4js.getLogger()//根据需要获取日志记录器 const errlogger=log4js.getLogger(“犯错”) const othlogger=log4js.getLogger (oth)//结合表达使用,记录请求日志 应用=表示() 记录器log4js.useLogger (app)//这样会自动记录每次请求信息,放在其他使用上面//手动记录,可以代替console.log logger.info(“测试信息1”) errlogger。犯错(“测试误差1”) othlogger.info(测试信息2)
新版本的类别不再包含在输出源里面,而是放在与输出源同级的类别里面,输出源要有名字,用来指定类别每一项的appender,日志等级改为在类别的每一项里面设置。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。