2006.06.01

ログ出力について

システムを開発する際に、ログ出力は重要な部分ですが、
積極的に語られる機会もあまりないと思うので、
ここでまとめてみたいと思います。

まず第一に、障害発生時に備えて、原因追求のためのログがあります。
ログを見れば原因がすぐに判明するのが理想です。
何か障害が起こってから、
原因を特定するためにプログラムを修正してログ出力を埋め込む、
というのは避けたいところです。
単純なアプリケーションエラーであれば、
エラー情報をログ出力しておけば良いでしょうが、
それだけでは不十分な場合があります。
例えばFAX送信であれば、どのデータがエラーになったのかを分かるようにしておかないと、
障害のあったデータの再送ができない、なんて事態に陥ってしまうかもしれません。

それとは別に運用上で取得しておきたいログがあります。
例えば、システムへのログイン画面で、誰がログインしたのか、
ログイン失敗した場合には誰がどんなID・パスワードで入力したのか、などを
ログとして保存しておけば、管理者へ問い合わせがあった場合に対応できます。

そもそもログをどういった形式で保存するのか、
という点も考慮しなければなりません。
選択肢としてはテキストファイル、イベントログ、データベースなどが挙げられます。
当然のことですが、保存したログをいつ消すのかも忘れずに考えておきましょう。

最後に、ログ出力の重要な点は
ルールを明確にして、開発チームに通達しておくことです。
知らなかったから組み込んでない、なんてことは無いようにしたいですね。

photo
admin