protected virtual Func <string, LogLevel, bool> GetFilter(string name, LoggerSettings settings) { if (Filter != null) { return(Filter); } if (settings == null) { Func <string, LogLevel, bool> funcr = (n, y) => false; return((n, m) => false); } foreach (var prefix in GetKeyPrefixes(name)) { if (settings.TryGetSwitch(prefix, out LogLevel level)) { return((n, m) => m >= level); } } return((n, m) => true); }