zaplog 是一个基于 zap 的高性能日志库,支持灵活的日志配置和分布式追踪功能,适用于高并发应用。
- 高性能:基于 Zap 提供极快的日志写入速度。
- 分布式追踪:支持日志中注入分布式追踪上下文,便于问题排查和全链路分析。
- 灵活配置:支持自定义日志级别、日志格式和输出目标。
- 模块化封装:便于扩展和维护,支持快速接入项目。
确保您的项目使用 Go 模块(Go 版本 ≥ 1.16):
go get github.com/scrawld/zaplog
package main
import (
"fmt"
"os"
"github.com/scrawld/zaplog"
)
func main() {
err := zaplog.RegisterGlobalLogger(zaplog.Config{
Level: "debug",
Encoding: "console",
Directory: "/tmp/zaplog",
MaxAge: 7,
LogInConsole: true,
})
if err != nil {
fmt.Printf("register global logger error: %s\n", err)
os.Exit(1)
}
defer zaplog.Sync()
zaplog.Info("应用已启动")
}
package main
import (
"fmt"
"os"
"github.com/scrawld/zaplog"
)
func main() {
err := zaplog.RegisterGlobalLogger(zaplog.Config{
Level: "debug",
Encoding: "console",
Directory: "/tmp/zaplog",
MaxAge: 7,
LogInConsole: true,
})
if err != nil {
fmt.Printf("register global logger error: %s\n", err)
os.Exit(1)
}
defer zaplog.Sync()
tracingLogger := zaplog.New()
tracingLogger.Info("Tracing log example")
tracingLogger.Error("Tracing error log example")
}
欢迎提交 Issue 或 Pull Request 来贡献代码。