2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

(旧版)Goでloggerを作ってみた

Last updated at Posted at 2018-02-21

Goのloggerで便利なものがないかなと探してみますと、(自分には)なかなかしっくりくるのがないなと思ってました。
もともとpythongでloggingを使ってたので、InfoやWarningがあればなと思って作ってみました。
Go歴3か月なのでいたらない点はご勘弁を。

よさげだと思うところ

  • レベル別にした。
  • ユーザー、ホスト名も出力した。
  • 呼び出しファイル、関数、行数も出力した。

こんな感じ

package main

import (
	"github.com/suganoo/gologger"
)

func hogeFunc() {
	gologger.Debug("this is debug hogeFunc")
	gologger.Info("call hogeFunc")
}

func main() {
	gologger.SetLogfile("./testlog.log")
	defer gologger.CloseFile()

	msg := "hogehoge"
	gologger.Debug("this is debug")   // default debug is muted
	gologger.Info("this is info")
	gologger.Info("msg : " + msg)
	gologger.Warning("this is warning")
	gologger.Error("this is Error")

	gologger.UnmuteDebug()
	hogeFunc()

	gologger.Debug("this is debug xxx")
	gologger.MuteDebug()
	gologger.Debug("this is debug yyy")  // this debug message is muted
}
2018-02-21T10:07:44.277+09:00	INFO	hoge.sever	3892	fuga-user	1.0.0	this is info	main	[gologgerSample.go:18]
2018-02-21T10:07:44.277+09:00	INFO	hoge.sever	3892	fuga-user	1.0.0	msg : hogehoge	main	[gologgerSample.go:19]
2018-02-21T10:07:44.277+09:00	WARNING	hoge.sever	3892	fuga-user	1.0.0	this is warning	main	[gologgerSample.go:20]
2018-02-21T10:07:44.277+09:00	ERROR	hoge.sever	3892	fuga-user	1.0.0	this is Error	main	[gologgerSample.go:21]
2018-02-21T10:07:44.277+09:00	DEBUG	hoge.sever	3892	fuga-user	1.0.0	this is debug hogeFunc	hogeFunc	[gologgerSample.go:8]
2018-02-21T10:07:44.277+09:00	INFO	hoge.sever	3892	fuga-user	1.0.0	call hogeFunc	hogeFunc	[gologgerSample.go:9]
2018-02-21T10:07:44.277+09:00	DEBUG	hoge.sever	3892	fuga-user	1.0.0	this is debug xxx	main	[gologgerSample.go:26]

カスタマイズ

おそらく多数の方が出力を調整してみたいと感じるのではと思います。
folkしてwrite関数の中身をいじってみてください。もしくはこれを参考に独自loggerを作ってみてください。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?