Go语言标准库中的log包提供了一组简单但功能强大的日志记录功能,用于在Go应用程序中生成日志信息。该包提供了多种记录级别,以及可定制化的日志记录格式。
基本使用
log包中提供了三个输出方法:Print、Printf和Println。这些方法会将日志信息输出到标准错误输出流中。
代码语言:javascript复制package main
import (
"log"
)
func main() {
log.Print("This is a log message.")
log.Printf("This is a formatted log message with an integer: %d", 123)
log.Println("This is a log message with a new line.")
}
在上面的示例中,我们通过log包的Print、Printf和Println方法输出了三种不同格式的日志信息。输出结果如下所示:
代码语言:javascript复制2023/04/22 10:34:08 This is a log message.
2023/04/22 10:34:08 This is a formatted log message with an integer: 123
2023/04/22 10:34:08 This is a log message with a new line.
输出信息包含了日期和时间、日志级别以及日志内容。默认情况下,log包输出的日志级别是“info”。
如果需要记录不同级别的日志信息,可以使用log包提供的SetOutput方法来更改输出流,并使用log包提供的SetPrefix方法来设置前缀信息。
代码语言:javascript复制package main
import (
"log"
"os"
)
func main() {
log.SetOutput(os.Stdout)
log.SetPrefix("DEBUG: ")
log.Println("This is a debug message.")
}
在上面的示例中,我们使用SetOutput方法将输出流更改为标准输出流,并使用SetPrefix方法将前缀信息设置为“DEBUG: ”。输出结果如下所示:
代码语言:javascript复制DEBUG: 2023/04/22 10:45:30 This is a debug message.