Logf Package v0.2.1 Released

no extension

レベル付き logger パッケージ spiegel-im-spiegel/logf v0.2.1 をリリースした。

標準の log パッケージをラップする形で実装している。 以下のように lestrrat-go/file-rotatelogs のようなローテーション機能付きの Writer と組み合わせて使うといい感じになる。

package main

import (
	rotatelogs "github.com/lestrrat-go/file-rotatelogs"
	"github.com/spiegel-im-spiegel/logf"
)

func main() {
	rl, err := rotatelogs.New("./log.%Y%m%d%H%M.txt")
	if err != nil {
		logf.Fatal(err)
		return
	}
	logger := logf.New(
		logf.WithFlags(logf.LstdFlags|logf.Lshortfile),
		logf.WithPrefix("[Sample] "),
		logf.WithWriter(rl),
		logf.WithMinLevel(logf.INFO),
	)
	logger.Print("Information")
	//Output:
	//[Sample] 2009/11/10 23:00:00 sample.go:20: [INFO] Information
}

本当は JSON 形式の構造化ログに挑戦しようと思ったのだが,既に出来のいいパッケージが存在したので止めた。

なので,これ以上 spiegel-im-spiegel/logf を弄ることはないと思う。

ブックマーク

参考図書

photo
プログラミング言語Go
アラン・ドノバン (著), ブライアン・カーニハン (著), 柴田芳樹 (著)
丸善出版 2016-06-20 (Release 2021-07-13)
Kindle版
B099928SJD (ASIN)
評価     

Kindle 版出た! 一部内容が古びてしまったが,この本は Go 言語の教科書と言ってもいいだろう。感想はこちら

reviewed by Spiegel on 2021-05-22 (powered by PA-APIv5)