Skip to content

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 などです。

Golang学习网由www.golangdev.cn整理维护