在CentOS系统中运行Go语言应用时,如何配置日志格式?其实步骤非常简洁,只需掌握几个关键操作即可快速完成。下面直接进入正题。

首先确认Go开发环境是否已安装。如果尚未安装,只需执行一条命令即可完成:
sudo yum install golang
接下来,新建一个Go项目,或在已有项目中创建一个文件,例如main.go。随后导入必需的标准库包——log用于日志记录,os用于文件操作:
package main
import (
"log"
"os"
)
关键环节来了——如何定义自定义日志格式。Go标准库中的log包提供了SetFlags方法,能够灵活控制每条日志所包含的信息字段。例如,若希望同时输出日期、时间以及源文件行号,可以这样编写:
func main() {
// 先创建或打开一个日志文件
logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
log.Fatalf("error opening log file: %v", err)
}
defer logFile.Close()
// 指定日志输出到文件
log.SetOutput(logFile)
// 设置格式:日期 + 时间 + 文件名及行号
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
// 写一条日志试试
log.Println("This is a log message")
}
这段代码完成了几个核心步骤:首先打开(或创建)一个名为app.log的文件,并将日志输出定向至该文件;然后通过SetFlags定义日志所包含的字段;最后写入一条测试消息。运行程序后,你会在当前目录下看到生成的app.log文件,其日志内容示例如下:
2025/03/10 14:32:17 main.go:18: This is a log message
验证程序是否正常工作:
go run main.go
如果需要更复杂的日志格式(例如添加自定义前缀或后缀,或仅保留时间而不含日期),只需调整SetFlags的参数即可。具体支持的标志位可查阅官方文档,此处不再赘述。
简单总结:log.SetFlags是控制日志内容的核心方法,log.SetOutput决定日志的写入目标,两者配合即可获得所需的输出样式。而且全程使用标准库,无需额外依赖,非常轻量简洁。
