import "log"

ロギングを行うシンプルなパッケージです。これには、出力をフォーマットするメソッドを持つLogger型が定義されています。また各自でLoggerを作成する手間を省くため、ヘルパー関数Print[f|ln]、Exit[f|ln]、Panic[f|ln]による「標準」ロガーがあらかじめ定義されています。これらロガーは、標準エラー出力に書き込みを行い、各メッセージ毎に日付と時間を出力します。Exit関数は、ログメッセージを書き込んだあとos.Exit(1)を呼び出します。Panic関数は、ログメッセージを書き込んだあとpanicを呼び出します。

パッケージファイル

log.go

定数

これらフラグは、ロガーによって生成される各ログエントリの前に付け加えるテキストを定義しています。

const (
    // ビットまたはビットの組み合わせで出力内容を制御します。
    // ここで示した(リストされた)以外の、制御や出力フォーマット(コメントで記述)は
    // ありません。これらの項目の後にコロンが出力されます。
    //	2009/0123 01:23:23.123123 /a/b/c/d.go:23: message
    Ldate         = 1 << iota // 日付: 2009/0123
    Ltime                     // 時刻: 01:23:23
    Lmicroseconds             // ミリ秒単位: 01:23:23.123123。Ltimeを兼ねる
    Llongfile                 // フルパスのファイル名と行番号: /a/b/c/d.go:23
    Lshortfile                // ファイル名と行番号: d.go:23。 Llongfileより優先
)

Exit関数

func Exit(v ...interface{})

Exitは、Print()のあとにos.Exit(1)を呼び出すことと同じです。

Exitf関数

func Exitf(format string, v ...interface{})

Exitfは、Printf()のあとにos.Exit(1)を呼び出すことと同じです。

Exitln関数

func Exitln(v ...interface{})

Exitlnは、Println()のあとにos.Exit(1)を呼び出すことと同じです。

Panic関数

func Panic(v ...interface{})

Panicは、Print()のあとにpanic()を呼び出すことと同じです。

Panicf関数

func Panicf(format string, v ...interface{})

Panicfは、Printf()のあとにpanic()を呼び出すことと同じです。

Panicln関数

func Panicln(v ...interface{})

Paniclnは、Println()のあとにpanic()を呼び出すことと同じです。

Print関数

func Print(v ...interface{})

Printは、標準ロガーへ出力するためにOutputを呼び出します。引数は、fmt.Printと同様に扱われます。

Printf関数

func Printf(format string, v ...interface{})

Printfは、標準ロガーへ出力するためにOutputを呼び出します。引数は、fmt.Printfと同様に扱われます。

Println関数

func Println(v ...interface{})

Printlnは、標準ロガーへ出力するためにOutputを呼び出します。引数は、fmt.Printlnと同様に扱われます。

SetFlags関数

func SetFlags(flag int)

SetFlagsは、標準ロガーに出力フラグを設定します。

SetOutput関数

func SetOutput(w io.Writer)

SetOutputは、標準ロガーの出力先を設定します。

SetPrefix関数

func SetPrefix(prefix string)

SetPrefixは、標準ロガーの出力プレフィックスを設定します。

Logger型

Loggerは、実際にロギングを行うオブジェクトで、io.Writerへ出力する行を生成します。各ロギングオペレーションは、WriterのWriteメソッドを一回だけ呼び出します。Loggerは、複数のゴルーチンから同時に使うことができます。Loggerは、Writerへの連続アクセスを保証しています。

type Logger struct {
    // contains unexported fields
}

New関数

func New(out io.Writer, prefix string, flag int) *Logger

Newは、新しいLoggerを作成します。out変数にはログデータの書き込み先を指定します。prefixは生成されたログ各行の先頭に出力されます。flag引数でログ出力の設定をします。

(*Logger) Output関数

func (l *Logger) Output(calldepth int, s string) os.Error

Outputは、ロギングイベントを出力先に書きこみます。文字列s内のテキストは、Loggerのフラグで指定したプレフィックスのあとに出力されます。s内の最後の文字がすでに改行でないときだけ、改行が付加されます。calldepthは、ログを出力したい箇所のPC(program counter)を得るために使われます。これは汎用性を持たせるためですが、いま現在の定義済み関数すべての呼び出しの経路は2固定です。

(*Logger) Print関数

func (l *Logger) Print(v ...interface{})

Printは、標準ロガーへ出力するためにl.Outputを呼び出します。引数は、fmt.Printと同様に扱われます。

(*Logger) Printf関数

func (l *Logger) Printf(format string, v ...interface{})

Printfは、標準ロガーへ出力するためにl.Outputを呼び出します。引数は、fmt.Printfと同様に扱われます。

(*Logger) Println関数

func (l *Logger) Println(v ...interface{})

Printlnは、標準ロガーへ出力するためにl.Outputを呼び出します。引数は、fmt.Printlnと同様に扱われます。