在 golang 中,可以通过标准库 log 包来实现日志格式的个性化定制。下面这段代码演示了如何设置自定义的日志格式:
package main import ( "log" "os" "time" ) func main() { // 打开或创建一个日志文件 logFile, err := os.OpenFile("logs.txt", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { log.Fatalf("无法打开日志文件: %v", err) } defer logFile.Close() // 将日志输出重定向到文件 log.SetOutput(logFile) // 自定义日志的显示格式 log.SetFlags(0) // 移除原有的日志标志 log.SetPrefix(time.Now().Format("2006-01-02 15:04:05") + " ") // 添加时间戳前缀 log.SetFlags(log.LstdFlags | log.Lshortfile) // 恢复时间戳和文件路径 // 记录一条带有自定义格式的日志 log.Println("这是一条自定义格式的日志消息") }
在这段代码中,我们首先通过 os.OpenFile 函数创建或打开一个日志文件,并将该文件作为日志输出的目标。接着,我们利用 log.SetOutput 方法更改默认的输出位置。为了实现个性化的日志格式,我们先用 log.SetFlags(0) 清空原有的日志标志,随后通过 log.SetPrefix 添加自定义的时间戳前缀。最后,重新启用时间戳和文件路径等标志。
执行此程序后,会在当前工作目录生成一个名为 logs.txt 的日志文件,其中包含了按照我们设定的格式记录的日志信息。