1

bunyan ログを取得しました。サンプル エントリは次のとおりです。

[2016-05-31T15:38:47.889Z] FATAL: jklajsd-utilities/23399 on aaa.bbb.ccc.com: 
    0: {
      "code": "EADDRINUSE",
      "errno": "EADDRINUSE",
      "syscall": "listen",
      "address": "0.0.0.0",
      "port": 5566
    }

OK、それ以降のすべてのエントリを検索したい:

bunyan /opt/aaa/.pm2/logs/cccc-out-15.log -c 'this.date >= new Date("2016-05-31T15:38:47.889Z")' 

結果がありません。も試してみthis.timeました。bunyan のドキュメントでtimeは、それが適切なフィールドであると書かれていますが、機能しません。new Date("2016-05-31T15:38:47.889Z")'有効です:

> new Date("2016-05-31T15:58:50.475Z")
Tue May 31 2016 08:58:50 GMT-0700 (PDT)

ログのフィルタリングは確かに機能しています。

$ bunyan /opt/aaa/.pm2/logs/cccc-out-15.log -c 'this.level === DEBUG ' |wc -l 
102455

$ bunyan /opt/aaa/.pm2/logs/cccc-out-15.log -c 'this.level === FATAL '|wc -l 
1679

年を 2015 に変更しても何も起こりませんでした。

では、日付フィルタリングで何が間違っているのでしょうか?

4

2 に答える 2

1

答えは、bunyan を呼び出す前にフィルタリングすることのようです:

cat /opt/xyz/.pm2/logs/whiskey-tango-out-15.log | grep "2016-10-11" | bunyan -o short

生成するもの:

[2016-10-11T22:33:08.836Z]  WARN: whiskey-tango/8828 on [redacted]: Post failed, retrying, count: 3
[2016-10-11T22:33:08.837Z]  WARN: whiskey-tango/8828 on [redacted]: Post failed, retrying, count: 2
[2016-10-11T22:33:08.837Z]  WARN: whiskey-tango/8828 on [redacted]: Post failed, retrying, count: 1
[2016-10-11T22:33:08.838Z]  WARN: whiskey-tango/8828 on [redacted]: Post failed, retrying, count: 3
[2016-10-11T22:33:08.838Z]  WARN: whiskey-tango/8828 on [redacted]: Post failed, retrying, count: 2
[2016-10-11T22:33:08.838Z]  WARN: whiskey-tango/8828 on [redacted]: Post failed, retrying, count: 2
[2016-10-11T22:33:08.839Z]  WARN: whiskey-tango/8828 on [redacted]: Post failed, retrying, count: 6
[2016-10-11T22:33:08.839Z]  WARN: whiskey-tango/8828 on [redacted]: Post failed, retrying, count: 3

私のために働きます。ただし、bunyanコマンドラインで実行できるようです。

于 2016-11-21T18:24:01.880 に答える