linux

如何自定义 Golang 日志格式

小樊
40
2025-05-28 20:24:51
栏目: 编程语言

在 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("这是一条日志信息")
}

在这个示例中,我们首先创建了一个日志文件,并将其设置为日志输出的目标。然后,我们使用 SetFlags 方法清除默认的日志标志,并设置一个自定义的时间前缀。最后,我们使用 SetFlags 方法添加时间戳和文件名作为日志标志。

运行这个程序后,你会在当前目录下看到一个名为 logs.txt 的日志文件,其中包含自定义格式的日志信息。

0
看了该问题的人还看了