code: @PluginFactory
      public static LoggerNamePatternSelector createSelector(
              @Required(message = "Default pattern is required") @PluginAttribute(value = "defaultPattern") String defaultPattern,
              @PluginElement("PatternMatch") PatternMatch[] properties,
              @PluginAttribute(value = "alwaysWriteExceptions", defaultBoolean = true) boolean alwaysWriteExceptions,
              @PluginAttribute("disableAnsi") boolean disableAnsi,
              @PluginAttribute("noConsoleNoAnsi") boolean noConsoleNoAnsi,
              @PluginConfiguration Configuration config) {
          return new LoggerNamePatternSelector(defaultPattern, properties, alwaysWriteExceptions, disableAnsi, noConsoleNoAnsi, config);
      }
docs: Creates a new {@link LoggerNamePatternSelector}.
  
  @param defaultPattern The default pattern to use if no logger name matches
  @param properties The pattern match rules to use
  @param alwaysWriteExceptions Write exceptions even if pattern does not
  include exception conversion
  @param disableAnsi If true, disable all ANSI escape codes
  @param noConsoleNoAnsi If true and {@link System#console()} is null,
  disable ANSI escape codes
  @param config The configuration
  @return The new pattern selector