商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > centos环境下如何定制golang日志格式

centos环境下如何定制golang日志格式

  发布于2026-07-13 阅读(0)

扫一扫,手机访问

在CentOS下做Golang开发,日志格式这事儿看着不起眼,但真到了排查线上问题的时候,格式乱不乱、信息全不全,直接决定你是十分钟定位故障还是半小时抓瞎。标准库 log 虽然轻量,但定制能力同样够用;如果你需要更高级的功能,还可以上 logruszap。今天先聊聊怎么用标准库把日志格式玩出花样。

centos环境下如何定制golang日志格式

第一步,创建一个 Go 程序文件,比如就叫 main.go。这是基本功,不赘述。

第二步,导入必要的包。标准库 logos 就够了:

package main

import (
    "log"
    "os"
)

第三步,定义你想要的日志格式。这里用 log.LstdFlags 做底子,再加上自定义的前缀和后缀:

const customLogFormat = "[$(date +%Y-%m-%d\ %H:%M:%S)] [%(levelname)s] [%(message)s]"

第四步,在 main 函数里配置日志输出。把输出目标设为控制台,顺便加上行号和前缀,方便定位:

func main() {
    // 设置日志输出格式
    log.SetFlags(log.LstdFlags | log.Lshortfile)
    log.SetPrefix("INFO: ")
    log.SetOutput(os.Stdout)

    // 使用自定义日志格式
    log.Printf(customLogFormat, "This is a custom log message")

    // 其他代码...
}

第五步,编译运行:

$ go build main.go
$ ./main

跑起来之后,你应该能看到按你定制的格式输出的日志。想改格式?直接调整 customLogFormat 里的字符串就行。比如把时间格式换成 2006-01-02 15:04:05,或者加个日志级别字段,都很简单。

如果你觉得标准库的功能不够用——比如需要结构化日志、字段过滤、不同输出目标——那就可以考虑上 logruszap。它们都提供了高度灵活的配置接口,定制起来会更顺手。不过话说回来,标准库在多数场景下已经够用,关键是理解它的核心机制:通过 SetFlags 控制时间、文件、行号等内置信息,通过 SetPrefix 固定前缀,再用 log.Printf 传递自定义占位符。掌握了这些,基本上就能覆盖日常需求。

本文转载于:https://www.yisu.com/ask/36486901.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注