2.5 KiB
2.5 KiB
Logger测试结果
✅ 测试通过
1. 开发环境测试
日志输出示例(彩色控制台):
2025-12-31T13:44:33.524+0800 DEBUG logger/test_main.go:31 This is a debug message {"service": "user-service"}
2025-12-31T13:44:33.524+0800 INFO logger/test_main.go:32 This is an info message {"service": "user-service"}
2025-12-31T13:44:33.524+0800 WARN logger/test_main.go:33 This is a warn message {"service": "user-service"}
2025-12-31T13:44:33.525+0800 ERROR logger/test_main.go:34 This is an error message {"service": "user-service"}
特点:
- ✅ 彩色输出(DEBUG=紫色,INFO=蓝色,WARN=黄色,ERROR=红色)
- ✅ 包含时间戳、级别、文件名和行号
- ✅ 自动添加
service字段
2. 结构化日志测试
2025-12-31T13:44:33.525+0800 INFO logger/test_main.go:37 User registered {"service": "user-service", "mobile": "13800138000", "user_id": 123, "star_id": 456}
特点:
- ✅ 支持结构化字段(mobile, user_id, star_id)
- ✅ 自动添加service字段
3. 生产环境测试(JSON格式)
日志输出示例:
{"level":"info","ts":1767159873.525571,"caller":"logger/test_main.go:70","msg":"User login successful","service":"user-service","user_id":123,"star_id":456,"mobile":"13800138000"}
{"level":"error","ts":1767159873.525675,"caller":"logger/test_main.go:76","msg":"Database connection failed","service":"user-service","error":"connection timeout","host":"localhost","port":5432,"stacktrace":"..."}
特点:
- ✅ JSON格式,便于日志收集系统解析
- ✅ 包含所有必要字段
- ✅ 错误日志包含堆栈跟踪
功能验证
✅ 初始化成功:logger可以正常初始化
✅ 日志级别:Debug、Info、Warn、Error 都正常工作
✅ 结构化日志:支持添加自定义字段
✅ 服务名标识:每条日志都包含service字段
✅ 开发/生产环境:不同环境使用不同格式
✅ Sugar API:Sugar API正常工作
使用方式
在Service中使用
import (
"github.com/topfans/backend/pkg/logger"
"go.uber.org/zap"
)
// 使用Sugar API(简单)
logger.Sugar.Infof("User registered: mobile=%s", mobile)
// 使用结构化日志(推荐,性能更好)
logger.Logger.Info("User registered",
zap.String("mobile", mobile),
zap.Int64("user_id", userID),
)
下一步
✅ Logger工具包已就绪
✅ 测试通过
⏳ 可以开始开发Service层(参考开发功能顺序文档)