
Cache linting results. Reanalyze only changed packages and packages tree depending on them. Fixes #768, fixes #809
32 lines
907 B
Go
32 lines
907 B
Go
package logutils
|
|
|
|
type Log interface {
|
|
Fatalf(format string, args ...interface{})
|
|
Panicf(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 messages, 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
|
|
)
|