Package log
Overview ▾
Package log implements a simple logging package. It defines a type, Logger, with methods for formatting output. It also has a predefined 'standard' Logger accessible through helper functions Print[f|ln], Fatal[f|ln], and Panic[f|ln], which are easier to use than creating a Logger manually. That logger writes to standard error and prints the date and time of each logged message. The Fatal functions call os.Exit(1) after writing the log message. The Panic functions call panic after writing the log message. log包实现了一个简单的日志包. 它定义了一个类型,记录,对格式化输出的方法。 它也预定义了 '标准' 日志 通过访问帮手函数 Print[f|ln], Fatal[f|ln], 和 Panic[f|ln] ,这是比手动创建一个Logger使用更容易。 日志写入标准错误 并且 打印数据到每个时间记录的消息。 Fatal函数在写入日志信息后调用os.Exit(1). Panic函数可以在写入日志信息后 panic
Constants
const ( // Bits or'ed together to control what's printed. There is no control over the // order they appear (the order listed here) or the format they present (as // described in the comments). A colon appears after these items: // 2009/01/23 01:23:23.123123 /a/b/c/d.go:23: message
//位或操作,共同控制怎么打印.没有控制出现的顺序或他们提出的格式(如在注释里的描述).
//冒号出现这些项后:
//2009/01/23 01:23:23.123123 /a/b/c/d.go:23: message
Ldate = 1 << iota // the date: 2009/01/23
Ltime // the time: 01:23:23
Lmicroseconds // microsecond resolution: 01:23:23.123123. assumes Ltime.
Llongfile // full file name and line number: /a/b/c/d.go:23
Lshortfile // final file name element and line number: d.go:23. overrides Llongfile
LstdFlags = Ldate | Ltime // initial values for the standard logger
) These flags define which text to prefix to each log entry generated by the Logger. 这些标志定义前缀由记录器生成的每个日志条目的文本。
func Fatal
func Fatal(v ...interface{}) Fatal is equivalent to Print() followed by a call to os.Exit(1). Fatal等价于 Print()随后调用 os.Exit(1).
func Fatalf
func Fatalf(format string, v ...interface{}) Fatalf is equivalent to Printf() followed by a call to os.Exit(1). Fatalf等价于 Printf()随后调用 os.Exit(1).
func Fatalln
func Fatalln(v ...interface{}) Fatalln is equivalent to Println() followed by a call to os.Exit(1). Fatalln等价于 Println()随后调用 os.Exit(1).
func Flags
func Flags() int Flags returns the output flags for the standard logger. Flags 为标准日志返回输出标志
func Panic
func Panic(v ...interface{}) Panic is equivalent to Print() followed by a call to panic(). Panic等价于 Print()随后调用 panic().
func Panicf
func Panicf(format string, v ...interface{}) Panicf is equivalent to Printf() followed by a call to panic(). Panicf等价于 Printf()随后调用 panic().
func Panicln
func Panicln(v ...interface{}) Panicln is equivalent to Println() followed by a call to panic(). Panicln等价于 Println()随后调用 panic().
func Prefix
func Prefix() string Prefix returns the output prefix for the standard logger. Prefix返回标准日志的输出前缀
func Print
func Print(v ...interface{}) Print calls Output to print to the standard logger. Arguments are handled in the manner of fmt.Print. Print调用 Output 来打印标准日志. 参数以fmt.Print中的方式处理.
func Printf
func Printf(format string, v ...interface{}) Printf calls Output to print to the standard logger. Arguments are handled in the manner of fmt.Printf. Printf调用 Output 来打印标准日志. 参数以fmt.Printf中的方式处理.
func Println
func Println(v ...interface{}) Println calls Output to print to the standard logger. Arguments are handled in the manner of fmt.Println. Println调用 Output 来打印标准日志. 参数以fmt.Println中的方式处理.
func SetFlags
func SetFlags(flag int) SetFlags sets the output flags for the standard logger. SetFlags为标准日志设置输出标示
func SetOutput
func SetOutput(w io.Writer) SetOutput sets the output destination for the standard logger. SetOutput为标准日志设置输出目的
func SetPrefix
func SetPrefix(prefix string) SetPrefix sets the output prefix for the standard logger. SetPrefix为标准日志设置输出前缀
type Logger
type Logger struct { // contains filtered or unexported fields } A Logger represents an active logging object that generates lines of output to an io.Writer. Each logging operation makes a single call to the Writer's Write method. A Logger can be used simultaneously from multiple goroutines; it guarantees to serialize access to the Writer. 一个Logger 表示一个 活动的日志对象 生成一个 io.Writer 的输出行. 每个日志 操作 单个 Writer的 Write方法.
example: package main
import ( "bytes" "fmt" "log" )
func main() { var buf bytes.Buffer logger := log.New(&buf, "logger: ", log.Lshortfile) logger.Print("Hello, log file!")
fmt.Print(&buf)
}
func New
func New(out io.Writer, prefix string, flag int) *Logger New creates a new Logger. The out variable sets the destination to which log data will be written. The prefix appears at the beginning of each generated log line. The flag argument defines the logging properties. 创建一个新的Logger out变量设置到日志数据将被写入目的地 prefix出现在每个日志生成行的开头 flag参数定义了日志的属性
func (*Logger) Fatal
func (l *Logger) Fatal(v ...interface{}) Fatal is equivalent to l.Print() followed by a call to os.Exit(1). Fatal 等价于 l.Print() 随后调用 os.Exit(1).
func (*Logger) Fatalf
func (l *Logger) Fatalf(format string, v ...interface{}) Fatalf is equivalent to l.Printf() followed by a call to os.Exit(1). Fatalf 等价于 l.Printf() 随后调用 os.Exit(1).
func (*Logger) Fatalln
func (l *Logger) Fatalln(v ...interface{}) Fatalln is equivalent to l.Println() followed by a call to os.Exit(1). Fatalln 等价于 l.Println() 随后调用 os.Exit(1).
func (*Logger) Flags
func (l *Logger) Flags() int Flags returns the output flags for the logger. Flags返回日志的输出标记
func (*Logger) Output
func (l *Logger) Output(calldepth int, s string) error Output writes the output for a logging event. The string s contains the text to print after the prefix specified by the flags of the Logger. A newline is appended if the last character of s is not already a newline. Calldepth is used to recover the PC and is provided for generality, although at the moment on all pre-defined paths it will be 2. Output 写输出一个 日志事件。 字符串s包含了 在Logger 指定的 标记 前缀 之后要打印的内容。 如果s的最后一个字符已经没有换行 了, 追加一个换行符。 Calldepth 用来 覆盖 PC 和 提供了一种用于一般性的,在所有预先定义的路径的将是2
func (*Logger) Panic
func (l *Logger) Panic(v ...interface{}) Panic is equivalent to l.Print() followed by a call to panic(). Panic 等价于 l.Print() 随后调用 panic
func (*Logger) Panicf
func (l *Logger) Panicf(format string, v ...interface{}) Panicf is equivalent to l.Printf() followed by a call to panic(). Panicf 等价于 l.Printf() 随后调用 panic
func (*Logger) Panicln
func (l *Logger) Panicln(v ...interface{}) Panicln is equivalent to l.Println() followed by a call to panic(). Panicln 等价于 l.Println() 随后调用 panic
func (*Logger) Prefix
func (l *Logger) Prefix() string Prefix returns the output prefix for the logger. 返回日志输出的前缀
func (*Logger) Print
func (l *Logger) Print(v ...interface{}) Print calls l.Output to print to the logger. Arguments are handled in the manner of fmt.Print. Print调用 l.Output 来打印日志。 参数以fmt.Print中的处理方式 处理
func (*Logger) Printf
func (l *Logger) Printf(format string, v ...interface{}) Printf calls l.Output to print to the logger. Arguments are handled in the manner of fmt.Printf. Printf调用 l.Output 来打印日志。 参数以fmt.Printf中的处理方式 处理
func (*Logger) Println
func (l *Logger) Println(v ...interface{}) Println calls l.Output to print to the logger. Arguments are handled in the manner of fmt.Println. Println调用 l.Output 来打印日志。 参数以fmt.Println中的处理方式 处理
func (*Logger) SetFlags
func (l *Logger) SetFlags(flag int) SetFlags sets the output flags for the logger. 设置日志的输出标示
func (*Logger) SetPrefix
func (l *Logger) SetPrefix(prefix string) SetPrefix sets the output prefix for the logger. 设置日志的输出前缀标示
s.