log
Go 言語標準ライブラリの log パッケージはシンプルなログを実装します。
go
func main() {
log.Println("ログ")
log.Panicln("panic ログ")
log.Fatalln("エラーログ")
}Fatal はログ情報を書き込んだ後に os.exit(1) を呼び出し、panic は panic をスローします。
プレフィックス
go
func (l *Logger) Prefix() string // プレフィックスを取得
func (l *Logger) SetPrefix(prefix string) // プレフィックスを設定例
go
func main() {
log.SetPrefix("[main]")
log.Println("ログ")
log.Panicln("panic ログ")
}Flag
メソッド
go
func (l *Logger) Flags() int // アクセス
func (l *Logger) SetFlags(flag int) // 設定定数
go
const (
Ldate = 1 << iota // 日付
Ltime // 時間
Lmicroseconds // マイクロ秒
Llongfile // 完全なファイル名
Lshortfile // 短いファイル名
LUTC // タイムゾーン
Lmsgprefix // プレフィックス
LstdFlags = Ldate | Ltime // 初期値
)例
go
func main() {
log.SetFlags(log.Lshortfile | log.Lmicroseconds | log.Lmsgprefix | log.Ldate | log.Ltime)
log.Println("ログ")
log.Panicln("panic ログ")
}もちろん、log.SetOutput(w io.Writer) を使用してログの出力パスを設定することもできます。また、New メソッドを使用して独自のインスタンスを作成することもできます。
go
func New(out io.Writer, prefix string, flag int) *Logger総じて言えば、標準ライブラリの log パッケージが提供する機能は十分ではありません。通常はより完成されたサードパーティ製ログパッケージを使用します。例えば zap などです。
