面试题答案
一键面试-
首先安装
winston
:npm install winston
-
然后在Node.js项目中进行如下配置:
const winston = require('winston'); const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ new winston.transport.Console(), new winston.transport.File({ filename: 'error.log', level: 'error' }), new winston.transport.File({ filename: 'info.log', level: 'info' }) ] }); module.exports = logger;
上述代码通过
winston.createLogger
创建一个日志记录器。level
设置为info
,表示默认记录info
及以上级别的日志。format
设置为winston.format.json()
,以JSON格式记录日志。transports
数组中定义了三个传输方式:new winston.transport.Console()
将日志输出到控制台。new winston.transport.File({filename: 'error.log', level: 'error'})
只将error
级别的日志输出到error.log
文件。new winston.transport.File({filename: 'info.log', level: 'info'})
只将info
级别的日志输出到info.log
文件。
在项目其他地方使用时,直接引入该
logger
实例,例如:const logger = require('./logger'); logger.info('这是一条info日志'); logger.error('这是一条error日志');