@PluginFactory public static SlidingFilenameRolloverStrategy createStrategy( @PluginConfiguration Configuration config) { return new SlidingFilenameRolloverStrategy(); }
@PluginFactory public static LlapWrappedAppender createAppender( @PluginAttribute("name") final String name, // This isn't really used for anything. @PluginAttribute("renameFileOnClose") final String renameFileOnCloseProvided, @PluginAttribute("renamedFileSuffix") final String renamedFileSuffixProvided, @PluginNode final Node node, @PluginConfiguration final Configuration config ) { if (config == null) { LOGGER.error("PluginConfiguration not expected to be null"); return null; } if (node == null) { LOGGER.error("Node must be specified as an appender specification"); return null; } boolean renameFileOnClose = DEFAULT_RENAME_FILES_ON_CLOSE; if (Strings.isNotBlank(renameFileOnCloseProvided)) { renameFileOnClose = Boolean.parseBoolean(renameFileOnCloseProvided); } String renamedFileSuffix = DEFAULT_RENAMED_FILE_SUFFIX; if (Strings.isNotBlank(renamedFileSuffixProvided)) { renamedFileSuffix = renamedFileSuffixProvided; } return new LlapWrappedAppender(name, node, config, renameFileOnClose, renamedFileSuffix); }
@PluginAttribute("advertise") final String advertise, @PluginAttribute("advertiseURI") final String advertiseURI, @PluginConfiguration final Configuration config) {
@PluginAttribute("fileIndex") final String fileIndex, @PluginAttribute("compressionLevel") final String compressionLevelStr, @PluginConfiguration final Configuration config) { final boolean useMax = fileIndex == null ? true : fileIndex.equalsIgnoreCase("max"); int minIndex = MIN_WINDOW_SIZE;
public static class Builder implements org.apache.logging.log4j.core.util.Builder<JsonPatternLayout> { @PluginBuilderAttribute private Charset charset = Charset.defaultCharset(); @PluginConfiguration private Configuration configuration = null; private Builder() { } public Builder withCharset(final Charset charset) { if (charset != null) { this.charset = charset; } return this; } public Builder withConfiguration(final Configuration configuration) { this.configuration = configuration; return this; } @Override public JsonPatternLayout build() { return new JsonPatternLayout(configuration, charset); } }
/** * The factory method to create the PropertiesRewritePolicy. * @param config The Configuration. * @param props key/value pairs for the new keys and values. * @return The PropertiesRewritePolicy. */ @PluginFactory public static PropertiesRewritePolicy createPolicy(@PluginConfiguration final Configuration config, @PluginElement("Properties") final Property[] props) { if (props == null || props.length == 0) { LOGGER.error("Properties must be specified for the PropertiesRewritePolicy"); return null; } final List<Property> properties = Arrays.asList(props); return new PropertiesRewritePolicy(config, properties); } }
public static class Builder implements org.apache.logging.log4j.core.util.Builder<AppenderRefFailoverPolicy> { @PluginElement("AppenderRef") @Required(message = "No appender specified for AppenderRefFailoverPolicy") private AppenderRef appenderRef; @PluginConfiguration private Configuration configuration; @Override public AppenderRefFailoverPolicy build() { return new AppenderRefFailoverPolicy(appenderRef, configuration); } public Builder withAppenderRef(AppenderRef appenderRef) { this.appenderRef = appenderRef; return this; } public Builder withConfiguration(Configuration configuration) { this.configuration = configuration; return this; } }
public static class Builder implements org.apache.logging.log4j.core.util.Builder<AppenderRefFailoverPolicy> { @PluginElement("AppenderRef") @Required(message = "No appender specified for AppenderRefFailoverPolicy") private AppenderRef appenderRef; @PluginConfiguration private Configuration configuration; @Override public AppenderRefFailoverPolicy build() { return new AppenderRefFailoverPolicy(appenderRef, configuration); } public Builder withAppenderRef(AppenderRef appenderRef) { this.appenderRef = appenderRef; return this; } public Builder withConfiguration(Configuration configuration) { this.configuration = configuration; return this; } }
@PluginFactory public static GelfDynamicMdcLogFields createField(@PluginConfiguration final Configuration config, @PluginAttribute("regex") String regex) { if (Strings.isEmpty(regex)) { LOGGER.error("The regex is empty"); return null; } return new GelfDynamicMdcLogFields(regex); } }
@PluginFactory public static GelfDynamicMdcLogFields createField(@PluginConfiguration final Configuration config, @PluginAttribute("regex") String regex) { if (Strings.isEmpty(regex)) { LOGGER.error("The regex is empty"); return null; } return new GelfDynamicMdcLogFields(regex); } }
@PluginFactory public static GelfDynamicMdcLogFields createField(@PluginConfiguration final Configuration config, @PluginAttribute("regex") String regex) { if (Strings.isEmpty(regex)) { LOGGER.error("The regex is empty"); return null; } return new GelfDynamicMdcLogFields(regex); } }
@PluginFactory public static ScriptRef createReference( // @formatter:off @PluginAttribute("ref") final String name, @PluginConfiguration final Configuration configuration) { // @formatter:on if (name == null) { LOGGER.error("No script name provided"); return null; } return new ScriptRef(name, configuration.getScriptManager()); }
@PluginConfiguration private Configuration configuration;
@PluginAttribute("checkInterval") final String checkInterval, @PluginAttribute("timeUnit") final String timeUnit, @PluginConfiguration final Configuration configuration) {
private Node node; @PluginConfiguration @Required private Configuration configuration;
/** * Creates a ScheduledTriggeringPolicy. * * @param configuration * the Configuration. * @param evaluateOnStartup * check if the file should be rolled over immediately. * @param schedule * the cron expression. * @return a ScheduledTriggeringPolicy. */ @PluginFactory public static CronTriggeringPolicy createPolicy(@PluginConfiguration final Configuration configuration, @PluginAttribute("evaluateOnStartup") final String evaluateOnStartup, @PluginAttribute("schedule") final String schedule) { CronExpression cronExpression; final boolean checkOnStartup = Boolean.parseBoolean(evaluateOnStartup); if (schedule == null) { LOGGER.info("No schedule specified, defaulting to Daily"); cronExpression = getSchedule(defaultSchedule); } else { cronExpression = getSchedule(schedule); if (cronExpression == null) { LOGGER.error("Invalid expression specified. Defaulting to Daily"); cronExpression = getSchedule(defaultSchedule); } } return new CronTriggeringPolicy(cronExpression, checkOnStartup, configuration); }
@PluginFactory public static LlapWrappedAppender createAppender( @PluginAttribute("name") final String name, // This isn't really used for anything. @PluginAttribute("renameFileOnClose") final String renameFileOnCloseProvided, @PluginAttribute("renamedFileSuffix") final String renamedFileSuffixProvided, @PluginNode final Node node, @PluginConfiguration final Configuration config ) { if (config == null) { LOGGER.error("PluginConfiguration not expected to be null"); return null; } if (node == null) { LOGGER.error("Node must be specified as an appender specification"); return null; } boolean renameFileOnClose = DEFAULT_RENAME_FILES_ON_CLOSE; if (Strings.isNotBlank(renameFileOnCloseProvided)) { renameFileOnClose = Boolean.parseBoolean(renameFileOnCloseProvided); } String renamedFileSuffix = DEFAULT_RENAMED_FILE_SUFFIX; if (Strings.isNotBlank(renamedFileSuffixProvided)) { renamedFileSuffix = renamedFileSuffixProvided; } return new LlapWrappedAppender(name, node, config, renameFileOnClose, renamedFileSuffix); }
@PluginFactory public static JsonPatternLayout createLayout(@PluginAttribute(value = "charset") final Charset charset, @PluginConfiguration final Configuration config) { return new Builder().withCharset(charset).withConfiguration(config).build(); }
@PluginConfiguration final Configuration configuration) {
@PluginAttribute("ignoreExceptions") final String ignore, @PluginElement("AppenderRef") final AppenderRef[] appenderRefs, @PluginConfiguration final Configuration config, @PluginElement("RewritePolicy") final RewritePolicy rewritePolicy, @PluginElement("Filter") final Filter filter) {