1
1

More than 1 year has passed since last update.

Go の log.Fatal は気軽に使ったあかん!

Posted at

log.Fatalはアプリケーションの実行が終了されるので、気軽に使うのはやめましょう!

log pkgの中身は以下

// Fatal is equivalent to Print() followed by a call to os.Exit(1).
func Fatal(v ...interface{}) {
    std.Output(2, fmt.Sprint(v...))
    os.Exit(1)
}

os.Exit(1) されてるので、アプリケーションの実行が終了される。
なのでとりあえずログに吐きたい時は log.Println などにしましょう。
log.Println だとexitされないです。

log.Println のsrcは以下

// Println calls Output to print to the standard logger.
// Arguments are handled in the manner of fmt.Println.
func Println(v ...interface{}) {
    std.Output(2, fmt.Sprintln(v...))
}

参照

1
1
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
1
1