実践structlog
Video:
対象
ログはあるけど追うのが大変だと思ってる方
クラウド時代のWebアプリ開発や、そのデバッグで苦労した経験
概要
structlogはOut-Of-The-Boxで簡単に使える便利なログ出力ライブラリ、ではありません。使いやすいラッパーライブラリは気軽に使い始められるメリットがあります。しかし、ある程度複雑な構成で標準ライブラリやフレームワークのログ出力もまとめて扱うには、始めやすさよりも、追跡しやすいログを簡単なコードで手軽に出せることが大事になってきます。 クラウド時代のログ出力では、ログを機械的に扱えるように、構造化されたJSONフォーマットが求められます。また、各ログの追跡可能性を高めるためにはログのコンテキスト情報をフレームワークのログ出力にも含めることが求められます。こういった追跡可能なログによって、トラブル時の調査にかかる労力は大幅に削減されます。 structlogはこのようなニーズに合わせて自由にカスタマイズが可能ですが、そのカスタマイズ性の高さは最初の導入ハードルにもなっています。
アジェンダ
クラウド時代のPython+Webにおけるログ出力に求められる構造化とコンテキスト(3分)
クラウド時代にお勧めのロギングライブラリstructlogについて(5分)
structlogが提供する構造化ログ出力とセットアップ(5分)
structlogのコンテキスト情報出力とその便利な使い方(3分)
structlogのコンテキストをdjangoからceleryに連携する(5分)
structlogのコンテキストをSentryに連携する(5分)
まとめと質疑応答(4分)
サンプルプロジェクト
参考文献