【问题标题】:Node.js Connect logger usageNode.js 连接记录器使用
【发布时间】:2014-01-15 10:02:00
【问题描述】:

我正在尝试使用 node.js 连接中间件 logger() 框架。

  app.use(connect.logger("dev"));

此代码为每个请求放置一个日志。我想调试代码并将其写入格式的日志文件(由连接记录器支持,在这里说开发)。此调试语句可以来自我需要访问 logger() 方法并将我的对象作为参数并让 logger() 写入日志文件/标准输出的任何代码模块。

但是看到logger.js(middleware)的代码,它绑定了将stream/stdout的日志数据写入res.end对象的功能,即只执行一次。

有没有办法从代码的任何地方调用记录器方法(如果通过全局导出) 并使用like。

      //test.js module 
      logger("some parameter")

请在lib文件logger.js中查看logger()调用的返回值

  return function logger(req, res, next) {
    req._startTime = new Date;
// immediate
if (immediate) {
  var line = fmt(exports, req, res);
  if (null == line) return;
  stream.write(line + '\n');
// proxy end to output logging
} else {
  var end = res.end;
  res.end = function(chunk, encoding){
    res.end = end;
    res.end(chunk, encoding);
    var line = fmt(exports, req, res);
    if (null == line) return;
    stream.write(line + '\n');
  };
}


next();

目前,我正在使用 console.log() 语句进行跟踪。 团队,如果有人能阐明它,我非常感谢。

【问题讨论】:

    标签: node.js logging connect


    【解决方案1】:

    欢迎!

    连接记录器不会修改 console.log 或监听 stdout/stderr 输出。

    相反,它会自动在每个 请求。

    尝试使用winstonlog4js-node 获取自定义日志。

    在 sencha 文档 http://www.senchalabs.org/connect/logger.html 中,他们解释了如何自定义此预定义消息,以及如何向其中添加您自己的值。

    但是,如果您只是在寻找自定义日志格式,那么确实有很好的模块。

    搜索"colors" in the npm page

    【讨论】:

      猜你喜欢
      • 2017-10-06
      • 1970-01-01
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      相关资源
      最近更新 更多