2012年6月26日火曜日

ログレベル

難しいです。
「どのレベルで、どのようなログを出力するのか」が。

たいていの場合は組織やチームで決められているかもしれませんが、
個人で利用する場合やログレベルごとの出力ないようを任された場合なかなか行動に窮するものがあります。

私がそこいらのウェブ上で情報を集め出した個人的な答えが以下です。
なおWebアプリケーションの実装においてログを利用することを想定しています。

Untitled document

ログレベル
ログ閲覧者
利用シーン
出力する内容
ERROR
運用者・開発者
ユーザーが処理を続行できない場合
  • データベースを利用できない
  • データID
  • 例外をキャッチして処理した場合、そのスタックトレース
  • 例外をキャッチしてそのままスローした場合、キャッチした場所
  • 原因の候補
WARN
運用者・開発者
ユーザーは処理を続行できるが、アプリケーションが異常なデータを処理した場合
  • データID
  • 問題の内容
  • 発生箇所
  • 原因の候補
INFO
運用者・開発者
処理は正常だが、ユーザーが特殊な作業を行った場合
  • データID
  • 処理の内容
  • 処理の開始と終了の場所
  • 処理の開始前のデータの状態と、処理後のデータの状態
DEBUG
開発者
上述以外で、開発者が必要だと判断したもの
任意