©
本文档使用 PHP中文网手册 发布
import "log"
概述
索引
示例
子目录
Log 包实现了一个简单的日志包。它定义了一个类型,记录器,用于格式化输出的方法。它还有一个预定义的“standard”记录器,可以通过帮助函数 Printf|ln,Fatalf|ln 和 Panicf|ln 访问,比手动创建记录器更易于使用。该记录器写入标准错误并打印每条记录的消息的日期和时间。每条日志消息都在一个单独的行上输出:如果正在打印的消息不以换行符结尾,则记录器将添加一条。写入日志消息后,致命函数调用 os.Exit(1) 。写入日志消息后, Panic 函数调用 panic 。
常量
func Fatal(v ...interface{})
func Fatalf(format string, v ...interface{})
func Fatalln(v ...interface{})
func Flags() int
func Output(calldepth int, s string) error
func Panic(v ...interface{})
func Panicf(format string, v ...interface{})
func Panicln(v ...interface{})
func Prefix() string
func Print(v ...interface{})
func Printf(format string, v ...interface{})
func Println(v ...interface{})
func SetFlags(flag int)
func SetOutput(w io.Writer)
func SetPrefix(prefix string)
type Logger
func New(out io.Writer, prefix string, flag int) *Logger
func (l *Logger) Fatal(v ...interface{})
func (l *Logger) Fatalf(format string, v ...interface{})
func (l *Logger) Fatalln(v ...interface{})
func (l *Logger) Flags() int
func (l *Logger) Output(calldepth int, s string) error
func (l *Logger) Panic(v ...interface{})
func (l *Logger) Panicf(format string, v ...interface{})
func (l *Logger) Panicln(v ...interface{})
func (l *Logger) Prefix() string
func (l *Logger) Print(v ...interface{})
func (l *Logger) Printf(format string, v ...interface{})
func (l *Logger) Println(v ...interface{})
func (l *Logger) SetFlags(flag int)
func (l *Logger) SetOutput(w io.Writer)
func (l *Logger) SetPrefix(prefix string)
Logger Logger.Output
log.go
这些标志定义了哪些文本要加入由Logger生成的每个日志条目。
const ( // Bit 或'ed 一起控制什么打印。 // 无法控制它们出现的顺序(列出的顺序) // 这里)或他们提出的格式(如注释中所述)。 // 仅当Llongfile或Lshortfile时,前缀后跟冒号 // 已指定。 // 例如,标志Ldate|Ltime(或LstdFlags)产生, // 2009/01/23 01:23:23 信息 // 而标志Ldate | Ltime | Lmicroseconds | Llongfile生成, // 2009/01/23 01:23:23.123123 /a/b/c/d.go:23: 信息 Ldate = 1 << iota // 当地时区的日期:2009/01/23 Ltime // 在当地时区的时间:01:23:23 Lmicroseconds // 微秒分辨率:01:23:23.123123。 假设Ltime。 Llongfile // 完整的文件名和行号:/a/b/c/d.go:23 Lshortfile // 最终文件名元素和行号:d.go:23。 覆盖Llongfile LUTC // 如果设置了日期或时间,请使用UTC而不是本地时区 LstdFlags = Ldate | Ltime // 标准记录器的初始值)
func Fatal(v ...interface{})
Fatal 等同于 Print(),然后调用 os.Exit(1)。
func Fatalf(format string, v ...interface{})
Fatalf 等同于 Printf(),然后调用os.Exit(1)。
func Fatalln(v ...interface{})
Fatalln 等同于 Println(),然后调用os.Exit(1)。
func Flags() int
标志返回标准记录器的输出标志。
func Output(calldepth int, s string) error
输出写入记录事件的输出。字符串 s 包含要在记录器的标志指定的前缀之后打印的文本。如果 s 的最后一个字符不是换行符,则会追加换行符。 Calldepth 是在设置 Llongfile 或 Lshortfile 时计算文件名和行号时跳过的帧;值为1将 打印 Output 的调用者的详细信息。
func Panic(v ...interface{})
Panic 等同于 Print(),然后调用 panic()。
func Panicf(format string, v ...interface{})
Panicf 相当于 Printf(),然后调用 panic()。
func Panicln(v ...interface{})
Panicln 相当于 Println(),然后调 用panic()。
func Prefix() string
前缀返回标准记录器的输出前缀。
func Print(v ...interface{})
打印调用打印输出到标准记录器。参数 以 fmt.Print 的方式处理。
func Printf(format string, v ...interface{})
Printf 调用输出以打印到标准记录器。参数以 fmt.Printf 的方式处理。
func Println(v ...interface{})
Println 调用输出打印到标准记录器。参数以 fmt.Println 的方式处理。
func SetFlags(flag int)
SetFlags 设置标准记录器的输出标志。
func SetOutput(w io.Writer)
SetOutput 设置标准记录器的输出目的地。
func SetPrefix(prefix string)
SetPrefix 设置标准记录器的输出前缀。
Logger 表示一个活动日志记录对象,它可以向 io.Writer 生成输出行。每个日志记录操作都会对Writer的Write方法进行一次调用。记录器可以在多个 goroutines 中同时使用; 它保证序列化对 Writer 的访问。
type Logger struct { // 包含已过滤或未导出的字段}
package mainimport ("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(out io.Writer, prefix string, flag int) *Logger
新建了一个新的记录器。out 变量设置将写入日志数据的目标。前缀出现在每个生成的日志行的开头。标志参数定义了日志记录属性。
func (l *Logger) Fatal(v ...interface{})
致命等同于 l.Print(),然后调用 os.Exit(1)。
func (l *Logger) Fatalf(format string, v ...interface{})
Fatalf 等同于 l.Printf(),然后调用 os.Exit(1)。
func (l *Logger) Fatalln(v ...interface{})
Fatalln 相当于 l.Println(),然后调用 os.Exit(1)。
func (l *Logger) Flags() int
标志返回记录器的输出标志。
func (l *Logger) Output(calldepth int, s string) error
输出写入记录事件的输出。字符串s包含要在记录器的标志指定的前缀之后打印的文本。如果s的最后一个字符不是换行符,则会追加换行符。Calldepth 用于恢复 PC 并提供通用性,但目前在所有预定义路径上它将为2。
package mainimport ("bytes""fmt""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)}
func (l *Logger) Panic(v ...interface{})
Panic 等同于 l.Print(),然后调用 panic()。
func (l *Logger) Panicf(format string, v ...interface{})
Panicf 相当于 l.Printf(),然后调用 panic()。
func (l *Logger) Panicln(v ...interface{})
Panicln 相当于 l.Println(),然后调用 panic()。
func (l *Logger) Prefix() string
前缀返回记录器的输出前缀。
func (l *Logger) Print(v ...interface{})
打印调用 l.Output 打印到记录器。参数以 fmt.Print的方式处理。
func (l *Logger) Printf(format string, v ...interface{})
Printf 调用 l.Output 打印到记录器。参数以 fmt.Printf 的方式处理。
func (l *Logger) Println(v ...interface{})
Println 调用 l.Output 打印到记录器。参数以 fmt.Println 的方式处理。
func (l *Logger) SetFlags(flag int)
SetFlags 设置记录器的输出标志。
func (l *Logger) SetOutput(w io.Writer)
SetOutput 设置记录器的输出目的地。
func (l *Logger) SetPrefix(prefix string)
SetPrefix 设置记录器的输出前缀。
名称 | 概述 |
---|---|
syslog | 软件包系统日志为系统日志服务提供了一个简单的界面。 |