CentOS Golang日志格式如何自定义
在CentOS环境下,通过Golang标准库log包可自定义日志格式,包括时间戳、文件名和行号。创建main.go文件,设置日志输出到文件,清空默认格式后添加前缀和标志位,编译运行即可。若需更丰富功能,可选logrus或zap第三方库。
在 CentOS 环境下,用 Golang 做自定义日志格式其实并不复杂——标准库 log 包就已经够用,当然,如果你偏好更丰富的功能,logrus 或 zap 这类第三方库也是常见的选择。下面先用标准库走一遍完整的操作流程,保证你拿到就能直接用。

先创建一个名为
main.go的文件,所有代码都写在这里。写入下面的代码,关键部分已经加了注释,方便你理解每一步在做什么:
package main
import (
"log"
"os"
"time"
)
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(0) // 先清零,避免干扰
log.SetPrefix(time.Now().Format("2006-01-02 15:04:05")) // 加上时间前缀
log.SetFlags(log.LstdFlags | log.Lshortfile) // 再追加标准时间戳和短文件名行号
// 写一条测试日志
log.Println("This is a log message.")
}
- 终端里执行编译和运行:
go build main.go
./main
- 查看同目录下生成的
app.log文件,内容看起来类似这样:
2022-01-01 12:34:56 main.go:28: This is a log message.
这个例子用标准库实现了自定义格式——时间戳、文件名、行号全都包含进去了。你完全可以根据实际需求调整前缀、标志位,比如去掉文件名只保留时间,或者改用自定义的日期格式。如果标准库的灵活度还不够,那么 logrus 或 zap 的文档里也有更丰富的定制方案,值得一看。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















