mirror of
https://github.com/42wim/matterbridge.git
synced 2024-11-23 11:12:02 -08:00
38 lines
1.3 KiB
Go
38 lines
1.3 KiB
Go
package logr
|
|
|
|
// StdFilter allows targets to filter via classic log levels where any level
|
|
// beyond a certain verbosity/severity is enabled.
|
|
type StdFilter struct {
|
|
Lvl Level
|
|
Stacktrace Level
|
|
}
|
|
|
|
// IsEnabled returns true if the specified Level is at or above this verbosity. Also
|
|
// determines if a stack trace is required.
|
|
func (lt StdFilter) IsEnabled(level Level) bool {
|
|
return level.ID <= lt.Lvl.ID
|
|
}
|
|
|
|
// IsStacktraceEnabled returns true if the specified Level requires a stack trace.
|
|
func (lt StdFilter) IsStacktraceEnabled(level Level) bool {
|
|
return level.ID <= lt.Stacktrace.ID
|
|
}
|
|
|
|
var (
|
|
// Panic is the highest level of severity. Logs the message and then panics.
|
|
Panic = Level{ID: 0, Name: "panic"}
|
|
// Fatal designates a catastrophic error. Logs the message and then calls
|
|
// `logr.Exit(1)`.
|
|
Fatal = Level{ID: 1, Name: "fatal"}
|
|
// Error designates a serious but possibly recoverable error.
|
|
Error = Level{ID: 2, Name: "error"}
|
|
// Warn designates non-critical error.
|
|
Warn = Level{ID: 3, Name: "warn"}
|
|
// Info designates information regarding application events.
|
|
Info = Level{ID: 4, Name: "info"}
|
|
// Debug designates verbose information typically used for debugging.
|
|
Debug = Level{ID: 5, Name: "debug"}
|
|
// Trace designates the highest verbosity of log output.
|
|
Trace = Level{ID: 6, Name: "trace"}
|
|
)
|