golangで人類に優しいログを出力する
やぬてつです。
この記事はEmacsでGolangを書いている人をターゲットとしています。ですがsnippte部分以外はEmacsとは関係ないです。
Golangを書いていると構造体を出力したい時がありますよね。
そんなときには fmt.Printf("%+v", hoge)
なんかで出力すると思います。
確かに構造体を出力してくれるんですが人類には読みにくいです。
なので、pretty print して人類でも読める形にしたーいって思います。
でも、third-partyのライブラリを入れるのはメンドクサーイですよね?
なので、jsonのライブラリを使って出力してみましょう! StackOverflow
x := map[string]interface{}{"a": 1, "b": 2} b, err := json.MarshalIndent(x, "", " ") if err != nil { fmt.Println("error:", err) } fmt.Print(string(b))
これをsnippetに登録してシュッと使えるようにします。
# -*- moode: snippet -*- # name: pretty print by json.MarshalIndent # key: ppjm # -- b, err := json.MarshalIndent($0, "", " ") if err != nil { fmt.Println("error: ", err) } fmt.Printf("\x1b[34m%s\n\x1b[0m", string(b))
これで簡単にログ出力ができます。
やったー\(^o^)/
Happy Coding