はじめに
筆者のログの使い方の備忘録です。
NLogを前提として記述しています。
全般
バイナリデータの容量は知れているので、迷ったら出力しておく。
一応、容量は計算しておく。
必ず出力したい内容 → 出力日時、レベル、事象内容
可能なら出力したい → スレッド番号、ファイル名、クラス名、関数名、ソース行数
出力ファイル自体を増やすのもあり。
ファイル1はF~Iまで出力、ファイル2はD~Tまで出力、など
レベルのイニシャルは上から「FewIdt」と覚える。(Few ID t)
レベル方針
Fatal(致命的)
死人やケガ人、莫大な損害などが発生する可能性があるときに使用する。
使用する開発領域は限られており、業界によっては未使用でいい。
Error(誤り)
原則発生してほしくはないが、Fatalほど被害がない対象に使用する。
システムダウンやデータ破損が発生する可能性があるときや、
Exceptionをキャッチしたときに。(Exceptionと同じE)
Warn(警告)
実装はしているが、取扱注意の動作をするときに使用する。
「本当によろしいですか?」などの警告を無視して実行されたときなどに。
Info(情報)
正常系を通ったことを知るために使用する。
正常系ログを出力しない人も見かけるが、保守段階で動作状況を知るために必要である。
関数の始まりや終わり、入出力値などを出力しておく。
使用頻度が最も多い。
Debug(デバッグ)
文字通りデバッグ用として使用する。
開発時に使用して、簡易テストするために使う。
Trace(追跡):
開発時に流れを追ったり、時間計測が必要な時に使用する。
Traceを使わずにDebugにまとめてもよく、使用頻度は低い。