@PluginFactory public static MemoryAppender createAppender( @PluginElement("Layout") Layout<? extends Serializable> layout, @PluginElement("Filter") final Filter filter, @PluginAttribute("name") final String name, @PluginAttribute(value = "bufferSize", defaultInt = 500) final String bufferSize, @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final String ignore) { if (name == null) { LOGGER.error("No name provided for MemoryAppender"); return null; } if (layout == null) { layout = PatternLayout.createDefaultLayout(); } final int size = Integer.parseInt(bufferSize); final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); return new MemoryAppender(name, filter, layout, ignoreExceptions, size); }
@PluginConfiguration final Configuration config) { final boolean isAppend = Booleans.parseBoolean(append, true); final boolean isFlush = Booleans.parseBoolean(immediateFlush, true); final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); final boolean isAdvertise = Boolean.parseBoolean(advertise); final int bufferSize = Integers.parseInt(bufferSizeStr, 256 * 1024 /* RandomAccessFileManager.DEFAULT_BUFFER_SIZE */);
final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); final Target target = targetStr == null ? DEFAULT_TARGET : Target.valueOf(targetStr); return new ConsoleAppender(name, layout, filter, getManager(target, isFollow, false, layout), ignoreExceptions, target);
public static class Builder<B extends Builder<B>> extends AbstractAppender.Builder<B> implements org.apache.logging.log4j.core.util.Builder<RoutingAppender> { // Does not work unless the element is called "Script", I wanted "DefaultRounteScript"... @PluginElement("Script") private AbstractScript defaultRouteScript; @PluginElement("Routes") private Routes routes; @PluginElement("RewritePolicy") private RewritePolicy rewritePolicy; @PluginElement("PurgePolicy") private PurgePolicy purgePolicy; @Override public RoutingAppender build() { final String name = getName(); if (name == null) { LOGGER.error("No name defined for this RoutingAppender"); return null; } if (routes == null) { LOGGER.error("No routes defined for RoutingAppender {}", name); return null; } return new RoutingAppender(name, getFilter(), isIgnoreExceptions(), routes, rewritePolicy, getConfiguration(), purgePolicy, defaultRouteScript); }
@PluginFactory public static MemoryAppender createAppender( @PluginElement("Layout") Layout<? extends Serializable> layout, @PluginElement("Filter") final Filter filter, @PluginAttribute("name") final String name, @PluginAttribute(value = "bufferSize", defaultInt = 500) final String bufferSize, @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final String ignore) { if (name == null) { LOGGER.error("No name provided for MemoryAppender"); return null; } if (layout == null) { layout = PatternLayout.createDefaultLayout(); } final int size = Integer.parseInt(bufferSize); final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); return new MemoryAppender(name, filter, layout, ignoreExceptions, size); }
.withAdvertise(Boolean.parseBoolean(advertise)) .withAdvertiseUri(advertiseUri) .withAppend(Booleans.parseBoolean(append, true)) .withBufferedIo(Booleans.parseBoolean(bufferedIo, true)) .withBufferSize(Integers.parseInt(bufferSizeStr, DEFAULT_BUFFER_SIZE)) .setConfiguration(config) .withFileName(fileName) .withFilter(filter) .withIgnoreExceptions(Booleans.parseBoolean(ignoreExceptions, true)) .withImmediateFlush(Booleans.parseBoolean(immediateFlush, true)) .withLayout(layout) .withLocking(Boolean.parseBoolean(locking))
/** * Factory method for creating a column config within the plugin manager. * * @see Builder * @deprecated use {@link #newBuilder()} */ @Deprecated public static ColumnConfig createColumnConfig(final Configuration config, final String name, final String pattern, final String literalValue, final String eventTimestamp, final String unicode, final String clob) { if (Strings.isEmpty(name)) { LOGGER.error("The column config is not valid because it does not contain a column name."); return null; } final boolean isEventTimestamp = Boolean.parseBoolean(eventTimestamp); final boolean isUnicode = Booleans.parseBoolean(unicode, true); final boolean isClob = Boolean.parseBoolean(clob); return newBuilder() .setConfiguration(config) .setName(name) .setPattern(pattern) .setLiteral(literalValue) .setEventTimestamp(isEventTimestamp) .setUnicode(isUnicode) .setClob(isClob) .build(); }
@PluginConfiguration final Configuration config) { final boolean isAppend = Booleans.parseBoolean(append, true); final boolean isLocking = Boolean.parseBoolean(locking); boolean isBuffered = Booleans.parseBoolean(bufferedIo, true); final boolean isAdvertise = Boolean.parseBoolean(advertise); if (isLocking && isBuffered) { LOGGER.warn("The bufferSize is set to {} but bufferedIO is not true: {}", bufferSize, bufferedIo); final boolean isFlush = Booleans.parseBoolean(immediateFlush, true); final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
final Configuration configuration) { final boolean isAppend = Booleans.parseBoolean(append, true); final boolean isFlush = Booleans.parseBoolean(immediateFlush, true); final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); final boolean isAdvertise = Boolean.parseBoolean(advertise); final int bufferSize = Integers.parseInt(bufferSizeStr, RandomAccessFileManager.DEFAULT_BUFFER_SIZE);
@PluginElement("Filter") final Filter filter) { final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); if (name == null) { LOGGER.error("No name provided for RewriteAppender");
final boolean isAppend = Booleans.parseBoolean(append, true); final boolean isImmediateFlush = Booleans.parseBoolean(immediateFlush, false); final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); final boolean isAdvertise = Boolean.parseBoolean(advertise); final int regionLength = Integers.parseInt(regionLengthStr, MemoryMappedFileManager.DEFAULT_REGION_LENGTH);
final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
.withAdvertise(Boolean.parseBoolean(advertise)) .withAdvertiseUri(advertiseUri) .withAppend(Booleans.parseBoolean(append, true)) .withBufferedIo(Booleans.parseBoolean(bufferedIO, true)) .withBufferSize(bufferSize) .setConfiguration(config) .withFilePattern(filePattern) .withFilter(filter) .withIgnoreExceptions(Booleans.parseBoolean(ignore, true)) .withImmediateFlush(Booleans.parseBoolean(immediateFlush, true)) .withLayout(layout) .withCreateOnDemand(false)
final boolean additive = Booleans.parseBoolean(additivity, true);
@PluginFactory public static LoggerConfig createLogger( // @formatter:off @PluginAttribute("additivity") final String additivity, @PluginAttribute("level") final Level level, @PluginAttribute("includeLocation") final String includeLocation, @PluginElement("AppenderRef") final AppenderRef[] refs, @PluginElement("Properties") final Property[] properties, @PluginConfiguration final Configuration config, @PluginElement("Filter") final Filter filter) { // @formatter:on final List<AppenderRef> appenderRefs = Arrays.asList(refs); final Level actualLevel = level == null ? Level.ERROR : level; final boolean additive = Booleans.parseBoolean(additivity, true); return new LoggerConfig(LogManager.ROOT_LOGGER_NAME, appenderRefs, filter, actualLevel, additive, properties, config, includeLocation(includeLocation)); } }
@PluginFactory public static LoggerConfig createLogger( @PluginAttribute("additivity") final String additivity, @PluginAttribute("level") final String levelName, @PluginAttribute("includeLocation") final String includeLocation, @PluginElement("AppenderRef") final AppenderRef[] refs, @PluginElement("Properties") final Property[] properties, @PluginConfiguration final Configuration config, @PluginElement("Filter") final Filter filter) { final List<AppenderRef> appenderRefs = Arrays.asList(refs); Level level; try { level = Level.toLevel(levelName, Level.ERROR); } catch (final Exception ex) { LOGGER.error( "Invalid Log level specified: {}. Defaulting to Error", levelName); level = Level.ERROR; } final boolean additive = Booleans.parseBoolean(additivity, true); return new AsyncLoggerConfig(LogManager.ROOT_LOGGER_NAME, appenderRefs, filter, level, additive, properties, config, AsyncLoggerConfig.includeLocation(includeLocation)); } }
final boolean additive = Booleans.parseBoolean(additivity, true);
final Configuration configuration) { final boolean isAppend = Booleans.parseBoolean(append, true); final boolean isIgnoreExceptions = Booleans.parseBoolean(ignoreExceptions, true); final boolean isImmediateFlush = Booleans.parseBoolean(immediateFlush, true); final boolean isAdvertise = Boolean.parseBoolean(advertise); final int bufferSize = Integers.parseInt(bufferSizeStr, RollingRandomAccessFileManager.DEFAULT_BUFFER_SIZE);
/** * Factory method for creating a JDBC appender within the plugin manager. * * @see Builder * @deprecated use {@link #newBuilder()} */ @Deprecated public static <B extends Builder<B>> JdbcAppender createAppender(final String name, final String ignore, final Filter filter, final ConnectionSource connectionSource, final String bufferSize, final String tableName, final ColumnConfig[] columnConfigs) { Assert.requireNonEmpty(name, "Name cannot be empty"); Objects.requireNonNull(connectionSource, "ConnectionSource cannot be null"); Assert.requireNonEmpty(tableName, "Table name cannot be empty"); Assert.requireNonEmpty(columnConfigs, "ColumnConfigs cannot be empty"); final int bufferSizeInt = AbstractAppender.parseInt(bufferSize, 0); final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); return JdbcAppender.<B>newBuilder() .setBufferSize(bufferSizeInt) .setColumnConfigs(columnConfigs) .setConnectionSource(connectionSource) .setTableName(tableName) .withName(name) .withIgnoreExceptions(ignoreExceptions) .withFilter(filter) .build(); }