Подтвердить что ты не робот

Как добавить даты в журналы ошибок pm2?

Есть ли способ добавить отметки времени в журналы ошибок в .pm2/logs?

Я заметил, что команда pm2 logs показывает агрегированные журналы с отметками времени, но просматривает файлы журналов - есть только сообщения и стеки, без дат.

enter image description here

4b9b3361

Ответ 1

В соответствии с этой проблемой и этот коммит вы можете использовать:

pm2 start app.js --log-date-format 'DD-MM HH:mm:ss.SSS'

где 'DD-MM HH:mm:ss.SSS' - любой допустимый формат momentjs.

Ответ 2

Согласно справке командной строки (pm2 logs -h) при запуске команды pm2 logs --timestamp следует добавить метку времени в журналы. Однако это, похоже, не влияет на старые журналы! Видимо только новые журналы отображаются с отметкой времени.

Чтобы исправить эту проблему, передайте --log-date-format="YYYY-MM-DD HH:mm Z" в pm2 в качестве параметра. Например:

pm2 start bin/www --log-date-format="YYYY-MM-DD HH:mm Z"

Использование process.json

Мне нравится process.json для удобства запуска моего приложения, поэтому мой process.json содержит следующее:

{
  "apps" : [
    {
      "name"        : "app",
      "script"      : "bin/www",
      "log_date_format" : "YYYY-MM-DD HH:mm Z"
    }
  ]
}

затем я запускаю свое приложение, просто запустив:

pm2 start process.json

После этого я вижу, что timestamp показывается только при запуске: pm2 logs Обратите внимание, что мне не нужно было указывать --timestamp, чтобы увидеть отметку времени.

app (out): 2016-08-04 13:46 +01:00: My log here

Хорошее чтение: http://pm2.keymetrics.io/docs/usage/log-management/

Ответ 3

pm2 start app.js --log-date-format "YYYY-MM-DD HH:mm"

Ответ 4

Я использую PM2, но мне не очень нравятся журналы. Вместо этого я использую bunyan, что дает массу гибкости при регистрации. Если вы npm установите его с помощью --global, вы также можете использовать его как средство просмотра в реальном времени:

Однако это не приведет к метке вашего вывода console.log. Но если вы конвертируете в log.info() или любую другую функцию журнала Bunyan, вы получите хороший журнал.

Чтобы просмотреть живые записи pm2 с помощью bunyan, просто выполните его:

pm2 logs | bunyan

Ответ 5

Чтобы использовать стандартную отформатированную метку времени:

pm2 start app.js --time

Или, если вы хотите добавить префикс журналов к пользовательской отформатированной метке времени:

pm2 start app.js --log-date-format <format>

Где <format> - это формат отображения момента (например, YYYY-MM-DD HH:mm Z).

И если ваше приложение уже запущено, вы можете использовать reload для reload с периодом простоя 0 секунд:

pm2 reload app.js --time

Или же

pm2 reload app.js --log-date-format <format>

Ответ 6

Для process.yml следуйте приведенному ниже примеру формата. Это сработало для меня

 apps:
  - script   : ./SampleApi/app.js
    name     : 'api-proxy-app'
    instances: 2
    exec_mode: cluster
    watch  : true
    log_date_format : "YYYY-MM-DD HH:mm Z"

Пример журнала в формате DateTime:

2019-07-28 13:46 +06:00: channel created for cancel mandate--####################################
2019-07-28 13:46 +06:00: channel created for cancel mandate--####################################
2019-07-28 13:46 +06:00: channel created for exception scenario--####################################
2019-07-28 13:46 +06:00: channel created for create mandate--####################################
2019-07-28 13:46 +06:00: create channel initiated for cancel mandate--------------------->
2019-07-28 13:46 +06:00: create channel initiated for create mandate--------------------->
2019-07-28 13:46 +06:00: create channel initiated for update mandate--------------------->

Использование --log-date-format не помогло мне.