8

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

我看到有查询它的选项。

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

我的问题是

  1. 其他选择是什么?
  2. 如何指定应查询的文件?
4

2 回答 2

6

我遇到了同样的问题。

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

这是一个快速的总结:

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

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

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

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

options.order = 'asc' 或 'desc' 顺序。默认为“降序”

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

于 2013-08-06T04:26:13.217 回答
5

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

PS BTW,这是一个关于查询日志的未解决问题。

于 2014-02-24T04:29:59.083 回答