2013-07-19 115 views

回答

5

我遇到了同样的问题。

至少有一些选项可以在函数Transport.prototype.normalizeQuery的Winston's transport.js中找到。

这里有一个简单的总结:

options.rows,options.limit =多少的成绩来回报。默认为 10;

options.start =起始行偏移。默认为0

options.from =日期字符串或日期对象的起始限制。 现在默认为-24小时

options.until =用于结束限制的日期字符串或日期对象。默认 现在是

options.order ='asc'或'desc'的顺序。默认为'desc'

options.fields =要返回的字段。默认值是undefined(其中 全部返回)

3

以下是查询文件记录器+可用选项的示例。主要缺点(IMO)缺乏过滤。最有用的功能将按级别过滤,但唉...

"use strict"; 

var logFilename = __dirname + '/log/2014-02-24.log'; 

var winston = require('winston'); 
var logger = new (winston.Logger)({ 
    transports: [ 
     new (winston.transports.File)({ 
      filename: logFilename, 
      timestamp: true 
     }) 
    ] 
}); 

var options = { 
    from: new Date - 24 * 60 * 60 * 1000, 
    until: new Date, 
    limit: 10, 
    start: 0, 
    order: 'asc', 
    fields: ['message'] 
}; 
logger.query(options, function (err, result) { 
    if (err) { 
     throw err; 
    } 

    console.log(result); 
}); 

P.S.顺便说一句,这里是关于查询日志的open issue