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);
 }