查询winston日志返回空结果

时间:2015-02-01 00:34:56

标签: node.js express winston

我有一个非常基本的快递应用程序。我添加了winston而没有任何配置。我创建这样的日志消息:

require('winston').info('App started');

并且所有日志消息都进入app.out.log。当我vi进入文件时,我看到了

info: App started

所以使用winston的默认日志记录似乎工作正常。现在我想使用winston的查询api:

require('winston').query({}, function(err, results) {
    if (err) {
        res.status(400).json(err);
    } else {
        res.json(results);
    }
});

但结果是空的。医生说:

  

Winston支持使用类似Loggly的选项查询日志。见Loggly   搜索API。具体来说:File,Couchdb,Redis,Loggly,Nssocket和   HTTP。

由于默认传输是File,我希望结果不为空。任何想法都错了吗?

1 个答案:

答案 0 :(得分:1)

默认情况下,Winston仅使用ConsoleTransport。因此,如果要查询日志文件,则必须添加适当的传输(在此示例中使用的是文件传输)。

有一个例子:

var winston = require('winston');

winston.add(winston.transports.File, { filename: 'app.out.log' });

winston.info('App started');

winston.query({}, function(err, results) {
    if (err) {
      res.status(400).json(err);
  } else {
      res.json(results);
  }
});