发布于2026-07-15 阅读(0)
扫一扫,手机访问
在CentOS上配置Golang日志,其实说难不难,关键看你怎么选。最常用的就两条路:要么用标准库自带的log,轻量省事;要么上第三方库,比如logrus或zap,功能更全。下面直接拆开讲,从零开始写。

log标准库的好处是用不着额外引入依赖,适合小项目或者快速原型。操作起来也很直观:
logger.go,专门放日志配置代码。package main
import (
"fmt"
"log"
"os"
)
func init() {
// 设置日志输出格式
log.SetFlags(log.LstdFlags | log.Lshortfile)
// 设置日志输出文件
logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
log.Fatalf("打开日志文件失败: %v", err)
}
defer logFile.Close()
log.SetOutput(logFile)
}
func main() {
log.Println("这是一条日志信息")
log.Printf("这是一个带参数的日志信息: %d", 42)
}
这段代码干了三件事:先配好输出格式(带时间戳、文件名和行号),再打开一个叫app.log的日志文件,最后把这个文件设成日志的目的地。以后所有log.Println和log.Printf写的东西都乖乖进这个文件。
logger.go 就可以直接用了,比如这样:package main
import (
"your_project/logger"
)
func main() {
logger.Info("这是一条日志信息")
logger.Warn("这是一个警告信息")
logger.Error("这是一个错误信息")
}
跑起来以后,日志就会源源不断地写进 app.log,查起来很方便。
logrus如果项目大了,标准库的调味料可能不太够——比如你想控制日志级别、输出到多个目标、或者换更漂亮的格式。这时候用 logrus 显然更顺手。安装很简单:
go get github.com/sirupsen/logrus
然后在 logger.go 里换成这样的配置:
package main
import (
"os"
"github.com/sirupsen/logrus"
)
func init() {
logrus.SetFormatter(&logrus.TextFormatter{
FullTimestamp: true,
})
logrus.SetOutput(os.Stdout)
logrus.SetLevel(logrus.DebugLevel)
}
func main() {
logrus.Info("这是一条日志信息")
logrus.Warn("这是一个警告信息")
logrus.Error("这是一个错误信息")
}
这里我们把日志输出到控制台(os.Stdout),格式用了带完整时间戳的文本形式,日志级别设成了DebugLevel——也就是说,从调试信息到错误都会显示出来。你要是只想看到警告以上,改成WarnLevel就行。
package main
import (
"your_project/logger"
)
func main() {
logger.Info("这是一条日志信息")
logger.Warn("这是一个警告信息")
logger.Error("这是一个错误信息")
}
现在日志直接刷在控制台上了,调试期间特别方便。当然,你也可以根据需要调整输出文件、格式和级别——这一步留给读者自己玩。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8