package l import ( "strings" "linkfog.com/public/option" ) func isPrint(level, msg string) bool { if option.LogContain.Err && level == "ERROR" { return true } if option.LogContain.Warn && level == "WARN" { return true } if option.LogContain.AllNot.Enabled() && isContainAllNot(msg) { return false } if option.LogContain.AnyNot.Enabled() && isContainAnyNot(msg) { return false } if option.LogContain.All.Enabled() && !isContainAll(msg) { return false } if option.LogContain.Any.Enabled() && !isContainAny(msg) { return false } return true } // all contain func isContainAll(msg string) bool { for _, keyword := range option.LogContain.All { if !strings.Contains(msg, keyword) { return false } } return true } // any contain func isContainAny(msg string) bool { for _, keyword := range option.LogContain.Any { if strings.Contains(msg, keyword) { return true } } return false } // all not contain func isContainAllNot(msg string) bool { for _, keyword := range option.LogContain.AllNot { if strings.Contains(msg, keyword) { return false } } return true } // any not contain func isContainAnyNot(msg string) bool { for _, keyword := range option.LogContain.AnyNot { if strings.Contains(msg, keyword) { return true } } return false }