致命的な順に、メッセージをログに記録する方法はいくつかあります。
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
どちらをいつ使用するかをどのように決めればよいでしょうか?
使用するのに適したヒューリスティックは何ですか?
ベストアンサー1
私は一般的に以下の慣例に従います。
- トレース- コードを「トレース」し、関数の特定の部分を見つけようとする場合のみ。
- デバッグ- 開発者だけでなく、IT やシステム管理者などの人々にとっても診断に役立つ情報。
- 情報- 一般的にログに記録するのに役立つ情報 (サービスの開始/停止、構成の想定など)。常に利用できるようにしておきたい情報ですが、通常は通常の状況では気にしません。これはすぐに使用できる構成レベルです。
- 警告- アプリケーションの異常を引き起こす可能性があるが、自動的に回復されるもの。(プライマリ サーバーからバックアップ サーバーへの切り替え、操作の再試行、セカンダリ データの欠落など)
- エラー-操作には致命的だが、サービスやアプリケーションには致命的ではないエラー(必要なファイルを開けない、データが見つからないなど)。これらのエラーは、ユーザー (管理者または直接ユーザー) の介入を強制します。これらは通常 (私のアプリでは) 不正な接続文字列、サービスの不足などのために予約されています。
- 致命的- データの損失 (またはさらなるデータ損失) を防ぐためにサービスまたはアプリケーションのシャットダウンを強制するエラー。これらは、データの破損または損失が確実に発生する最も悪質なエラーおよび状況にのみ使用します。