发布于2026-07-07 阅读(0)
扫一扫,手机访问
在Debian系统中,如果你想给Golang的日志输出加点“个人风格”,其实并不复杂。标准库自带log包就能搞定基础定制,要是追求更丰富的功能,像logrus、zap这类第三方库也是不错的选择。下面直接上干货,分别演示一下标准库和logrus的使用方法。

main.go:package main
import (
"log"
"os"
)
func main() {
// 创建一个自定义的日志输出器
logger := log.New(os.Stdout, "自定义前缀: ", log.Ldate|log.Ltime|log.Lshortfile)
// 使用自定义的日志输出器记录日志
logger.Println("这是一条日志信息")
}
go run main.go
你会看到类似这样的输出:
自定义前缀: 2022/08/01 12:34:56 main.go:10: 这是一条日志信息
标准库的用法就是这么干净:通过log.New指定输出目标、前缀和标志位,就能控制时间戳、文件位置等细节。当然,如果觉得标准库的格式选项不够灵活,那第三方库就更对胃口了。
go get github.com/sirupsen/logrus
main.go:package main
import (
"github.com/sirupsen/logrus"
)
func main() {
// 创建一个新的logrus实例
logger := logrus.New()
// 设置日志级别
logger.SetLevel(logrus.DebugLevel)
// 设置日志格式为文本格式
logger.SetFormatter(&logrus.TextFormatter{
TimestampFormat: "2006-01-02 15:04:05",
FullTimestamp: true,
CallerPrettyfier: func(f *runtime.Frame) (string, string) {
filename := f.File
if base := filepath.Base(filename); base == "main.go" {
filename = filepath.Dir(filename)
}
return filename, f.Function
},
})
// 使用自定义的日志输出器记录日志
logger.Info("这是一条日志信息")
}
go run main.go
输出效果类似这样:
INFO[0000] 这是一条日志信息
logrus的亮点在于:日志级别、格式、调用者信息都能精细控制。上面的例子展示了如何自定义时间戳格式和调用者信息,当然你也可以换成JSON格式,或者加上钩子、字段等高级功能。总之,根据自己的需求调整即可。更多关于logrus的信息,请参考官方文档:https://github.com/sirupsen/logrus
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8