Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js连接记录器用法_Node.js_Logging_Connect - Fatal编程技术网

Node.js连接记录器用法

Node.js连接记录器用法,node.js,logging,connect,Node.js,Logging,Connect,我正在尝试使用node.js connect中间件logger()框架 app.use(connect.logger("dev")); 这段代码为每个请求放置一个日志。我想调试代码并以以下格式将其写入日志文件(由connectlogger支持,这里是dev)。这个调试语句可以来自代码的任何模块,我需要访问logger()方法,并将我的对象作为参数,让logger()写入日志文件/stdout 但是在看到logger.js(中间件)的代码时,它绑定了将stream/stdout的日志数据写入

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

  app.use(connect.logger("dev"));
这段代码为每个请求放置一个日志。我想调试代码并以以下格式将其写入日志文件(由connectlogger支持,这里是dev)。这个调试语句可以来自代码的任何模块,我需要访问logger()方法,并将我的对象作为参数,让logger()写入日志文件/stdout

但是在看到logger.js(中间件)的代码时,它绑定了将stream/stdout的日志数据写入res.end对象的功能,这意味着它只执行一次

是否有任何方法可以从代码的任何位置调用logger方法(如果通过全局导出) 并且像这样使用

      //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()语句进行跟踪。 团队成员,我非常感谢任何人能为我们解释清楚。

欢迎

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

相反,它会自动在每个屏幕上输出自己的“预定义”消息 请求

请尝试或查找自定义日志

在sencha文档中,它们解释了如何自定义此预定义消息,以及如何向其中添加您自己的值

但是,如果您只是在寻找一种定制的日志格式,那么有一些非常好的模块

搜索