import("github.com/chuccp/go-web-frame/log""go.uber.org/zap")// Different log levelslog.Debug("debug message",zap.String("key","value"))log.Info("server started",zap.Int("port",8081))log.Warn("slow query detected",zap.Duration("elapsed",time.Since(start)))log.Error("failed to save user",zap.Error(err))log.Fatal("unrecoverable error",zap.Error(err))// calls os.Exit(1) after writinglog.Panic("critical failure",zap.Error(err))// panics after writing// Multiple errorslog.Errors("multiple errors occurred",err1,err2)log.PanicErrors("critical errors",err1,err2)
func(c*UserController)Get(req*web.Request)(any,error){id:=req.ParamUint("id")log.Debug("get user request",zap.Uint("id",id))user,err:=c.userService.GetUserById(id)iferr!=nil{log.Error("get user failed",zap.Uint("id",id),zap.Error(err))returnnil,err}returnuser,nil}
log:level:info# debug/info/warn/errorpath:./logs/app.log# log file pathwrite:true# whether to write to filemax_size:100# max file size (MB)max_backups:7# max backup filesmax_age:30# max retention dayscompress:true# compress rotated files