skillup

技術ブログ

プログラミング全般

ログのまとめに関して

投稿日:2021年3月20日 更新日:

何回か書いたログの設計方針に関して再度復習。

ログ設計指針について

ログで大事なことを再度復習

  • DEBUG(SQLやパラメータ情報など詳細な情報までだす)、INFO(メソッドの詳細情報、開始と終了)、WARNING(処理は止めないが、警告として知らせたい情報。処理が完全ではないなど)、ERROR(異常終了する際の告知。メールや別のチャネルなどで知らせる必要があるかも)、FATAL(例外エラーなど。ERRORはif文などでキャッチできるエラー。FATALはExceptionなど)
  • SQLやパラメータは重要度によってINFOに格上げしてもいいかも(InパラメータのJSONのパラメータなどを入れておくとデバッグが楽)
  • クラス名、メソッド、行数、時間入れておくと楽。時間はマスト
  • 面倒でなければメソッドのInパラメータは吐いた方が良い(追跡が楽)
  • ログにだす情報は改行しないほうがいいかも・・。(特にSQL)不必要に改行を入れると非常にみにくい
  • 多くなりすぎなければ正常系の処理が終わった後につけるのも良い。
  • ログには記号+番号などを入れておくと検索が楽。ログが出た場所をすぐに特定できるために。
  • HTMLデータやパラメータが多すぎるものときなどは文字制限を入れないとログデータ自体が多すぎることがあるので必要に応じて少なくした方が良いかも・・
  • ログに出す詳細情報はInパラメーター、キー系のID情報、エラーメッセージ。
  • エラーメッセージはstackTraceなどがはっきりと出ることを確認しておくこと
  • 共通度が高いメソッドなどはログが大量に出て他の部分を邪魔することもあるので出し分け要注意。
  • 複数のバッチが入るときはチャネルを分けると処理が混ざらないので見やすいかも。
  • 集計することがあるのでキー系の情報がはっきりと拾えるようにしておくこと

-プログラミング全般
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

データ構造の基礎知識 前編 メモリとポインタ、配列と連結リスト

WEB+DB(vol91)で使えそうな連載記事がありますのでブログにメモリます。 テーマはデータ構造です。 Contents1 データ構造とは?2 計算量3 プログラムとメモリ4 配列について4.1 …

no image

テストコードの考え方

一般的なプログラマにとって日々の業務で何がいやかというと、 理不尽な納期 むちゃくちゃな仕様変更 頻発するバグ・不具合 であることは異論がないでしょう。仕様変更や納期などは自分で何とかしがたい部分もあ …

no image

データ構造の基礎知識 中編 ハッシュ

前回の続きです。 前回は配列、連結リストについて学習したので今回はハッシュについて学習します。 Contents1 ハッシュとは?1.1 メリット1.2 デメリット ハッシュとは? key-value …

no image

テストコードを読みやすくする

リーダブルコードも最終章に近づいてきましたね。 今回はテストコードについて。 以前のプロジェクトではテストコードを書いていたのですが、今携わっているプロジェクトでは書いてないです・・・ テストを書く目 …

no image

変数の役割について

前回のエントリーの主眼は変数を置くことで、適切な情報量に分割し、コードを読みやすくしよう、ということでした。 今回はそれとは少し逆の観点でして、不要な変数を削除して、コードを読みやすくしよう、というこ …

アーカイブ