以下是一个示例代码,展示了如何使用 log
包进行日志记录:
package main
import (
"log"
"os"
)
func main() {
// 创建一个日志记录器
logger := log.New(os.Stdout, "Example ", log.LstdFlags|log.Lshortfile)
// 输出日志信息
logger.Println("This is a log message.")
// 输出错误日志信息
logger.Println("This is an error message.")
// 设置日志的前缀和输出标志
logger.SetPrefix("Prefix ")
logger.SetFlags(log.Ldate | log.Lmicroseconds)
// 输出更新后的日志信息
logger.Println("This is a modified log message.")
}
在这个示例中,我们首先导入了需要使用的包,包括 log
和 os
。
然后,在 main()
函数中,我们使用 log.New()
函数创建了一个新的日志记录器。log.New()
函数接受三个参数:输出目标(这里使用 os.Stdout
,表示输出到标准输出)、日志的前缀字符串(这里是 "Example ")和输出标志(使用了 log.LstdFlags
和 log.Lshortfile
)。
接下来,我们使用日志记录器的 Println()
方法输出日志信息。这个方法会在日志信息的末尾添加换行符。
然后,我们使用相同的方法输出一个错误日志信息。错误日志信息与普通日志信息的区别在于它们通常被输出到标准错误(os.Stderr
)而不是标准输出。
接着,我们使用日志记录器的 SetPrefix()
方法设置日志的前缀为 "Prefix ",并使用 SetFlags()
方法设置输出标志为日期(log.Ldate
)和微秒级时间(log.Lmicroseconds
)。
最后,我们再次使用日志记录器的 Println()
方法输出一个更新后的日志信息,这次日志信息的前缀和输出标志已经被修改。
要运行这个示例,可以在命令行中使用以下命令:
go run main.go
输出将会类似于以下内容:
2021/09/01 15:04:05 Example main.go:12: This is a log message.
2021/09/01 15:04:05 Example main.go:15: This is an error message.
2021/09/01 15:04:05.123456 Prefix main.go:19: This is a modified log message.
通过使用 log
包,我们可以方便地进行日志记录。可以根据需要创建自定义的日志记录器,设置前缀和输出标志,并使用不同的方法记录不同级别的日志信息。