Documentation
¶
Overview ¶
パッケージlogはシンプルなロギングパッケージを実装します。出力のフォーマットに関するメソッドを持つLoggerという型を定義します。 また、Print[f|ln]、Fatal[f|ln]、Panic[f|ln]というヘルパー関数を通じてアクセス可能な、事前定義された'standard' Loggerもあります。 これらは、手動でLoggerを作成するよりも使いやすいです。そのロガーは標準エラーに書き込み、各ログメッセージの日付と時間を印刷します。 すべてのログメッセージは別々の行に出力されます:印刷されるメッセージが改行で終わらない場合、ロガーは一つ追加します。 Fatal関数は、ログメッセージを書き込んだ後にos.Exit(1)を呼び出します。 Panic関数は、ログメッセージを書き込んだ後にpanicを呼び出します。
Index ¶
- Constants
- func Fatal(v ...any)
- func Fatalf(format string, v ...any)
- func Fatalln(v ...any)
- func Flags() int
- func Output(calldepth int, s string) error
- func Panic(v ...any)
- func Panicf(format string, v ...any)
- func Panicln(v ...any)
- func Prefix() string
- func Print(v ...any)
- func Printf(format string, v ...any)
- func Println(v ...any)
- func SetFlags(flag int)
- func SetOutput(w io.Writer)
- func SetPrefix(prefix string)
- func Writer() io.Writer
- type Logger
- func (l *Logger) Fatal(v ...any)
- func (l *Logger) Fatalf(format string, v ...any)
- func (l *Logger) Fatalln(v ...any)
- func (l *Logger) Flags() int
- func (l *Logger) Output(calldepth int, s string) error
- func (l *Logger) Panic(v ...any)
- func (l *Logger) Panicf(format string, v ...any)
- func (l *Logger) Panicln(v ...any)
- func (l *Logger) Prefix() string
- func (l *Logger) Print(v ...any)
- func (l *Logger) Printf(format string, v ...any)
- func (l *Logger) Println(v ...any)
- func (l *Logger) SetFlags(flag int)
- func (l *Logger) SetOutput(w io.Writer)
- func (l *Logger) SetPrefix(prefix string)
- func (l *Logger) Writer() io.Writer
Examples ¶
Constants ¶
const ( Ldate = 1 << iota Ltime Lmicroseconds Llongfile Lshortfile LUTC Lmsgprefix LstdFlags = Ldate | Ltime )
これらのフラグは、Loggerによって生成される各ログエントリの先頭にどのテキストを追加するかを定義します。 ビットはor'ed(論理和)されて、何が印刷されるかを制御します。 Lmsgprefixフラグを除いて、それらが表示される順序(ここにリストされている順序)や 形式(コメントで説明されているように)を制御する方法はありません。 プレフィックスは、LlongfileまたはLshortfileが指定されたときにのみコロンに続きます。 例えば、フラグLdate | Ltime(またはLstdFlags)は、
2009/01/23 01:23:23 message
フラグ Ldate | Ltime | Lmicroseconds | Llongfile は以下を生成します。
2009/01/23 01:23:23.123123 /a/b/c/d.go:23: message
Variables ¶
This section is empty.
Functions ¶
func Output ¶ added in v1.5.0
Outputはログイベントの出力を書き込みます。文字列sは、 Loggerのフラグで指定されたプレフィックスの後に印刷するテキストを含みます。 sの最後の文字がすでに改行でない場合、改行が追加されます。 Calldepthは、LlongfileまたはLshortfileが設定されている場合にファイル名と行番号を計算する際にスキップするフレームの数を表します。 値が1の場合、Outputの呼び出し元の詳細が印刷されます。
Types ¶
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Loggerは、io.Writerに対して出力行を生成するアクティブなロギングオブジェクトを表します。 各ロギング操作は、WriterのWriteメソッドを一度だけ呼び出します。 Loggerは複数のgoroutineから同時に使用することができます。これはWriterへのアクセスをシリアライズすることを保証します。
Example ¶
package main import ( "github.com/shogo82148/std/bytes" "github.com/shogo82148/std/fmt" "github.com/shogo82148/std/log" ) func main() { var ( buf bytes.Buffer logger = log.New(&buf, "logger: ", log.Lshortfile) ) logger.Print("Hello, log file!") fmt.Print(&buf) }
Output: logger: example_test.go:19: Hello, log file!
func New ¶
Newは新しいLoggerを作成します。out変数はログデータが書き込まれる先を設定します。 プレフィックスは、生成された各ログ行の先頭に表示されるか、 Lmsgprefixフラグが提供されている場合はログヘッダーの後に表示されます。 flag引数はログのプロパティを定義します。
func (*Logger) Output ¶
Outputはログイベントの出力を書き込みます。文字列sは、 Loggerのフラグで指定されたプレフィックスの後に印刷するテキストを含みます。 sの最後の文字がすでに改行でない場合、改行が追加されます。 CalldepthはPCを回復するために使用され、一般性を提供しますが、 現時点ではすべての事前定義されたパスで2になります。
Example ¶
package main import ( "github.com/shogo82148/std/bytes" "github.com/shogo82148/std/fmt" "github.com/shogo82148/std/log" ) func main() { var ( buf bytes.Buffer logger = log.New(&buf, "INFO: ", log.Lshortfile) infof = func(info string) { logger.Output(2, info) } ) infof("Hello world") fmt.Print(&buf) }
Output: INFO: example_test.go:36: Hello world
Directories
¶
Path | Synopsis |
---|---|
Package internal contains definitions used by both log and log/slog.
|
Package internal contains definitions used by both log and log/slog. |
Package slogは、メッセージ、重大度レベル、およびキー-値ペアとして表されるさまざまなその他の属性を含むログレコードを提供する構造化されたログを提供します。
|
Package slogは、メッセージ、重大度レベル、およびキー-値ペアとして表されるさまざまなその他の属性を含むログレコードを提供する構造化されたログを提供します。 |
internal/benchmarks
Package benchmarks contains benchmarks for slog.
|
Package benchmarks contains benchmarks for slog. |
internal/buffer
Package buffer provides a pool-allocated byte buffer.
|
Package buffer provides a pool-allocated byte buffer. |
internal/slogtest
Package slogtest contains support functions for testing slog.
|
Package slogtest contains support functions for testing slog. |
syslogパッケージは、システムログサービスへのシンプルなインターフェースを提供します。
|
syslogパッケージは、システムログサービスへのシンプルなインターフェースを提供します。 |