add log exclude
This commit is contained in:
parent
aca0f63dd2
commit
b534ecd04e
21
log/log.go
21
log/log.go
|
@ -31,6 +31,7 @@ type Logger struct {
|
||||||
level Level
|
level Level
|
||||||
nothingExceptPatterns []string
|
nothingExceptPatterns []string
|
||||||
everythingFromPatterns []string
|
everythingFromPatterns []string
|
||||||
|
excludeFromPatterns []string
|
||||||
}
|
}
|
||||||
|
|
||||||
// New returns a new Logger with a filter set to the supplied level
|
// New returns a new Logger with a filter set to the supplied level
|
||||||
|
@ -48,6 +49,12 @@ func (l *Logger) filter(level Level) bool {
|
||||||
file = "???"
|
file = "???"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, pattern := range l.excludeFromPatterns {
|
||||||
|
if strings.Contains(file, pattern) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for _, pattern := range l.everythingFromPatterns {
|
for _, pattern := range l.everythingFromPatterns {
|
||||||
if strings.Contains(file, pattern) {
|
if strings.Contains(file, pattern) {
|
||||||
return true
|
return true
|
||||||
|
@ -81,11 +88,16 @@ func (l *Logger) AddNothingExceptFilter(pattern string) {
|
||||||
l.nothingExceptPatterns = append(l.nothingExceptPatterns, pattern)
|
l.nothingExceptPatterns = append(l.nothingExceptPatterns, pattern)
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddEverythingFromPattern adds a pattern to skip log level filtering, guaranteeing all logs matching hte pattern are seen
|
// AddEverythingFromPattern adds a pattern to skip log level filtering, guaranteeing all logs matching the pattern are seen
|
||||||
func (l *Logger) AddEverythingFromPattern(pattern string) {
|
func (l *Logger) AddEverythingFromPattern(pattern string) {
|
||||||
l.everythingFromPatterns = append(l.everythingFromPatterns, pattern)
|
l.everythingFromPatterns = append(l.everythingFromPatterns, pattern)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ExcludeFromPattern adds a pattern to exclude logs from
|
||||||
|
func (l *Logger) ExcludeFromPattern(pattern string) {
|
||||||
|
l.excludeFromPatterns = append(l.excludeFromPatterns, pattern)
|
||||||
|
}
|
||||||
|
|
||||||
func (l *Logger) header(level Level) string {
|
func (l *Logger) header(level Level) string {
|
||||||
_, file, _, ok := runtime.Caller(3)
|
_, file, _, ok := runtime.Caller(3)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
@ -131,11 +143,16 @@ func AddNothingExceptFilter(pattern string) {
|
||||||
std.AddNothingExceptFilter(pattern)
|
std.AddNothingExceptFilter(pattern)
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddEverythingFromPattern adds a pattern to skip log level filtering, guaranteeing all logs matching hte pattern are seen
|
// AddEverythingFromPattern adds a pattern to skip log level filtering, guaranteeing all logs matching the pattern are seen
|
||||||
func AddEverythingFromPattern(pattern string) {
|
func AddEverythingFromPattern(pattern string) {
|
||||||
std.AddEverythingFromPattern(pattern)
|
std.AddEverythingFromPattern(pattern)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ExcludeFromPattern adds a pattern to exclude logs from
|
||||||
|
func ExcludeFromPattern(pattern string) {
|
||||||
|
std.ExcludeFromPattern(pattern)
|
||||||
|
}
|
||||||
|
|
||||||
// Printf outputs the format with variables assuming it passes the filter level
|
// Printf outputs the format with variables assuming it passes the filter level
|
||||||
func Printf(level Level, format string, v ...interface{}) {
|
func Printf(level Level, format string, v ...interface{}) {
|
||||||
std.Printf(level, format, v...)
|
std.Printf(level, format, v...)
|
||||||
|
|
Reference in New Issue