skillup

技術ブログ

プログラミング全般

ログの設計指針について

投稿日:2020年9月22日 更新日:

今まで10以上近い現場で仕事をしてきましたが、どの現場でも絶対必要になる(かつどこもあまり対策が取られていない)技術としては

  • 検証したい状態の復元がすぐにできる(テストデータ作成)
  • ログの適切な設計
  • エラーハンドリング

でしょうか。おそらくあと10年たっても変わらないと思います。

いつもテストデータやエラーについては色々言っていたので、ログの設計に関して。

絶対入れる情報

時間ともし取得できればファイル行数

レベル分け

出すぎても、少なくすぎてもダメですね。

一般的にはざっくりDEBUG、INFO、WARN、ERRORぐらいに別れますかね。

個人的には下記のようにざっくり分けております。

DEBUG ・・一番詳細な情報。SQL、テキストエリアの文言、リクエストパラメーターなど全てだすと情報が多すぎて追い切れないところまで。詳細な調査をしたい時に見る情報。

INFO ・・メソッドの開始、終了など。処理がどこまで進んだか、どこで止まったかがわかるもの。開発時にはこれが指針となる。

WARN・・非推奨のメソッドやエラーではないが直しておきたい部分。

ERROR・・明らかにエラー、状態がおかしい時。

こんな風に分けてますが、実際に開発をしたり、運用をしていく上でレベルを調整していくのがいいかと思います。

個人的には開発時にはDEBUGとINFOの使い分けが大事で、運用時にはERRORの設計(漏れがないか)が大事だと思っています。

出す場所

開発時・・INFO以上を標準出力、運用時はWARN以上を標準出力にし、それ以下はファイル出力へ。

常時見る場所と、調査をしたい場所を使い分ける感じで。

参考URL

ログ設計指針

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

執筆者:


comment

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

関連記事

no image

コーディングについての気づき

現在の現場でコーディング関連で勉強になっているポイントについてまとめてみようかと思います。 Contents1 自動化2 命名3 責務の分離4 その他 自動化 規約エラーなどなるべく自動化できるものは …

no image

CIことはじめ

業務でJavaのテキスト変換ツールを作成。 プログラムよりもCIツールを使って他人の環境下で正常に稼動させるためにどうするかの調査に時間かかりましたね。 今回やりたかったことは下記の通りです。いわゆる …

no image

アクセストークンの分類について

認可情報を取得する際に、ID &パスワードではなく、アクセストークンで認証を行うサービスは多いと思うのですが、アクセストークンにも色々ありますので、再度まとめておこうと思います。 以前まとめた …

no image

PHPの例外クラスについて

PHPの例外クラスについて今まで一方的にExceptionで受けており、それ自体は問題なさそうですが、 一応再度確認。 Contents1 エラークラスの分類2 Throwableに関して3 Exce …

no image

テストコードの書き方の注意点

テストコードを実装する様になって1年ぐらいたったのですが、そこできづいたことなどを。 Contents1 タイトルをわかりやすく2 値をなるべく具体的に書く3 疑似的な仕組みはなるべく避ける(例:Mo …

アーカイブ