一、前言
在项目开发中常需要打印一些log,常规的console.log()只是将信息反映在了浏览器的控制台中,是“一次性”的信息。为了查看历史日志,就需要做日志记录留存。
实际项目是基于nodejs的vue项目,使用的日志记录工具是4.1.0版本的log4js。具体需求是为了记录常规日志,剥离错误日志,在有某些功能运行出错时快速通过记录的日志信息定位问题。
二、实现log4js记录日志(以日期划分日志文件的方式)
1、安装log4js
1 2 3 4 5 | // 注意:如果只执行npm install XXX,没有指定安装到那种环境下的“后缀”,就会发现node-modules中安装了,但是package.json中没有的情况。 // 1、保存到开发依赖(devDependencies): npm install log4js @4.1.0 --save-dev // 2、保存到生产依赖(dependencies): npm install log4js @4.1.0 --save |
2、配置log4js
log4js应用方式类似于一个“公共函数”,需要对其“配置、声明”,由于我要在很多地方使用,所以新建了一个单独的js文件对其进行配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // 文件名: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'); |
3、应用
在“2、配置log4js”中定义的logger变量相当于一个“函数名”,当你在全局引入了这个js之后,你就可以在你项目代码的任何地方用
1 | logger.info('XXX'); |
记录输出你想要的信息到指定的文件中了
三、说明
1、log4js默认的日志级别
all2、log4js支持的输出形式(类型)
log4js支持多种日志输出形式,打印到控制台、输出到文件、传输到服务器、以邮件形式发送日志等。如:console、dateFile、file、stderr等等。
参考链接
log4js-node
log4js日志管理模块配置
log4js 将日志输出到文件
欢迎大家一起讨论、学习。