Golang log 包详解
Golang 的 log 包提供了简单的日志记录功能。以下是一些常用的函数和类型:
func Print(v ...interface{})
:打印日志信息,不换行。func Fatal(v ...interface{})
:打印日志信息,然后调用 os.Exit(1) 退出程序。func Panic(v ...interface{})
:打印日志信息,然后抛出一个 panic。func Println(v ...interface{})
:打印日志信息,并换行。func Printf(format string, v ...interface{})
:按照格式打印日志信息。func Fatalf(format string, v ...interface{})
:按照格式打印日志信息,然后退出程序。func Panicf(format string, v ...interface{})
:按照格式打印日志信息,然后抛出 panic。type Logger
:代表一个日志记录器,可以配置输出到文件或其他位置。func New(out io.Writer, prefix string) *Logger
:创建一个新的 Logger,可以指定输出目标和前缀。func (l *Logger) Fatal(v ...interface{})
:记录日志信息,然后调用 os.Exit(1) 退出程序。func (l *Logger) Fatalf(format string, v ...interface{})
:按格式记录日志信息,然后退出程序。func (l *Logger) Panic(v ...interface{})
:记录日志信息,然后抛出 panic。func (l *Logger) Panicf(format string, v ...interface{})
:按格式记录日志信息,然后抛出 panic。func (l *Logger) Print(v ...interface{})
:记录日志信息,不换行。func (l *Logger) Printf(format string, v ...interface{})
:按格式记录日志信息。func (l *Logger) Println(v ...interface{})
:记录日志信息,并换行。
示例代码:
package main
import (
"log"
"os"
)
func main() {
// 创建一个新的 Logger,输出到标准错误,并带有时间戳前缀
logger := log.New(os.Stderr, "[INFO] ", log.LstdFlags)
// 使用 logger 记录日志
logger.Println("This is a log message without flags.")
logger.Printf("The answer is %d.\n", 42)
logger.Fatal("This will exit the program after logging this message.")
}
在这个例子中,我们创建了一个新的 Logger,它会把日志信息输出到标准错误设备(stderr),并且每条日志都会带有 "[INFO]" 前缀和当前时间戳。然后我们用这个 logger 记录了几条不同的日志信息,其中一条是使用 Fatal 方法,它会导致程序退出。
评论已关闭