Как отфильтровать бунянский журнал по дате?

Получил бунянский бревно, вот примерная запись

[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
    }

ОК, я хочу найти все записи после этого:

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 год ничего не сделала.

Так что же я делаю не так с фильтрацией даты?

2 ответа

Время в JSON хранится в виде строки. Поэтому вам нужно конвертировать его перед сравнением.

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

Похоже, что ответом является фильтрация перед вызовом 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, хотя.

Другие вопросы по тегам