如何将Connect/Express的记录器输出输出到Winston?

lit*_*m84 40 logging connect node.js express

我正在创建一个Node.js应用程序,我正在使用Winston进行大多数日志记录.我也知道Connect/Express记录器功能并且知道它有一个流选项...是否可以将Connect/Express的记录器功能输出到Winston?...那么我可以拥有我需要的所有有用的日志记录吗?

我发现Connect/Express的日志记录很有用,但目前两者有点分开......我宁愿让它全部通过Winston运行它的传输.

怎么可能?谢谢,詹姆斯

set*_*ack 69

以下是我为解决这个问题所做的工作.基本上使用connect/express记录器模块中的stream选项将消息传递到winston.我选择使用winston.info日志记录级别,使用任何对你有意义的级别.

var winston = require('winston');
var express = require('express');

var app = express.createServer();

// enable web server logging; pipe those log messages through winston
var winstonStream = {
    write: function(message, encoding){
        winston.info(message);
    }
};
app.use(express.logger({stream:winstonStream}));

// now do the rest of your express configuration...
Run Code Online (Sandbox Code Playgroud)

  • 具体来说,它应该是`winston.info(message.slice(0,-1));` (10认同)
  • 请记住选择该消息,以免在日志中出现换行符 (3认同)