类org.apache.logging.log4j.core.config.plugins.PluginElement源码实例Demo

下面列出了怎么用org.apache.logging.log4j.core.config.plugins.PluginElement的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: vividus   文件: AllureLogAppender.java
@PluginFactory
public static AllureLogAppender createAppender(@PluginAttribute("name") final String name,
        @PluginElement("Filter") Filter filter, @PluginElement("Layout") Layout<? extends Serializable> layout)
{
    if (name == null)
    {
        LOGGER.error("No name provided for AllureLogAppender");
        instance = null;
    }
    else
    {
        instance = new AllureLogAppender(name, filter, layout);
    }

    return instance;
}
 
源代码2 项目: patchwork-patcher   文件: UIAppender.java
@SuppressWarnings("unused")
@PluginFactory
public static UIAppender createAppender(@PluginAttribute("name") String name, @PluginAttribute("maxLines") int maxLines,
			@PluginAttribute("ignoreExceptions") boolean ignoreExceptions,
			@PluginElement("Layout") Layout<?> layout, @PluginElement("Filters") Filter filter) {
	if (name == null) {
		LOGGER.error("No name provided for UIAppender");
		return null;
	}

	if (layout == null) {
		layout = JsonLayout.createDefaultLayout();
	}

	return new UIAppender(name, layout, filter, maxLines, ignoreExceptions);
}
 
源代码3 项目: GreenSummer   文件: InMemoryAppenderImpl.java
/**
 * Creates the appender.
 *
 * @param name the name
 * @param layout the layout
 * @param filter the filter
 * @param size the size
 * @return the in memory appender impl
 */
// the configured attributes.
@PluginFactory
public static InMemoryAppenderImpl createAppender(@PluginAttribute("name") String name,
    @PluginElement("Layout") Layout<? extends Serializable> layout, @PluginElement("Filter")
    final Filter filter, @PluginAttribute("size") int size) {
    Layout<? extends Serializable> layoutAux = layout;
    if (name == null) {
        LOGGER.error("No name provided for InMemoryAppenderImpl");
        return null;
    }
    if (layoutAux == null) {
        layoutAux = PatternLayout.createDefaultLayout();
    }
    return new InMemoryAppenderImpl(name, filter, layoutAux, true, size);
}
 
源代码4 项目: Thermos   文件: ConsoleAppender.java
/**
 * Create a Console Appender.
 * @param layout The layout to use (required).
 * @param filter The Filter or null.
 * @param t The target ("SYSTEM_OUT" or "SYSTEM_ERR"). The default is "SYSTEM_OUT".
 * @param follow If true will follow changes to the underlying output stream.
 * @param name The name of the Appender (required).
 * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise
 *               they are propagated to the caller.
 * @return The ConsoleAppender.
 */
@PluginFactory
public static ConsoleAppender createAppender(
        @PluginElement("Layout") Layout<? extends Serializable> layout,
        @PluginElement("Filters") final Filter filter,
        @PluginAttribute("target") final String t,
        @PluginAttribute("name") final String name,
        @PluginAttribute("follow") final String follow,
        @PluginAttribute("ignoreExceptions") final String ignore) {
    if (name == null) {
        LOGGER.error("No name provided for ConsoleAppender");
        return null;
    }
    if (layout == null) {
        layout = PatternLayout.createLayout(null, null, null, null, null);
    }
    final boolean isFollow = Boolean.parseBoolean(follow);
    final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
    final Target target = t == null ? Target.SYSTEM_OUT : Target.valueOf(t);
    return new ConsoleAppender(name, layout, filter, getManager(isFollow, target, layout), ignoreExceptions);
}
 
源代码5 项目: jesterj   文件: JesterJAppender.java
@PluginFactory
public static JesterJAppender createAppender(@PluginAttribute("name") String name,
                                             @PluginAttribute("ignoreExceptions") boolean ignoreExceptions,
                                             @PluginElement("Layout") Layout layout,
                                             @PluginElement("Filters") Filter filter) {

  if (name == null) {
    LOGGER.error("No name provided for JesterJAppender");
    return null;
  }

  manager = createManager();
  if (manager == null) {
    return null; // should never happen
  }
  if (layout == null) {
    layout = PatternLayout.createDefaultLayout();
  }
  cassandra.addStatement(FTI_INSERT_Q, INSERT_FTI);
  cassandra.addStatement(REG_INSERT_Q, INSERT_REG);
  return new JesterJAppender(name, layout, filter, manager, ignoreExceptions);
}
 
源代码6 项目: spectator   文件: SpectatorAppender.java
/** Create a new instance of the appender using the global spectator registry. */
@PluginFactory
public static SpectatorAppender createAppender(
    @PluginAttribute("name") String name,
    @PluginAttribute("ignoreExceptions") boolean ignoreExceptions,
    @PluginElement("Layout") Layout<? extends Serializable> layout,
    @PluginElement("Filters") Filter filter) {

  if (name == null) {
    LOGGER.error("no name provided for SpectatorAppender");
    return null;
  }

  return new SpectatorAppender(
      Spectator.globalRegistry(),
      name, filter, layout, ignoreExceptions,
      Property.EMPTY_ARRAY);
}
 
源代码7 项目: molicode   文件: FrontConsoleAppender.java
@PluginFactory
public static FrontConsoleAppender createAppender(@PluginAttribute("name") String name,
                                                  @PluginAttribute("fileName") String fileName,
                                                  @PluginElement("Filter") final Filter filter,
                                                  @PluginElement("Layout") Layout<? extends Serializable> layout,
                                                  @PluginAttribute("ignoreExceptions") boolean ignoreExceptions) {
    if (name == null) {
        LOGGER.error("no name defined in conf.");
        return null;
    }
    if (layout == null) {
        layout = PatternLayout.createDefaultLayout();
    }
    return new FrontConsoleAppender(name, filter, layout, ignoreExceptions, fileName);
}
 
源代码8 项目: summerframework   文件: AdvancedKafkaAppender.java
@PluginFactory
public static AdvancedKafkaAppender createAppender(
    @PluginElement("Layout") final Layout<? extends Serializable> layout,
    @PluginElement("Filter") final Filter filter, //
    @PluginConfiguration final Configuration configuration,
    @Required(message = "No name provided for KafkaAppender") @PluginAttribute("name") final String name,
    @Required(message = "No topic provided for KafkaAppender") @PluginAttribute("topic") final String topic,
    @Required(
        message = "No bootstrapServers provided for KafkaAppender") @PluginAttribute("bootstrapServers") final String bootstrapServers) {
    final AdvancedKafkaManager advancedKafkaManager =
        new AdvancedKafkaManager(configuration.getLoggerContext(), name, bootstrapServers);
    return new AdvancedKafkaAppender(name, layout, filter, false, advancedKafkaManager, topic);
}
 
/**
 * Creates a new {@link TerminalConsoleAppender}.
 *
 * @param name The name of the appender
 * @param filter The filter, can be {@code null}
 * @param layout The layout, can be {@code null}
 * @param ignoreExceptions If {@code true} exceptions encountered when
 *     appending events are logged, otherwise they are propagated to the
 *     caller
 * @return The new appender
 */
@PluginFactory
public static TerminalConsoleAppender createAppender(
        @Required(message = "No name provided for TerminalConsoleAppender") @PluginAttribute("name") String name,
        @PluginElement("Filter") Filter filter,
        @PluginElement("Layout") @Nullable Layout<? extends Serializable> layout,
        @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) boolean ignoreExceptions) {

    if (layout == null) {
        layout = PatternLayout.createDefaultLayout();
    }

    return new TerminalConsoleAppender(name, filter, layout, ignoreExceptions);
}
 
源代码10 项目: ModPackDownloader   文件: TextAreaAppender.java
/**
 * Factory method. Log4j will parse the configuration and call this factory
 * method to construct the appender with
 * the configured attributes.
 *
 * @param name   Name of appender
 * @param layout Log layout of appender
 * @param filter Filter for appender
 * @return The TextAreaAppender
 */
@PluginFactory
public static TextAreaAppender createAppender(
		@PluginAttribute("name") String name,
		@PluginElement("Layout") Layout<? extends Serializable> layout,
		@PluginElement("Filter") final Filter filter) {
	if (name == null) {
		LOGGER.error("No name provided for TextAreaAppender");
		return null;
	}
	if (layout == null) {
		layout = PatternLayout.createDefaultLayout();
	}
	return new TextAreaAppender(name, filter, layout, true);
}
 
源代码11 项目: samza   文件: StreamAppender.java
@PluginFactory
public static StreamAppender createAppender(
    @PluginAttribute("name") final String name,
    @PluginElement("Filter") final Filter filter,
    @PluginElement("Layout") Layout layout,
    @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final boolean ignoreExceptions,
    @PluginAttribute("streamName") String streamName) {
  return new StreamAppender(name, filter, layout, ignoreExceptions, streamName);
}
 
源代码12 项目: samza   文件: MockSystemProducerAppender.java
@PluginFactory
public static MockSystemProducerAppender createAppender(
    @PluginAttribute("name") final String name,
    @PluginElement("Filter") final Filter filter,
    @PluginElement("Layout") Layout<? extends Serializable> layout,
    @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final boolean ignoreExceptions,
    @PluginElement("Config") final Config testConfig,
    @PluginAttribute("streamName") String streamName) {
  if (testConfig == null) {
    initConfig();
  } else {
    config = testConfig;
  }
  return new MockSystemProducerAppender(name, filter, layout, ignoreExceptions, config, streamName);
}
 
源代码13 项目: rollbar-java   文件: RollbarAppender.java
/**
 * Create appender plugin factory method.
 *
 * @param accessToken the Rollbar access token.
 * @param codeVersion the codeVersion.
 * @param endpoint the Rollbar endpoint to be used.
 * @param environment the environment.
 * @param language the language.
 * @param enabled to enable or disable Rollbar.
 * @param configProviderClassName The class name of the config provider implementation to get
 *     the configuration.
 * @param name the name.
 * @param layout the layout.
 * @param filter the filter.
 * @param ignore the ignore exceptions flag.
 * @return the rollbar appender.
 */
@PluginFactory
public static RollbarAppender createAppender(
    @PluginAttribute("accessToken") @Required final String accessToken,
    @PluginAttribute("codeVersion") final String codeVersion,
    @PluginAttribute("endpoint") final String endpoint,
    @PluginAttribute("environment") final String environment,
    @PluginAttribute("language") final String language,
    @PluginAttribute("enabled") final boolean enabled,
    @PluginAttribute("configProviderClassName") final String configProviderClassName,
    @PluginAttribute("name") @Required final String name,
    @PluginElement("Layout") Layout<? extends Serializable> layout,
    @PluginElement("Filter") Filter filter,
    @PluginAttribute("ignoreExceptions") final String ignore
) {

  ConfigProvider configProvider = ConfigProviderHelper
      .getConfigProvider(configProviderClassName);
  Config config;

  ConfigBuilder configBuilder = withAccessToken(accessToken)
      .codeVersion(codeVersion)
      .environment(environment)
      .endpoint(endpoint)
      .server(new ServerProvider())
      .language(language)
      .enabled(enabled);

  if (configProvider != null) {
    config = configProvider.provide(configBuilder);
  } else {
    config = configBuilder.build();
  }

  Rollbar rollbar = new Rollbar(config);

  boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);

  return new RollbarAppender(name, filter, layout, ignoreExceptions, rollbar);
}
 
源代码14 项目: syncope   文件: MemoryAppender.java
@PluginFactory
public static MemoryAppender createAppender(
        @PluginAttribute("name") final String name,
        @PluginAttribute(value = "size", defaultInt = 10) final int size,
        @PluginElement("Filter") final Filter filter,
        @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final boolean ignoreExceptions) {

    return new MemoryAppender(
            name,
            size,
            filter,
            ignoreExceptions);
}
 
源代码15 项目: common   文件: StructuredJsonLayoutPlugin.java
@PluginFactory
public static StructuredLayout createLayout(
    @PluginElement("Properties") final Property[] properties) {
  final JsonConverter converter = new JsonConverter();
  converter.configure(
      Arrays.stream(properties).collect(
          Collectors.toMap(Property::getName, Property::getValue)
      ),
      false
  );
  return new StructuredLayout(struct -> converter.fromConnectData("", struct.schema(), struct));
}
 
源代码16 项目: Flashtool   文件: TextAreaAppender.java
/**
 * Factory method. Log4j will parse the configuration and call this factory 
 * method to construct the appender with
 * the configured attributes.
 *
 * @param name   Name of appender
 * @param layout Log layout of appender
 * @param filter Filter for appender
 * @return The TextAreaAppender
 */
@PluginFactory
public static TextAreaAppender createAppender(
    @PluginAttribute("name") String name,
    @PluginElement("Layout") Layout<? extends Serializable> layout,
    @PluginElement("Filter") final Filter filter) {
  if (name == null) {
    LOGGER.error("No name provided for TextAreaAppender2");
    return null;
  }
  if (layout == null) {
    layout = PatternLayout.createDefaultLayout();
  }
  return new TextAreaAppender(name, filter, layout, true);
}
 
源代码17 项目: Flashtool   文件: ConsoleAppender.java
/**
 * Factory method. Log4j will parse the configuration and call this factory 
 * method to construct the appender with
 * the configured attributes.
 *
 * @param name   Name of appender
 * @param layout Log layout of appender
 * @param filter Filter for appender
 * @return The TextAreaAppender
 */
@PluginFactory
public static ConsoleAppender createAppender(
    @PluginAttribute("name") String name,
    @PluginElement("Layout") Layout<? extends Serializable> layout,
    @PluginElement("Filter") final Filter filter) {
  if (name == null) {
    LOGGER.error("No name provided for TextAreaAppender2");
    return null;
  }
  if (layout == null) {
    layout = PatternLayout.createDefaultLayout();
  }
  return new ConsoleAppender(name, filter, layout, true);
}
 
源代码18 项目: Flashtool   文件: StringBuilderAppender.java
/**
 * Factory method. Log4j will parse the configuration and call this factory 
 * method to construct the appender with
 * the configured attributes.
 *
 * @param name   Name of appender
 * @param layout Log layout of appender
 * @param filter Filter for appender
 * @return The TextAreaAppender
 */
@PluginFactory
public static StringBuilderAppender createAppender(
    @PluginAttribute("name") String name,
    @PluginElement("Layout") Layout<? extends Serializable> layout,
    @PluginElement("Filter") final Filter filter) {
  if (name == null) {
    LOGGER.error("No name provided for TextAreaAppender2");
    return null;
  }
  if (layout == null) {
    layout = PatternLayout.createDefaultLayout();
  }
  return new StringBuilderAppender(name, filter, layout, true);
}
 
@PluginFactory
public static SystemdJournalAppender createAppender(@PluginAttribute("name") final String name,
        @PluginAttribute("ignoreExceptions") final String ignoreExceptionsString,
        @PluginAttribute("logSource") final String logSourceString,
        @PluginAttribute("logStacktrace") final String logStacktraceString,
        @PluginAttribute("logLoggerName") final String logLoggerNameString,
        @PluginAttribute("logAppenderName") final String logAppenderNameString,
        @PluginAttribute("logThreadName") final String logThreadNameString,
        @PluginAttribute("logThreadContext") final String logThreadContextString,
        @PluginAttribute("threadContextPrefix") final String threadContextPrefix,
        @PluginAttribute("syslogIdentifier") final String syslogIdentifier,
        @PluginAttribute("syslogFacility") final String syslogFacility,
        @PluginElement("Layout") final Layout<?> layout,
        @PluginElement("Filter") final Filter filter,
        @PluginConfiguration final Configuration config) {
    final boolean ignoreExceptions = Booleans.parseBoolean(ignoreExceptionsString, true);
    final boolean logSource = Booleans.parseBoolean(logSourceString, false);
    final boolean logStacktrace = Booleans.parseBoolean(logStacktraceString, true);
    final boolean logThreadName = Booleans.parseBoolean(logThreadNameString, true);
    final boolean logLoggerName = Booleans.parseBoolean(logLoggerNameString, true);
    final boolean logAppenderName = Booleans.parseBoolean(logAppenderNameString, true);
    final boolean logThreadContext = Booleans.parseBoolean(logThreadContextString, true);

    if (name == null) {
        LOGGER.error("No name provided for SystemdJournalAppender");
        return null;
    }

    final SystemdJournalLibrary journalLibrary;
    try {
        journalLibrary = Native.loadLibrary("systemd", SystemdJournalLibrary.class);
    } catch (UnsatisfiedLinkError e) {
        throw new RuntimeException("Failed to load systemd library." +
            " Please note that JNA requires an executable temporary folder." +
            " It can be explicitly defined with -Djna.tmpdir", e);
    }

    return new SystemdJournalAppender(name, filter, layout, ignoreExceptions, journalLibrary, logSource, logStacktrace,
            logThreadName, logLoggerName, logAppenderName, logThreadContext, threadContextPrefix, syslogIdentifier, syslogFacility);
}
 
源代码20 项目: engine   文件: CircularQueueLogAppender.java
@PluginFactory
public static CircularQueueLogAppender createAppender(
    @PluginAttribute(value = "name") String name,
    @PluginElement(value = "Filters") Filter filter,
    @PluginElement(value = "Layout") Layout<? extends Serializable> layout,
    @PluginAttribute(value = "ignoreExceptions") boolean ignoreExceptions,
    @PluginAttribute(value = "maxQueueSize") int maxQueueSize,
    @PluginAttribute(value = "dateFormat") String dateFormat,
    @PluginAttribute(value = "global") boolean global) {

    if (StringUtils.isEmpty(name)) {
        LOGGER.error("No name provided for " + PLUGIN_NAME);
        return null;
    }

    if (Objects.isNull(layout)) {
        layout = PatternLayout.createDefaultLayout();
    }

    if (Objects.isNull(buffer)) {
        LOGGER.debug("Initializing circular log queue buffer");
        if (maxQueueSize <= 0) {
            throw new IllegalArgumentException("maxQueueSize must be a integer bigger that 0");
        }
        buffer = BufferUtils.synchronizedBuffer(new CircularFifoBuffer(maxQueueSize));
    }

    CircularQueueLogAppender appender = new CircularQueueLogAppender(name, filter, layout, ignoreExceptions, null);
    appender.dateFormat = DateTimeFormatter.ofPattern(dateFormat).withZone(ZoneId.of("UTC"));
    appender.global = global;

    return appender;
}
 
源代码21 项目: collect-earth   文件: JSwingAppender.java
@PluginFactory
public static JSwingAppender createAppender(@PluginAttribute("name") String name,
		@PluginElement("Layout") Layout<?> layout, @PluginElement("Filters") Filter filter,
		@PluginAttribute("ignoreExceptions") boolean ignoreExceptions) {

	if (name == null) {
		LoggerFactory.getLogger( JSwingAppender.class ).error("No name provided for JTextAreaAppender");
		return null;
	}

	if (layout == null) {
		layout = PatternLayout.createDefaultLayout();
	}
	return new JSwingAppender(name, filter, layout, ignoreExceptions);
}
 
源代码22 项目: consulo   文件: Log4J2DialogAppender.java
@PluginFactory
public static Log4J2DialogAppender createAppender(@PluginAttribute("name") String name,
                                                  @PluginElement("Layout") Layout<? extends Serializable> layout,
                                                  @PluginElement("Filter") final Filter filter) {
  if (name == null) {
    LOGGER.error("No name provided for Log4J2DialogAppender");
    return null;
  }
  if (layout == null) {
    layout = PatternLayout.createDefaultLayout();
  }
  return new Log4J2DialogAppender(name, filter, layout);
}
 
源代码23 项目: ict   文件: LogAppender.java
@PluginFactory
public static LogAppender createAppender(@PluginAttribute("name") String name, @PluginElement("Layout") Layout<? extends Serializable> layout, @PluginElement("Filter") Filter filter) {
    return new LogAppender(name, filter, layout, false);
}
 
源代码24 项目: qiniu-logging-plugin   文件: Log4j2QiniuAppender.java
/**
 * create the qiniu logdb appender
 *
 * @param name              name
 * @param workflowName      pandora workflow name
 * @param pipelineRepo      pandora pipeline repo name
 * @param logdbRepo         pandora logdb repo name
 * @param autoFlushInterval auto flush log interval in seconds
 * @param accessKey         qiniu access key
 * @param secretKey         qiniu secret key
 * @param filter            filter
 * @param layout            layout
 * @param ignoreExceptions  ignoreExceptions
 */
@PluginFactory
public static Log4j2QiniuAppender createAppender(@PluginAttribute("name") String name,
                                                 @PluginAttribute("pipelineHost") String pipelineHost,
                                                 @PluginAttribute("logdbHost") String logdbHost,
                                                 @PluginAttribute("workflowName") String workflowName,
                                                 @PluginAttribute("workflowDesc") String workflowDesc,
                                                 @PluginAttribute("workflowRegion") String workflowRegion,
                                                 @PluginAttribute("pipelineRepo") String pipelineRepo,
                                                 @PluginAttribute("logdbRepo") String logdbRepo,
                                                 @PluginAttribute("logdbRetention") String logdbRetention,
                                                 @PluginAttribute("accessKey") String accessKey,
                                                 @PluginAttribute("secretKey") String secretKey,
                                                 @PluginAttribute("autoFlushInterval") int autoFlushInterval,
                                                 @PluginAttribute("logCacheDir") String logCacheDir,
                                                 @PluginAttribute("logRotateInterval") int logRotateInterval,
                                                 @PluginAttribute("logRetryInterval") int logRetryInterval,
                                                 @PluginAttribute("logPushThreadPoolSize") int logPushThreadPoolSize,
                                                 @PluginAttribute("logPushConnectTimeout") int logPushConnectTimeout,
                                                 @PluginAttribute("logPushReadTimeout") int logPushReadTimeout,
                                                 @PluginAttribute("logPushWriteTimeout") int logPushWriteTimeout,
                                                 @PluginAttribute("logRetryThreadPoolSize") int logRetryThreadPoolSize,
                                                 @PluginAttribute("logRetryConnectTimeout") int logRetryConnectTimeout,
                                                 @PluginAttribute("logRetryReadTimeout") int logRetryReadTimeout,
                                                 @PluginAttribute("logRetryWriteTimeout") int logRetryWriteTimeout,
                                                 @PluginElement("filter") final Filter filter,
                                                 @PluginElement("layout") Layout<? extends Serializable> layout,
                                                 @PluginAttribute("ignoreExceptions") boolean ignoreExceptions) {

    Auth auth = Auth.create(accessKey, secretKey);
    PandoraClient client = new PandoraClientImpl(auth);

    //check attributes
    if (workflowRegion == null || workflowRegion.isEmpty()) {
        workflowRegion = DefaultWorkflowRegion;
    }
    if (logdbRetention == null || logdbRetention.isEmpty()) {
        logdbRetention = DefaultLogdbRetention;
    }

    //try to create appender workflow
    try {
        QiniuAppenderClient.createAppenderWorkflow(client, pipelineHost, logdbHost, workflowName, workflowDesc,
                workflowRegion, pipelineRepo, logdbRepo, logdbRetention);
    } catch (Exception e) {
        e.printStackTrace();
        return null;//logging appender initialization failed
    }

    return new Log4j2QiniuAppender(name, filter, layout, ignoreExceptions, auth, pipelineHost, pipelineRepo,
            autoFlushInterval, logCacheDir, logRotateInterval, logRetryInterval, logPushThreadPoolSize,
            logPushConnectTimeout, logPushReadTimeout, logPushWriteTimeout, logRetryThreadPoolSize,
            logRetryConnectTimeout, logRetryReadTimeout, logRetryWriteTimeout);
}
 
@PluginFactory
public static LoghubAppender createAppender(
        @PluginAttribute("name") final String name,
        @PluginElement("Filter") final Filter filter,
        @PluginElement("Layout") Layout<? extends Serializable> layout,
        @PluginConfiguration final Configuration config,
        @PluginAttribute("ignoreExceptions") final String ignore,
        @PluginAttribute("project") final String project,
        @PluginAttribute("logStore") final String logStore,
        @PluginAttribute("endpoint") final String endpoint,
        @PluginAttribute("accessKeyId") final String accessKeyId,
        @PluginAttribute("accessKeySecret") final String accessKeySecret,
        @PluginAttribute("stsToken") final String stsToken,

        @PluginAttribute("totalSizeInBytes") final String  totalSizeInBytes,
        @PluginAttribute("maxBlockMs") final String  maxBlockMs,
        @PluginAttribute("ioThreadCount") final String  ioThreadCount,
        @PluginAttribute("batchSizeThresholdInBytes") final String  batchSizeThresholdInBytes,
        @PluginAttribute("batchCountThreshold") final String  batchCountThreshold,
        @PluginAttribute("lingerMs") final String  lingerMs,
        @PluginAttribute("retries") final String  retries,
        @PluginAttribute("baseRetryBackoffMs") final String  baseRetryBackoffMs,
        @PluginAttribute("maxRetryBackoffMs") final String maxRetryBackoffMs,

        @PluginAttribute("topic") final String topic,
        @PluginAttribute("source") final String source,
        @PluginAttribute("timeFormat") final String timeFormat,
        @PluginAttribute("timeZone") final String timeZone,
        @PluginAttribute("mdcFields") final String mdcFields) {

    Boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);

    int maxBlockMsInt = parseStrToInt(maxBlockMs, 60);

    int baseRetryBackoffMsInt = parseStrToInt(baseRetryBackoffMs, 100);

    int maxRetryBackoffMsInt = parseStrToInt(maxRetryBackoffMs, 100);

    int lingerMsInt = parseStrToInt(lingerMs, 3000);

    int batchCountThresholdInt = parseStrToInt(batchCountThreshold, 4096);

    int batchSizeThresholdInBytesInt = parseStrToInt(batchSizeThresholdInBytes, 5 * 1024 * 1024);

    int totalSizeInBytesInt = parseStrToInt(totalSizeInBytes, 104857600);

    int retriesInt = parseStrToInt(retries, 3);

    int ioThreadCountInt = parseStrToInt(ioThreadCount, 8);

    String pattern = isStrEmpty(timeFormat) ? DEFAULT_TIME_FORMAT : timeFormat;
    String timeZoneInfo = isStrEmpty(timeZone) ? DEFAULT_TIME_ZONE : timeZone;
    DateTimeFormatter formatter = DateTimeFormat.forPattern(pattern).withZone(DateTimeZone.forID(timeZoneInfo));

    return new LoghubAppender(name, filter, layout, ignoreExceptions, project, logStore, endpoint,
            accessKeyId, accessKeySecret, stsToken,totalSizeInBytesInt,maxBlockMsInt,ioThreadCountInt,
            batchSizeThresholdInBytesInt,batchCountThresholdInt,lingerMsInt,retriesInt,
            baseRetryBackoffMsInt, maxRetryBackoffMsInt,topic, source, formatter,mdcFields);
}
 
源代码26 项目: hermes   文件: CatLog4j2ErrorAppender.java
@PluginFactory
public static CatLog4j2ErrorAppender createAppender(@PluginAttribute("name") String name,
      @PluginElement("Filter") final Filter filter, @PluginElement("Layout") Layout<? extends Serializable> layout,
      @PluginAttribute("ignoreExceptions") boolean ignoreExceptions) {
	return new CatLog4j2ErrorAppender(name, filter, layout, ignoreExceptions);
}
 
@PluginFactory
public static CloudwatchLogsLog4J2Appender createAppender(
        @PluginAttribute(value = "name", defaultString = APPENDER_NAME) String name,
        @PluginElement("Filter") final Filter filter,
        @PluginElement("customMdcKey") final CustomMdcKeyElement[] customMdcKeys,
        @PluginAttribute("debug") Boolean debug,
        @PluginAttribute("stdoutFallback") Boolean stdoutFallback,
        @PluginAttribute("endpoint") String endpoint,
        @PluginAttribute("env") String env,
        @PluginAttribute("image") String image,
        @PluginAttribute("instance") String instance,
        @PluginAttribute(value = "maxEventQueueSize", defaultInt = CloudwatchLogsConfig.DEFAULT_MAX_EVENT_QUEUE_SIZE) Integer maxEventQueueSize,
        @PluginAttribute(value = "maxFlushDelay", defaultLong = CloudwatchLogsConfig.DEFAULT_MAX_FLUSH_DELAY) Long maxFlushDelay,
        @PluginAttribute("region") String region,
        @PluginAttribute("logGroup") String logGroup) {
    CloudwatchLogsLog4J2Appender appender = new CloudwatchLogsLog4J2Appender(name, filter, null, true);
    if (debug != null) {
        appender.getConfig().setStdoutFallback(debug);
    }
    if (stdoutFallback != null) {
        appender.getConfig().setStdoutFallback(stdoutFallback);
    }
    if (endpoint != null) {
        appender.getConfig().setEndpoint(endpoint);
    }
    if (env != null) {
        appender.getConfig().setEnv(env);
    }
    if (image != null) {
        appender.getConfig().setImage(image);
    }
    if (instance != null) {
        appender.getConfig().setInstance(instance);
    }
    appender.getConfig().setMaxEventQueueSize(maxEventQueueSize);
    appender.getConfig().setMaxFlushDelay(maxFlushDelay);
    if (region != null) {
        appender.getConfig().setRegion(region);
    }
    if (logGroup != null) {
        appender.getConfig().setLogGroup(logGroup);
    }
    for (CustomMdcKeyElement customMdcKey : customMdcKeys) {
        appender.getConfig().addCustomMdcKey(customMdcKey.getKey());
    }
    return appender;
}
 
@PluginFactory
public static JsonPatternLayout createLayout(@PluginAttribute(value = "charset") final Charset charset,
		@PluginElement(value = "customField") CustomField[] customFieldMdcKeyNames,
		@PluginConfiguration final Configuration config) {
	return new JsonPatternLayout(config, charset, customFieldMdcKeyNames);
}
 
源代码29 项目: x-pipe   文件: CatAppender4Log4j2.java
@PluginFactory
public static CatAppender4Log4j2 createAppender(@PluginAttribute("name") String name,
		@PluginElement("Layout") Layout<? extends Serializable> layout,
		@PluginElement("Filter") final Filter filter) {
	return new CatAppender4Log4j2(name, filter, layout);
}
 
源代码30 项目: tutorials   文件: MapAppender.java
@PluginFactory
public static MapAppender createAppender(@PluginAttribute("name") String name, @PluginElement("Filter") final Filter filter) {
    return new MapAppender(name, filter);
}
 
 类所在包
 同包方法