1. ホーム
  2. node.js

[解決済み] Node.jsのライブラリWinstonを使ってログにタイムスタンプを追加するにはどうしたらいいですか?

2022-09-17 14:27:27

質問

ログにタイムスタンプを追加したいです。これを実現する最善の方法は何でしょうか?

どのように解決するのですか?

私自身、同じ問題に対処していました。 私が行えた方法は2つあります。

Winston をインクルードするとき、通常はデフォルトで Console トランスポートを追加します。 このデフォルトのケースでタイムスタンプを動作させるために、私はどちらかが必要でした。

  1. コンソールトランスポートを削除し、タイムスタンプオプションで再度追加します。
  2. timestampオプションをtrueに設定して、独自のLoggerオブジェクトを作成します。

1つ目です。

var winston = require('winston');
winston.remove(winston.transports.Console);
winston.add(winston.transports.Console, {'timestamp':true});

2番目の、よりクリーンなオプションです。

var winston = require('winston');
var logger = new (winston.Logger)({
    transports: [
      new (winston.transports.Console)({'timestamp':true})
    ]
});

Console転送の他のオプションは、以下のとおりです。 はこちら :

  • レベルを指定します。このトランスポートが記録すべきメッセージのレベル (デフォルトは 'debug')。
  • silent: 出力を抑制するかどうかを示すブール値フラグ (デフォルトは false)。
  • colorize: 出力をカラー化するかどうかを示すブール値フラグ (デフォルトは false)。
  • timestamp: 出力の前にタイムスタンプを付けるかどうかを示すブール値フラグ(デフォルトはfalse)。functionが指定された場合、その戻り値がタイムスタンプの代わりに使用されます。