31 lines
		
	
	
		
			860 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			860 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package logutils
 | 
						|
 | 
						|
type Log interface {
 | 
						|
	Fatalf(format string, args ...interface{})
 | 
						|
	Errorf(format string, args ...interface{})
 | 
						|
	Warnf(format string, args ...interface{})
 | 
						|
	Infof(format string, args ...interface{})
 | 
						|
 | 
						|
	Child(name string) Log
 | 
						|
	SetLevel(level LogLevel)
 | 
						|
}
 | 
						|
 | 
						|
type LogLevel int
 | 
						|
 | 
						|
const (
 | 
						|
	// debug message, write to debug logs only by logutils.Debug
 | 
						|
	LogLevelDebug LogLevel = 0
 | 
						|
 | 
						|
	// information messages, don't write too much messages,
 | 
						|
	// only useful ones: they are shown when running with -v
 | 
						|
	LogLevelInfo LogLevel = 1
 | 
						|
 | 
						|
	// hidden errors: non critical errors: work can be continued, no need to fail whole program;
 | 
						|
	// tests will crash if any warning occurred.
 | 
						|
	LogLevelWarn LogLevel = 2
 | 
						|
 | 
						|
	// only not hidden from user errors: whole program failing, usually
 | 
						|
	// error logging happens in 1-2 places: in the "main" function.
 | 
						|
	LogLevelError LogLevel = 3
 | 
						|
)
 |