查询Winston日志

时间:2013-07-19 20:44:08

标签: node.js logging winston

我使用winston登录node.js应用程序。

我看到query有选项。

该示例显示了如何使用from和to中的选项。

我的问题是

  1. 还有哪些其他选择?
  2. 如何指定应查询的文件?

2 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。

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

以下是一个快速摘要:

  

options.rows,options.limit =返回多少结果。默认是   10;

     

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

     

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

     

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

     

options.order = or' asc'或者' desc'订购。默认是' desc'

     

options.fields =要返回的字段。默认是未定义的(哪个   全部返回)

答案 1 :(得分:4)

以下是查询文件记录器+可用选项的示例。主要缺点(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