我有一个非常基本的快递应用程序。我添加了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,我希望结果不为空。任何想法都错了吗?
答案 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);
}
});