LoginSignup
1
1

More than 3 years have passed since last update.

Go言語でログをファイルに出力する

Posted at
ログ出力

func Setting(fileName string) {
    // ログファイルを開く
    logfile, err := os.OpenFile(fileName, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)

    // ログファイルを開けなかった場合
    if err != nil {
        log.Fatalf("file=logFile err=%s", err.Error())
    }

    // ログ出力時に日時とファイルの場所を自動的に追加で出力する
    log.SetFlags(log.Ldate | log.Ltime | log.Llongfile)

    // ログ出力と同時にファイルに書き込む
    multiLogFile := io.MultiWriter(os.Stdout, logfile)
    log.SetOutput(multiLogFile)
}

func Fatal(err error) {
    // 接頭語を設定
    log.SetPrefix("[FATAL] ")
    log.Printf("%+v\n", err)
}
SetFlagsに設定可能な定数
const (
  Ldate         = 1 << iota      // 日付
  Ltime                          // 時刻
  Lmicroseconds                  // 時刻(マイクロ秒)
  Llongfile                      // ディレクトリを含むファイルパス
  Lshortfile                     // ファイル名のみのファイルパス
  LUTC                           // タイムゾーンに依存しないUTC時刻
  LstdFlags     = Ldate | Ltime  // 日付 (Ldata) と時刻 (Ltime)
)
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