web-dev-qa-db-ja.com

pm2エラーログに日付を追加する方法は?

.pm2/logsのエラーログにタイムスタンプを追加する方法はありますか?

きがついた pm2 logsコマンドは、タイムスタンプ付きの集約ログを表示しますが、ログファイルを調べます-日付のないメッセージとスタックトレースのみがあります。

enter image description here

57
Plastic Rabbit

この問題このコミット に従って、以下を使用できます。

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

ここで、'DD-MM HH:mm:ss.SSS'は任意のmomentjs有効な形式です。

66
AbdelHady

コマンドラインヘルプ(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

完了したら、次のコマンドを実行するだけでタイムスタンプが表示されます:pm2 logsタイムスタンプを表示するために--timestampを指定する必要がないことに注意してください。

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

良い読み物: http://pm2.keymetrics.io/docs/usage/log-management/

34
Raptor

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

7
Randost

私はPM2を使用しますが、ログはそれほど気にしません。代わりにbunyanを使用します。これにより、ロギングの柔軟性が大幅に向上します。 npmを-globalでインストールすると、ライブログビューアとしても使用できます。

ただし、これはconsole.log出力にタイムスタンプを付けません。しかし、log.info()またはその他のBunyanログ関数に変換すると、Niceロギングが得られます。

ライブpm2ログをbunyanで表示するには、パイプするだけです:

pm2 logs | bunyan
5
Michael

標準形式のタイムスタンプを使用するには:

pm2 start app.js --time

または、カスタム形式のタイムスタンプをログの前に付ける場合:

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

どこ<format>モーメント表示形式 (例:YYYY-MM-DD HH:mm Z)。

また、アプリが既に実行されている場合は、 reload0-second-downtimeリロードに使用できます。

pm2 reload app.js --time

または

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

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を使用しても機能しませんでした。

1
mnhmilu