Upgrade to Pro — share decks privately, control downloads, hide ads and more …

slogパッケージ超入門 Kyoto.go #43 オフラインLT会@マネフォ京都)

Kota
July 14, 2023

slogパッケージ超入門 Kyoto.go #43 オフラインLT会@マネフォ京都)

Kyoto.go #43 オフラインLT会@マネフォ京都の登壇資料です。
Go1.21で導入予定のslogパッケージの紹介をしました。

合わせて、Blogも公開しておりますので参考にして下さい。

Kyoto.go #43: https://kyotogo.connpass.com/event/287778/
Blog: https://zenn.dev/88888888_kota/articles/7e97ff874083cf

Kota

July 14, 2023
Tweet

Other Decks in Programming

Transcript

  1. 自己紹介 八木 洸太(88888888_kota) 大阪府立大学・情報工学課程・ 4回生 ポジション • バックエンド(Go) 最近 •

    Finatextでインターン 趣味 • アニメ(今期おすすめ:無職転生) • 今年は人生初コミケに! (https://github.com/yagikota) 2
  2. アーキテクチャ Record • Loggerの出力メソッドを呼び出す ごとに作成されるログレコード Handler • slogのバックエンド • ログの出力フォーマットと出力先を

    決める Logger • slogのフロントエンド • 開発者がログを生成するために 呼び出す出力メソッドを提供 8
  3. ログメッセージ追加 logger.Info(message string, args … any) • argsに(key,value)の順にログメッセージを追 加できる •

    リテラルではなく、関数を用いていた方がよ い • ミスを防げるし、パフォーマンス的にもよい 出力結果 13 推奨 key,valueの指定 をミスるとこのよう になる
  4. まとめ Go1.21で導入予定のslogパッケージに関する概要を紹介 • slogのデザイン ◦ Logger ◦ Record ◦ Handler

    • slogの基本機能 ◦ デフォルトのロガー ◦ ログレベル、出力形式のカスタマイズ ◦ ログメッセージ追加 細かい機能については、ブログに記載してます。 16
  5. 参考文献 • Design Doccument ◦ https://go.googlesource.com/proposal/+/master/design/56345-structured-logging.md • Discussion ◦ https://github.com/golang/go/discussions/54763

    • Proposal ◦ https://github.com/golang/go/issues/56345 ◦ https://github.com/golang/go/issues/58243 • セッション ◦ https://opensourcelive.withgoogle.com/events/go-day-2022/watch?talk=talk2 • ブログ記事 ◦ https://betterstack.com/community/guides/logging/logging-in-go/ ◦ https://www.sobyte.net/post/2022-10/go-slog/ ◦ https://zenn.dev/88888888_kota/articles/7e97ff874083cf 17