mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package logging
 | |
| 
 | |
| import (
 | |
| 	"sync/atomic"
 | |
| )
 | |
| 
 | |
| // LogLevel represents the level at which the logger will emit log messages
 | |
| type LogLevel int32
 | |
| 
 | |
| // Set updates the LogLevel to the supplied value
 | |
| func (ll *LogLevel) Set(newLevel LogLevel) {
 | |
| 	atomic.StoreInt32((*int32)(ll), int32(newLevel))
 | |
| }
 | |
| 
 | |
| // Get retrieves the current LogLevel value
 | |
| func (ll *LogLevel) Get() LogLevel {
 | |
| 	return LogLevel(atomic.LoadInt32((*int32)(ll)))
 | |
| }
 | |
| 
 | |
| func (ll LogLevel) String() string {
 | |
| 	switch ll {
 | |
| 	case LogLevelDisabled:
 | |
| 		return "Disabled"
 | |
| 	case LogLevelError:
 | |
| 		return "Error"
 | |
| 	case LogLevelWarn:
 | |
| 		return "Warn"
 | |
| 	case LogLevelInfo:
 | |
| 		return "Info"
 | |
| 	case LogLevelDebug:
 | |
| 		return "Debug"
 | |
| 	case LogLevelTrace:
 | |
| 		return "Trace"
 | |
| 	default:
 | |
| 		return "UNKNOWN"
 | |
| 	}
 | |
| }
 | |
| 
 | |
| const (
 | |
| 	// LogLevelDisabled completely disables logging of any events
 | |
| 	LogLevelDisabled LogLevel = iota
 | |
| 	// LogLevelError is for fatal errors which should be handled by user code,
 | |
| 	// but are logged to ensure that they are seen
 | |
| 	LogLevelError
 | |
| 	// LogLevelWarn is for logging abnormal, but non-fatal library operation
 | |
| 	LogLevelWarn
 | |
| 	// LogLevelInfo is for logging normal library operation (e.g. state transitions, etc.)
 | |
| 	LogLevelInfo
 | |
| 	// LogLevelDebug is for logging low-level library information (e.g. internal operations)
 | |
| 	LogLevelDebug
 | |
| 	// LogLevelTrace is for logging very low-level library information (e.g. network traces)
 | |
| 	LogLevelTrace
 | |
| )
 | |
| 
 | |
| // LeveledLogger is the basic pion Logger interface
 | |
| type LeveledLogger interface {
 | |
| 	Trace(msg string)
 | |
| 	Tracef(format string, args ...interface{})
 | |
| 	Debug(msg string)
 | |
| 	Debugf(format string, args ...interface{})
 | |
| 	Info(msg string)
 | |
| 	Infof(format string, args ...interface{})
 | |
| 	Warn(msg string)
 | |
| 	Warnf(format string, args ...interface{})
 | |
| 	Error(msg string)
 | |
| 	Errorf(format string, args ...interface{})
 | |
| }
 | |
| 
 | |
| // LoggerFactory is the basic pion LoggerFactory interface
 | |
| type LoggerFactory interface {
 | |
| 	NewLogger(scope string) LeveledLogger
 | |
| }
 |