Files
backend/cmd/server/main.go
lafay 5d6c982c9c refactor: replace standard log with zap logger and optimize code patterns
- Migrate all log.Printf/log.Println calls to structured zap logging
- Use cmp.Or for cleaner default value handling
- Replace manual loops with slices.ContainsFunc/IndexFunc
- Add batch query methods (IsLikedBatch, IsFavoritedBatch) to solve N+1 problem
- Update JSON tags from omitempty to omitzero for numeric fields
- Use errgroup-style wg.Go for worker goroutines
- Remove duplicate casbin/v2 dependency (keeping v3)
- Add plans/ to gitignore
2026-03-17 00:47:17 +08:00

44 lines
767 B
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package main
import (
"context"
"os"
"os/signal"
"syscall"
"time"
"go.uber.org/zap"
)
func main() {
// 初始化应用程序Wire 自动生成)
app, err := InitializeApp()
if err != nil {
zap.L().Fatal("failed to initialize app",
zap.Error(err),
)
}
// 启动应用程序
ctx := context.Background()
if err := app.Start(ctx); err != nil {
app.Logger.Fatal("failed to start app",
zap.Error(err),
)
}
// 优雅关闭
quit := make(chan os.Signal, 1)
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
<-quit
shutdownCtx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
if err := app.Stop(shutdownCtx); err != nil {
app.Logger.Error("Error during shutdown",
zap.Error(err),
)
}
}