最近在调试 Node.js 应用,我需要一个简单的方法,把调试信息输出到文件里,这样在编辑器里打开日志文件,检查调试信息更方便一些。我用的是 log4js,它可以让我们把调试日志输出到控制台,文件,Redis,SMTP 等等。
安装
安装 log4js,在 Node.js 项目下面执行:
npm install log4js --save
使用
先导入 log4js:
const log4js = require('log4js')
再去创建一个 logger:
log4js.configure({ appenders: { file: { type: 'file', filename: 'app.log', layout: { type: 'pattern', pattern: '%r %p - %m', } } }, categories: { default: { appenders: ['file'], level: 'debug' } } }) const logger = log4js.getLogger()
appenders 就是输出日志的一些地方,我们添加了一个叫 file 的 appender,它的 type 就是类型是 file,意思就是把日志输出到某个文件里,filename 设置了这个日志文件的名字。
日志输出的格式我们用 layout 自己定制了一下,type 是 pattern ,然后可以设置日志的 pattern,就是模式。模式里的百分号开头的东西表示的是一些在日志里出现的信息。%r 指的是时间,%p 是日志的级别,%m 指的是输出的日志本身。
下面就可以使用创建的这个 logger 了:
logger.debug('debug log ~') logger.info('info log ~') logger.warn('warn log ~') logger.error('error log ~') logger.fatal('fatal log ~')
这样在项目下面,会创建一个叫 app.log 的日志文件,里面会包含日志信息。
在 Atom 编辑器上安装 language-log 插件,可以高亮显示日志信息。
相关资源
- log4js npm package
- log4js 文档
- language-log
- Node.js 课程