log

package
v1.21.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 9, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

パッケージlogはシンプルなロギングパッケージを実装します。出力のフォーマットに関するメソッドを持つLoggerという型を定義します。 また、Print[f|ln]、Fatal[f|ln]、Panic[f|ln]というヘルパー関数を通じてアクセス可能な、事前定義された'standard' Loggerもあります。 これらは、手動でLoggerを作成するよりも使いやすいです。そのロガーは標準エラーに書き込み、各ログメッセージの日付と時間を印刷します。 すべてのログメッセージは別々の行に出力されます:印刷されるメッセージが改行で終わらない場合、ロガーは一つ追加します。 Fatal関数は、ログメッセージを書き込んだ後にos.Exit(1)を呼び出します。 Panic関数は、ログメッセージを書き込んだ後にpanicを呼び出します。

Index

Examples

Constants

View Source
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 Fatal

func Fatal(v ...any)

FatalはPrint()の後にos.Exit(1)を呼び出すのと同等です。

func Fatalf

func Fatalf(format string, v ...any)

FatalfはPrintf()の後にos.Exit(1)を呼び出すのと同等です。

func Fatalln

func Fatalln(v ...any)

FatallnはPrintln()の後にos.Exit(1)を呼び出すのと同等です。

func Flags

func Flags() int

Flagsは標準ロガーの出力フラグを返します。 フラグビットはLdate、Ltimeなどです。

func Output added in v1.5.0

func Output(calldepth int, s string) error

Outputはログイベントの出力を書き込みます。文字列sは、 Loggerのフラグで指定されたプレフィックスの後に印刷するテキストを含みます。 sの最後の文字がすでに改行でない場合、改行が追加されます。 Calldepthは、LlongfileまたはLshortfileが設定されている場合にファイル名と行番号を計算する際にスキップするフレームの数を表します。 値が1の場合、Outputの呼び出し元の詳細が印刷されます。

func Panic

func Panic(v ...any)

PanicはPrint()の後にpanic()を呼び出すのと同等です。

func Panicf

func Panicf(format string, v ...any)

PanicfはPrintf()の後にpanic()を呼び出すのと同等です。

func Panicln

func Panicln(v ...any)

PaniclnはPrintln()の後にpanic()を呼び出すのと同等です。

func Prefix

func Prefix() string

Prefixは標準ロガーの出力プレフィックスを返します。

func Print

func Print(v ...any)

PrintはOutputを呼び出して標準ロガーに出力します。 引数はfmt.Printの方法で処理されます。

func Printf

func Printf(format string, v ...any)

PrintfはOutputを呼び出して標準ロガーに出力します。 引数はfmt.Printfの方法で処理されます。

func Println

func Println(v ...any)

PrintlnはOutputを呼び出して標準ロガーに出力します。 引数はfmt.Printlnの方法で処理されます。

func SetFlags

func SetFlags(flag int)

SetFlagsは標準ロガーの出力フラグを設定します。 フラグビットはLdate、Ltimeなどです。

func SetOutput

func SetOutput(w io.Writer)

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

func SetPrefix

func SetPrefix(prefix string)

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

func Writer added in v1.13.0

func Writer() io.Writer

Writerは標準ロガーの出力先を返します。

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 Default added in v1.16.0

func Default() *Logger

Defaultは、パッケージレベルの出力関数で使用される標準ロガーを返します。

func New

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

Newは新しいLoggerを作成します。out変数はログデータが書き込まれる先を設定します。 プレフィックスは、生成された各ログ行の先頭に表示されるか、 Lmsgprefixフラグが提供されている場合はログヘッダーの後に表示されます。 flag引数はログのプロパティを定義します。

func (*Logger) Fatal

func (l *Logger) Fatal(v ...any)

Fatalはl.Print()の後にos.Exit(1)を呼び出すのと同等です。

func (*Logger) Fatalf

func (l *Logger) Fatalf(format string, v ...any)

Fatalfはl.Printf()の後にos.Exit(1)を呼び出すのと同等です。

func (*Logger) Fatalln

func (l *Logger) Fatalln(v ...any)

Fatallnはl.Println()の後にos.Exit(1)を呼び出すのと同等です。

func (*Logger) Flags

func (l *Logger) Flags() int

Flagsはロガーの出力フラグを返します。 フラグビットはLdate、Ltimeなどです。

func (*Logger) Output

func (l *Logger) Output(calldepth int, s string) error

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

func (*Logger) Panic

func (l *Logger) Panic(v ...any)

Panicはl.Print()の後にpanic()を呼び出すのと同等です。

func (*Logger) Panicf

func (l *Logger) Panicf(format string, v ...any)

Panicfはl.Printf()の後にpanic()を呼び出すのと同等です。

func (*Logger) Panicln

func (l *Logger) Panicln(v ...any)

Paniclnはl.Println()の後にpanic()を呼び出すのと同等です。

func (*Logger) Prefix

func (l *Logger) Prefix() string

Prefixはロガーの出力プレフィックスを返します。

func (*Logger) Print

func (l *Logger) Print(v ...any)

Printはl.Outputを呼び出してロガーに出力します。 引数はfmt.Printの方法で処理されます。

func (*Logger) Printf

func (l *Logger) Printf(format string, v ...any)

Printfはl.Outputを呼び出してロガーに出力します。 引数はfmt.Printfの方法で処理されます。

func (*Logger) Println

func (l *Logger) Println(v ...any)

Printlnはl.Outputを呼び出してロガーに出力します。 引数はfmt.Printlnの方法で処理されます。

func (*Logger) SetFlags

func (l *Logger) SetFlags(flag int)

SetFlagsはロガーの出力フラグを設定します。 フラグビットはLdate、Ltimeなどです。

func (*Logger) SetOutput added in v1.5.0

func (l *Logger) SetOutput(w io.Writer)

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

func (*Logger) SetPrefix

func (l *Logger) SetPrefix(prefix string)

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

func (*Logger) Writer added in v1.12.0

func (l *Logger) Writer() io.Writer

Writerはロガーの出力先を返します。

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パッケージは、システムログサービスへのシンプルなインターフェースを提供します。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL