ロギングの技術

随分前にメモってたのをアップする。

意味のあるロギング

  • デバッガが使用できない状況でもプログラムの動きが追えるか
  • 何か障害が発生した際に、そのロギングだけで原因究明できるか
  • 障害が発生した際に、膨大なログが生成されてしまわないか
  • ロギングのせいで、パフォーマンスが大幅に損なわれてしまったり、アプリケーションが異常終了しないか

上記にあてはまらないのは意味のないロギングである可能性がある。

tips

  • ログをみる習慣をつける
  • 処理が追えるように関数の呼び出しと終了時の戻り値をロギングする
  • しかし、これらは本質的な業務ロジックからは雑音でしかないのでAOPでTraceIntercepterを仕込む。