您的位置:首页 >Golang日志如何自定义格式
发布于2026-04-21 阅读(0)
扫一扫,手机访问
在Golang里记录日志,标准库里的“log”包是个不错的起点。不过,默认的输出格式可能不太够用,比如你想加上特定的前缀,或者更详细的时间、文件信息。这时候,自定义日志格式就成了刚需。
别担心,实现起来并不复杂。核心就在于灵活运用log包提供的SetPrefix和SetFlags这两个方法。下面,我们通过一个完整的示例,手把手带你走一遍流程。

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.Fatal(err)
}
defer logFile.Close()
// 设置日志输出到文件
log.SetOutput(logFile)
// 设置日志前缀
log.SetPrefix("自定义前缀: ")
// 设置日志标志,这里我们设置了时间戳和日志级别
log.SetFlags(log.LstdFlags | log.Lshortfile)
// 记录日志
log.Println("这是一条日志信息")
}
我们一步步来看这段代码做了什么。首先,它创建(或打开)了一个名为logs.txt的文件,用来接收日志输出,这比只打印到控制台要实用得多。
接下来的三步是关键操作:
SetOutput将日志的输出目的地指向了我们刚创建的文件。SetPrefix为每行日志添加了一个统一的“自定义前缀: ”,方便快速识别日志来源或类型。SetFlags这里配置了格式标志。组合使用log.LstdFlags(标准日期时间)和log.Lshortfile(短文件名和行号),能让日志信息包含关键的上下文。运行这段程序后,打开生成的logs.txt文件,你会看到类似下面这样一行记录:
自定义前缀: 2022/08/01 12:34:56 main.go:28: 这是一条日志信息
看,格式完全按照我们的设定来了:自定义前缀打头,紧接着是精确到秒的时间戳,然后定位到具体的代码文件和行号,最后才是我们输入的日志内容。这样一来,排查问题时就清晰多了。
当然,这只是一个起点。log包还支持其他标志,比如log.Lmicroseconds来获取微秒级时间,你可以根据自己的需求自由组合。掌握这几个方法,就能让Golang的日志输出完全贴合你的项目规范。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9