タグ

Golangとlogに関するy_yukiのブックマーク (3)

  • ええっ!? 文字列で書くの!? ログレベル付きロガーhashicorp/logutilsのご紹介 - Qiita

    全世界100万人のコンパイルエラーラバーの皆さんこんばんは、この記事はGo Advent Calendar 2017の18日目の記事です。 標準パッケージのlog Goで作るものはミドルウェアだったり、Webアプリケーションだったり、CLIツールだったり様々だと思いますが、ちょっと凝ったことをするとついてくるものといえばロギングですよね。Goにはlogという標準のログライブラリがありますが、 標準パッケージなのでimport "log"だけで使える インターフェイスがシンプル。だいたいfmt 複数goroutineから扱っても混ざらない そのまま使っても時間が出る などなど、最低限の実用性があります。ただ、他の言語のロガーと比べると、 ログレベル 構造付きログ などの機能が不足していると言えます。 よく使われているロガー そもそもこの記事を書くきっかけとなったのが、Go Conferenc

    ええっ!? 文字列で書くの!? ログレベル付きロガーhashicorp/logutilsのご紹介 - Qiita
  • Big Sky :: net/http でレスポンスの内容を確認したいなら io.TeeReader を使おう

    « Golang で物理ファイルの操作に path/filepath でなく path を使うと爆発します。 | Main | VimConf2017 に参加してきた。 » printf デバッグは便利だ。技術の後退と言われようと printf でないと解決できない事はまだまだたくさんあります。 今日は net/http でクライアントが得たレスポンスの JSON を確認したいといった場合に、どうデバッグしたらいいかを書いてみたいと思う。 Go のインタフェースは大よそ io.Reader もしくは io.Writer を使う様に設計されている。こうする事でプログラムがメモリを一度に沢山確保してしまわない様にしています。 package main import ( "encoding/json" "fmt" "log" "net/http" ) type Foo struct { ID  

    Big Sky :: net/http でレスポンスの内容を確認したいなら io.TeeReader を使おう
    y_yuki
    y_yuki 2017/10/27
    ちょうど困ってたのでありがたい!
  • loggingについて話そう - Qiita

    この記事は Let’s talk about logging の翻訳です。 Nate Finch による Go Forum への投稿で始まったスレッド を見てこの記事を書くことにしました。 この記事は Go を対象にしていますが、あなたのいままでのやり方を振り返ってみたら、同じ考え方がより広く適用できると思います。 なんでこんなに足りないの? 訳注: "Why no Love?" を、「(愛されてないから)機能が足りない」というニュアンスで解釈しましたが、自信が無いです。 Golog パッケージ はレベル付きのロギングを提供していません。なので手動で debug, info, warn, error のようなプレフィックスを書く必要があります。 また、 Go はパッケージごとにログの出力レベルを制御する方法も提供していません。 比較対象としてサードパーティーのロギングライブラリを見て

    loggingについて話そう - Qiita
  • 1