feat: add log level setting

This commit is contained in:
Simon Ding
2024-07-26 14:22:08 +08:00
parent f5f8434832
commit 1dd61ccbca
6 changed files with 52 additions and 26 deletions

View File

@@ -49,6 +49,8 @@ func (s *Server) Serve() error {
s.r.Use(ginzap.Ginzap(log.Logger().Desugar(), time.RFC3339, false))
s.r.Use(ginzap.RecoveryWithZap(log.Logger().Desugar(), true))
log.SetLogLevel(s.db.GetSetting(db.SettingLogLevel)) //restore log level
s.r.POST("/api/login", HttpHandler(s.Login))
api := s.r.Group("/api/v1")
@@ -62,7 +64,6 @@ func (s *Server) Serve() error {
setting.GET("/general", HttpHandler(s.GetSetting))
setting.POST("/auth", HttpHandler(s.EnableAuth))
setting.GET("/auth", HttpHandler(s.GetAuthSetting))
setting.POST("/loglevel", HttpHandler(s.SetLogLevel))
}
activity := api.Group("/activity")
{

View File

@@ -35,6 +35,10 @@ func (s *Server) SetSetting(c *gin.Context) (interface{}, error) {
}
if in.LogLevel != "" {
log.SetLogLevel(in.LogLevel)
if err := s.db.SetSetting(db.SettingLogLevel, in.LogLevel); err != nil {
return nil, errors.Wrap(err, "save log level")
}
}
return nil, nil
}
@@ -42,10 +46,11 @@ func (s *Server) SetSetting(c *gin.Context) (interface{}, error) {
func (s *Server) GetSetting(c *gin.Context) (interface{}, error) {
tmdb := s.db.GetSetting(db.SettingTmdbApiKey)
downloadDir := s.db.GetSetting(db.SettingDownloadDir)
logLevel := s.db.GetSetting(db.SettingLogLevel)
return &GeneralSettings{
TmdbApiKey: tmdb,
DownloadDir: downloadDir,
LogLevel: logLevel,
}, nil
}
@@ -146,16 +151,3 @@ func (s *Server) DeleteDownloadCLient(c *gin.Context) (interface{}, error) {
s.db.DeleteDownloadCLient(id)
return "success", nil
}
type logLovelIn struct {
Level string `json:"level"`
}
func (s *Server) SetLogLevel(c *gin.Context) (interface{}, error) {
var in logLovelIn
if err := c.ShouldBindJSON(&in); err != nil {
return nil, errors.Wrap(err, "bind json")
}
log.SetLogLevel(in.Level)
return "success", nil
}