アプリケーションログを確保する基準を作成するにあたって参考になるものがないかと探したが、探し方が悪いのか見つからなかった。よって、暫定であるが作ってみた。

◇目的
本来的には「いつ、誰が、どの処理を実行したかの証拠」として記録しておく必要があるが、現段階では必要な部分の性能評価が行える情報を確保するものとし、どういうログをどのタイミングで確保するかの指針を定める。
なお、エラーログやデバッグログとは別の性格のものについてを定める。



◇取得箇所
・外部からのエントリポイント付近
   呼び出されたプログラムの先頭および末尾 が基本
・外部への呼び出しポイント付近
   呼び出す処理の前後 が基本
・その他必要な箇所 ※今回は実施しない
   処理負荷の計測目的 など。
   例)ファイルやデータベースへのアクセスの前後

◇出力する情報
・タイムスタンプ(可能な限りミリ秒)
・どの処理を行ったかが分かる文言( REQEST START  等 )
・レコードを特定するためのキーやIDなどの情報
・エラーログではないので、どのソースのどの行か、という情報は排除してよいと思う。

◇出力先
・テキストファイルに出力する。
・日付でローテートさせる。
・サーバーが複数台ある場合はログ記録先を特定のサーバーに集約した方が分かりやすいと思うが、ネットワーク負荷が大きい場合は空いている時間にログを集めるようにする。

◇出力内容の注意点
・極力半角英数で構成する。全角が必要な場合、文字コードは統一しておく。
・ログのフォーマットが統一されていることが望ましい。
・ログのフォーマットを変更する際に作業が最小限で済むようにしておくことが望ましい。
・どんな解析ツールを使うかも視野に入れる。改行コード( linux上はLF/Windows上はCRLF ) やタブが入っていると読めるのか否か、など。


もう少し丁寧に作ったのだが、消してしまった・・。別途PDFででも提供できればと思う。