これはなに
読むやつです。読んだのはこれ
https://speakerdeck.com/uzulla/are-you-writing-a-log-or-just-out-a-log
整理
導入
- 概要
- ログは行動とセット
- ログとは?
- アクセスログとか
- これは古来からあるログ
- イベントが起きたときに残す
- 人間や機会が読む
- 構造化されたテキスト
- ログの種類
- アクセスログ
- apatchやphp-fpmから出るエラーログ
- DBに接続できないなどのエラーが出るログ
- アプリケーションログ
- 開発者が設計するもの
アプリケーションログ
- 要件定義
- いつ、どこで、なにが起きたら?
- なにをどうする? まで決める
- ポイント
- コンテキストを捨てるな
- 再現、調査のための情報を出す
- アクションにつなげる
- 手順書、バグチケのIDを表示する
- ログと監視は紙一重
- 監視をまなぶのもひとつ
- 典型的なコンテキスト・メタデータ
- ファイルと行番号、スタックトレース
- 共通して必要な情報はハンドラで表示する
- monologで表示
- Monlogの実装に学ぶInterfaceのつかいどころ
- DataDogとかなら自動でやってくれます
- アクションが決まると、ログレベルが決まる
- トリアージのためのログレベル
- debug, info, Notice, warning, error, critical, alert, emergency
- 発報場所は?
- コントローラー層、ドメイン層でやるべき
- どう扱われるか? が判断できる層でやる
- ライブラリ、リポジトリ層とか奥深くでログ出すのは良くない
- ロガーはmonologがよい
- ロガーは複数生成される前提
- ロガーのなかにハンドラを複数突っ込んで、使えるようにするみたいな話っぽい
- ここはMono logの使い方分かんないときついかも。勉強する。
- ログは多重なストリーム
- source(発報)、filter(情報の整形)、sink(記録、通知など)で構成する
- これは多重にできる
- バッチの場合
- cliならそっちの流儀に沿うのがよいらしい???
- ここ分からん
- ログを見る
- 即応する
- 通知せよ
- 時間幅でみる、カウントする
- SaaSの機能つかうとよい
メモ、NA
- ログ出す場所
- Exceptionに変数渡して例外の中でやればいいのかな? と思ってたけど、たぶんキャッチした場所で$e→varして表示するのが良い
- おぎさんのやつ読む
- テストの本でおれがまとめたログのやつ読み返す
- 知らないことば
- stderr
- 分からんこと
- datadogでどこまでできるのか?
- みんなに伝える
- ログは面白い
- 調べたことを発表する、キックオフする
- 設計しがいがある
- ユニットみんなで設計しよう! 議論しよう!
- LINEでできたらLTSFでも
- DataDogとかからむからのぶにも知らせる