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 的这套方案已经足够好用了。
UltraEdit macOS版是一款面向开发者、数据处理人员和IT从业者的专业编辑器,可处理大型文本、日志、代码及十六进制数据,并提供跨文件搜索、列模式、Git、FTP、宏与脚本等实用功能。
IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。
JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。
JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,
PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,
PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,






