| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- package log
 
- import (
 
- 	E "github.com/sagernet/sing/common/exceptions"
 
- )
 
- type Level = uint8
 
- const (
 
- 	LevelPanic Level = iota
 
- 	LevelFatal
 
- 	LevelError
 
- 	LevelWarn
 
- 	LevelInfo
 
- 	LevelDebug
 
- 	LevelTrace
 
- )
 
- func FormatLevel(level Level) string {
 
- 	switch level {
 
- 	case LevelTrace:
 
- 		return "trace"
 
- 	case LevelDebug:
 
- 		return "debug"
 
- 	case LevelInfo:
 
- 		return "info"
 
- 	case LevelWarn:
 
- 		return "warn"
 
- 	case LevelError:
 
- 		return "error"
 
- 	case LevelFatal:
 
- 		return "fatal"
 
- 	case LevelPanic:
 
- 		return "panic"
 
- 	default:
 
- 		return "unknown"
 
- 	}
 
- }
 
- func ParseLevel(level string) (Level, error) {
 
- 	switch level {
 
- 	case "trace":
 
- 		return LevelTrace, nil
 
- 	case "debug":
 
- 		return LevelDebug, nil
 
- 	case "info":
 
- 		return LevelInfo, nil
 
- 	case "warn", "warning":
 
- 		return LevelWarn, nil
 
- 	case "error":
 
- 		return LevelError, nil
 
- 	case "fatal":
 
- 		return LevelFatal, nil
 
- 	case "panic":
 
- 		return LevelPanic, nil
 
- 	default:
 
- 		return LevelTrace, E.New("unknown log level: ", level)
 
- 	}
 
- }
 
 
  |