express
模块简单集成了一个日志模块morgan
,能够将请求的一些消息打印在后台终端上,然而在实际的生产系统中,咱们一般须要更完备的日志功能,以便供运维人员按期查看。git
这里简单介绍winston
模块的引入,实现最简单的日志写入文件功能,首先项目中安装模块,以下命令:github
npm install --save express-winston npm install --save winston
而后在项目app.js
文件中引入对应的模块,以下代码所示:express
var winston = require('winston'); var expressWinston = require('express-winston'); // 正常请求的日志 app.use(expressWinston.logger({ transports: [ new (winston.transports.Console)({ json: true, colorize: true }), new winston.transports.File({ filename: 'logs/success.log' }) ] })); // 正常访问路由 routes(app); // 错误请求的日志 app.use(expressWinston.errorLogger({ transports: [ new winston.transports.Console({ json: true, colorize: true }), new winston.transports.File({ filename: 'logs/error.log' }) ] }));
日志文件分为success.log
和error.log
,放在正常路由以前则为成功日志,放在正常访问路由以后,则为错误日志。如不需过多功能,这样放进项目里便可,详细了解可查看官方文档: winstonjs/winston: A logger for just about everything.npm