查询winston日志returns空结果

Query winston log returns empty result

我有一个非常基本的快递应用程序。我在没有任何配置的情况下添加了 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 supports querying of logs with Loggly-like options. See Loggly Search API. Specifically: File, Couchdb, Redis, Loggly, Nssocket, and Http.

并且由于默认传输是文件,因此我希望结果不为空。有什么想法吗?

默认情况下,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);
  }
});