Golang日志中如何设置关键信息高亮
在Golang日志中,使用logrus库并设置TextFormatter的DisableColors为false,可启用ANSI颜色实现关键信息高亮。不同日志级别自动显示对应颜色,支持自定义。该方法简单有效,但需注意ANSI转义码在部分终端或旧版系统中可能无法正常显示。
说到 Golang 日志,很多时候我们不仅想记录信息,更希望关键的部分能一眼被抓住——比如高亮显示。那怎么实现呢?很多开发者会想到第三方库,其中 logrus 就是一个很受欢迎的选择,它自带日志级别、格式化和输出控制,还支持颜色配置。

用 logrus 配合 ANSI 转义码来高亮关键信息,其实并不复杂。下面直接看步骤和代码。
- 首先,确保项目里已经安装了
logrus库,运行:
go get github.com/sirupsen/logrus
- 创建一个
main.go文件,写入以下代码:
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
logrus.SetFormatter(&logrus.TextFormatter{
DisableColors: false,
FullTimestamp: true,
})
logrus.Info("这是一条普通日志")
logrus.WithFields(logrus.Fields{
"animal": "walrus",
"size": 10,
}).Info("A group of walrus emerges from the ocean")
logrus.WithFields(logrus.Fields{
"omg": true,
"number": 100,
}).Warn("The group's number increased tremendously!")
logrus.WithFields(logrus.Fields{
"omg": true,
"number": 100,
}).Fatal("The ice breaks!")
}
这段代码里,核心是设置了 TextFormatter 并将 DisableColors 设为 false,这样 logrus 就会在输出时启用 ANSI 颜色。字段名和字段值会以默认颜色显示,不同日志级别(Info、Warn、Fatal)也会自动带上对应颜色(比如 Warn 通常是黄色,Fatal 是红色)。
- 运行程序:
go run main.go
你会看到终端里输出带有颜色的日志,关键信息一目了然。当然,这些默认颜色可以按需自定义,比如修改 TextFormatter 的 ForceColors 或直接使用自定义的 Formatter 接口。
需要留意的是,ANSI 转义码在部分终端或操作系统(比如 Windows 的旧版 cmd)上可能无法正常显示。如果遇到这种情况,可以考虑换用其他支持颜色的日志库,比如 zap 配合自定义编码器,或者干脆自己封装一个轻量级的高亮工具。不过对于大多数现代终端,logrus 的这套方案已经足够好用了。


































