開始する前に、「サポートされているログフレームワーク」を確認してください。
デフォルトでは、ログエンリッチメントは無効になっています。この機能を有効にするには、次のいずれかを true に設定します。
Node Property: enable-log-metadata-enrichment
Environmental Variable: appdynamics_log_metadata_enrichment
次のメタデータがログに追加されます。
- appd_node_id
- appd_request_guid
- appd_bt_id
メタデータキーが defaultMeta
に追加されると、エージェントはランタイムに正しい値でキーを更新します。ただし、キーが存在しない場合、キー値は appdynamics_log_metadata_fields
環境変数から決定されます。この場合、メタデータはログのメッセージフィールドに埋め込まれます。
構造化ログの場合は、ロガーでメタデータフィールドを定義する必要があります。ロガーで定義されたメタデータフィールドの例を次に示します。
User Defined Metadata Fields in Structured Log
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'}),
],
});
XML
非構造化ログの場合、メタデータフィールドは定義しません。ログ出力フィールドは、appdynamics_log_metadata_fields
変数から決定されます。ロガーの非構造化ログ設定の例を次に示します。
Undefined Metadata Fields in Unstructured Log
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'}),
],
});
XML