Node.js アプリケーションロガーの設定

開始する前に、「サポートされているログフレームワーク」を確認してください。

次のメタデータがログに追加されます。

  • appd_node_id
  • appd_request_guid
  • appd_bt_id

メタデータキーが defaultMeta に追加されると、エージェントはランタイムに正しい値でキーを更新します。ただし、キーが存在しない場合、キー値は appdynamics_log_metadata_fields 環境変数によって決まります。この場合、メタデータはログのメッセージフィールドに埋め込まれます。

構造化ログの場合は、ロガーでメタデータフィールドを定義する必要があります。ロガーで定義されたメタデータフィールドの例を次に示します。

構造化ログのユーザー定義のメタデータフィールド

const logger = winston.createLogger({
level: 'debug',
format: winston.format.json(),
/* user adds the keys they want to see in the log output to the metadata */
defaultMeta: {appd_node_id: '', appd_request_guid: '', appd_bt_id: ''},
transports: [
new winston.transports.File({ filename: 'message.log'}),
],
});

非構造化ログの場合、メタデータフィールドは定義しません。ログ出力フィールドは、appdynamics_log_metadata_fields によって決まります。

非構造化ログの未定義のメタデータフィールド

const logger = winston.createLogger({
level: 'debug',
format: winston.format.simple(),
defaultMeta: {appd_node_id: '', appd_request_guid: '', appd_bt_id: ''},
transports: [
new winston.transports.File({ filename: 'message.log'}),
],
});