查询Winston日志

Ana*_*man 5 logging node.js winston

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

我看到有查询它的选项.

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

我的问题是

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

Joe*_*ieu 5

我遇到了同样的问题.

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

这是一个快速摘要:

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

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

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

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

options.order ='asc'或'desc'顺序.默认是'desc'

options.fields =要返回的字段.default是undefined(返回all)


dVa*_*ion 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);
});
Run Code Online (Sandbox Code Playgroud)

PS 顺便说一句,这是一个有关查询日志的未决问题