slog: use the slog.LevelVar unmarshal to parse log level flag
This commit is contained in:
		
							parent
							
								
									a9ad981137
								
							
						
					
					
						commit
						defd32b3c8
					
				@ -102,18 +102,13 @@ func createCliApp() *cli.App {
 | 
			
		||||
        Value: "INFO",
 | 
			
		||||
        EnvVars: []string{"LOG_LEVEL"},
 | 
			
		||||
        Action: func(ctx *cli.Context, s string) error {
 | 
			
		||||
            switch s {
 | 
			
		||||
            case "INFO":
 | 
			
		||||
                slog.SetLogLoggerLevel(slog.LevelInfo)
 | 
			
		||||
            case "DEBUG":
 | 
			
		||||
                slog.SetLogLoggerLevel(slog.LevelDebug)
 | 
			
		||||
            case "WARN":
 | 
			
		||||
                slog.SetLogLoggerLevel(slog.LevelWarn)
 | 
			
		||||
            case "ERROR":
 | 
			
		||||
                slog.SetLogLoggerLevel(slog.LevelError)
 | 
			
		||||
            default:
 | 
			
		||||
                return cli.Exit(fmt.Sprintf("Undefined log level: %s", s), 1)
 | 
			
		||||
            lvl := new(slog.LevelVar)
 | 
			
		||||
            err := lvl.UnmarshalText([]byte(s))
 | 
			
		||||
            if err != nil {
 | 
			
		||||
                slog.Debug("Error on unmarshal log level flag")
 | 
			
		||||
                return err
 | 
			
		||||
            }
 | 
			
		||||
            slog.SetLogLoggerLevel(lvl.Level())
 | 
			
		||||
            return nil 
 | 
			
		||||
        },
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user