1
0

refactor: 后端日志系统重构

- 新增模块化日志器(pkg/logger/module.go)
- 新增 GORM 日志适配器
- 统一日志入口,移除所有 zap.L() 全局 logger 调用
- 字段标准化
- 启动阶段使用结构化日志
- 更新所有相关测试
This commit is contained in:
2026-04-23 18:37:51 +08:00
parent 8c075194e5
commit 280099b89c
33 changed files with 1105 additions and 161 deletions

View File

@@ -8,6 +8,7 @@ import (
"nex/backend/internal/domain"
"nex/backend/internal/repository"
pkglogger "nex/backend/pkg/logger"
)
type RoutingCache struct {
@@ -27,7 +28,7 @@ func NewRoutingCache(
return &RoutingCache{
modelRepo: modelRepo,
providerRepo: providerRepo,
logger: logger,
logger: pkglogger.WithModule(logger, "service.routing_cache"),
}
}

View File

@@ -5,6 +5,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"go.uber.org/zap"
"nex/backend/internal/domain"
"nex/backend/internal/repository"
@@ -119,7 +120,7 @@ func TestModelService_Delete_NotFound(t *testing.T) {
func TestStatsService_Aggregate_Default(t *testing.T) {
statsRepo := repository.NewStatsRepository(nil)
buffer := NewStatsBuffer(statsRepo, nil)
buffer := NewStatsBuffer(statsRepo, zap.NewNop())
svc := NewStatsService(statsRepo, buffer)
stats := []domain.UsageStats{

View File

@@ -318,7 +318,7 @@ func TestStatsService_Aggregate_ByModel(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
db := setupServiceTestDB(t)
statsRepo := repository.NewStatsRepository(db)
buffer := NewStatsBuffer(statsRepo, nil); svc := NewStatsService(statsRepo, buffer)
buffer := NewStatsBuffer(statsRepo, zap.NewNop()); svc := NewStatsService(statsRepo, buffer)
result := svc.Aggregate(tt.stats, "model")
@@ -379,7 +379,7 @@ func TestStatsService_Aggregate_ByDate(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
db := setupServiceTestDB(t)
statsRepo := repository.NewStatsRepository(db)
buffer := NewStatsBuffer(statsRepo, nil); svc := NewStatsService(statsRepo, buffer)
buffer := NewStatsBuffer(statsRepo, zap.NewNop()); svc := NewStatsService(statsRepo, buffer)
result := svc.Aggregate(tt.stats, "date")

View File

@@ -9,6 +9,7 @@ import (
"go.uber.org/zap"
"nex/backend/internal/repository"
pkglogger "nex/backend/pkg/logger"
)
type StatsBuffer struct {
@@ -46,7 +47,7 @@ func NewStatsBuffer(
) *StatsBuffer {
b := &StatsBuffer{
statsRepo: statsRepo,
logger: logger,
logger: pkglogger.WithModule(logger, "service.stats_buffer"),
flushInterval: 5 * time.Second,
flushThreshold: 100,
stopCh: make(chan struct{}),