在项目开发中常需要打印一些log,常规的console.log()只是将信息反映在了浏览器的控制台中,是“一次性”的信息。为了查看历史日志,就需要做日志记录留存。 实际项目是基于nodejs的vue项目,使用的日志记录工具是4.1.0版本的log4js。具体需求是为了记录常规日志,剥离错误日志,在有某些功能运行出错时快速通过记录的日志信息定位问题。
log4js应用方式类似于一个“公共函数”,需要对其“配置、声明”,由于我要在很多地方使用,所以新建了一个单独的js文件对其进行配置:
// 文件名:log4js.js var log4js = require('log4js'); log4js.configure({ appenders: { production: { type: 'dateFile', // 日志输出类型,dateFile表示输出到文件 filename: 'demo.log', // 输出到文件的文件路径,注意,是路径而不是文件名! alwaysIncludePattern: true, // 日志文件是否展示预设的模式 keepFileExt: true, // 日志文件是否始终保持后缀 daysToKeep: 30, // 日志保存时间,默认值为0,表示一直保存 } }, categories: { default: { appenders: [ 'production' ], level: 'info' } } }); var logger = log4js.getLogger(); // 下面这行代码是测试代码,我将这个js文件引入到了html文件中。如果一切正常,启动项目后你会看到项目根目录下生成了一个类似于名为“demo.2020-10-20.log”的日志文件,里面就有你这行输出的信息。 logger.info('this is a info3');在“2、配置log4js”中定义的logger变量相当于一个“函数名”,当你在全局引入了这个js之后,你就可以在你项目代码的任何地方用
logger.info('XXX');记录输出你想要的信息到指定的文件中了
all<trace<debug<info<warn<error<fatal<mark<off。当“2、配置log4js”中categories中的level指定为info,只允许输出info级别以上的日志,也就是all、trace、debug三个级别的日志不会被输出。
log4js支持多种日志输出形式,打印到控制台、输出到文件、传输到服务器、以邮件形式发送日志等。如:console、dateFile、file、stderr等等。
参考链接 log4js-node log4js日志管理模块配置 log4js 将日志输出到文件
欢迎大家一起讨论、学习。