11

Goでロギングを実行する慣用的な方法は何ですか?

4

1 に答える 1

11

グローバル変数loggerを宣言するファイルを作成します。次に、Go の慣用的なinit()関数を使用して、起動時に変数を初期化します。

logger.go :

package xxx

import (
    "log"
    "os"
)

var logger *log.Logger
func init() {
    logger = log.New(os.Stderr, "xxx: ", log.Ldate | log.Ltime | log.Lshortfile)
}

example.go :

func test() {
    logger.Println("Logged")
}

この方法には、単一のファイルから構成できる単一のロガー実装を使用できるという利点があります。

編集: ThomasKappler は、単一のグローバル ロガーのみを使用している場合は、ログ パッケージの組み込みロガーを使用して SetFlags で構成できることを指摘しました。唯一の違いは、より明示的にログ パッケージをインポートする必要があることです。

于 2012-11-21T10:18:44.940 に答える