Hello! 欢迎来到小浪云!


如何自定义 Golang 日志格式


avatar
小浪云 2025-06-03 10

如何自定义 Golang 日志格式

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 的日志文件,其中包含了按照我们设定的格式记录的日志信息。

相关阅读