This is an automated email from the ASF dual-hosted git repository. mattsicker pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 1cd449988476074b8397c97c81a2917bcb69e6c1 Author: Matt Sicker <[email protected]> AuthorDate: Sun Oct 6 21:09:51 2019 -0500 Simplify annotation usage This removes redundant annotation values. Signed-off-by: Matt Sicker <[email protected]> --- .../org/apache/log4j/layout/Log4j1XmlLayout.java | 4 +- .../log4j/core/appender/CountingNoOpAppender.java | 2 +- .../log4j/core/appender/FailoverAppender.java | 35 +++++---------- .../logging/log4j/core/appender/NullAppender.java | 2 +- .../core/appender/rewrite/MapRewritePolicy.java | 2 +- .../core/appender/rewrite/RewriteAppender.java | 22 +++------- .../appender/rolling/CronTriggeringPolicy.java | 4 +- .../rolling/OnStartupTriggeringPolicy.java | 2 +- .../rolling/SizeBasedTriggeringPolicy.java | 2 +- .../core/appender/rolling/action/DeleteAction.java | 14 +++--- .../core/appender/rolling/action/IfFileName.java | 4 +- .../appender/rolling/action/IfLastModified.java | 2 +- .../rolling/action/PathSortByModificationTime.java | 2 +- .../core/appender/routing/IdlePurgePolicy.java | 6 +-- .../logging/log4j/core/appender/routing/Route.java | 2 +- .../log4j/core/appender/routing/Routes.java | 4 +- .../log4j/core/async/AsyncLoggerConfig.java | 24 +++++------ .../core/async/DisruptorBlockingQueueFactory.java | 2 +- .../core/async/JCToolsBlockingQueueFactory.java | 2 +- .../logging/log4j/core/config/AppenderRef.java | 15 ++----- .../log4j/core/config/CustomLevelConfig.java | 2 +- .../logging/log4j/core/config/LoggerConfig.java | 24 +++++------ .../apache/logging/log4j/core/config/Property.java | 12 ++---- .../log4j/core/filter/DynamicThresholdFilter.java | 10 ++--- .../log4j/core/filter/LevelRangeFilter.java | 8 ++-- .../logging/log4j/core/filter/MapFilter.java | 12 +++--- .../logging/log4j/core/filter/MarkerFilter.java | 13 +++--- .../logging/log4j/core/filter/RegexFilter.java | 16 +++---- .../logging/log4j/core/filter/ScriptFilter.java | 12 +++--- .../log4j/core/filter/StructuredDataFilter.java | 18 ++++---- .../log4j/core/filter/ThreadContextMapFilter.java | 12 +++--- .../logging/log4j/core/filter/ThresholdFilter.java | 2 +- .../logging/log4j/core/filter/TimeFilter.java | 4 +- .../logging/log4j/core/layout/HtmlLayout.java | 10 ++--- .../logging/log4j/core/layout/LoggerFields.java | 8 ++-- .../logging/log4j/core/layout/Rfc5424Layout.java | 25 ++++++----- .../log4j/core/net/ssl/KeyStoreConfiguration.java | 10 ++--- .../log4j/core/net/ssl/SslConfiguration.java | 14 +++--- .../core/net/ssl/TrustStoreConfiguration.java | 10 ++--- .../log4j/core/pattern/RegexReplacement.java | 4 +- .../apache/logging/log4j/core/script/Script.java | 6 +-- .../logging/log4j/core/script/ScriptFile.java | 8 ++-- .../log4j/core/appender/HangingAppender.java | 12 +++--- .../logging/log4j/core/async/BlockingAppender.java | 6 +-- .../log4j/test/appender/AlwaysFailAppender.java | 2 +- .../log4j/test/appender/BlockingAppender.java | 2 +- .../log4j/test/appender/DeadlockAppender.java | 2 +- .../log4j/test/appender/FailOnceAppender.java | 2 +- .../log4j/test/appender/UsesLoggingAppender.java | 6 +-- .../logging/log4j/couchdb/CouchDbProvider.java | 16 +++---- .../log4j/csv/layout/CsvLogEventLayout.java | 20 ++++----- .../log4j/csv/layout/CsvParameterLayout.java | 20 ++++----- .../log4j/flume/appender/FlumeAppender.java | 34 +++++++-------- .../jdbc/appender/DataSourceConnectionSource.java | 2 +- .../log4j/jeromq/appender/JeroMqAppender.java | 50 +++++++++++----------- .../logging/log4j/jpa/appender/JpaAppender.java | 10 ++--- .../log4j/kafka/appender/KafkaAppender.java | 6 +-- .../log4j/plugins/validation/HostAndPort.java | 4 +- .../PluginWithGenericSubclassFoo1Builder.java | 9 +--- .../ValidatingPluginWithGenericBuilder.java | 10 +---- .../logging/log4j/smtp/appender/SmtpAppender.java | 28 ++++++------ 61 files changed, 291 insertions(+), 342 deletions(-) diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java b/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java index 8d23307..899ebb6 100644 --- a/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java +++ b/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java @@ -48,8 +48,8 @@ public final class Log4j1XmlLayout extends AbstractStringLayout { @PluginFactory public static Log4j1XmlLayout createLayout( // @formatter:off - @PluginAttribute(value = "locationInfo") final boolean locationInfo, - @PluginAttribute(value = "properties") final boolean properties + @PluginAttribute final boolean locationInfo, + @PluginAttribute final boolean properties // @formatter:on ) { return new Log4j1XmlLayout(locationInfo, properties); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/CountingNoOpAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/CountingNoOpAppender.java index 51e4d3b..e5628f4 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/CountingNoOpAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/CountingNoOpAppender.java @@ -53,7 +53,7 @@ public class CountingNoOpAppender extends AbstractAppender { * Creates a CountingNoOp Appender. */ @PluginFactory - public static CountingNoOpAppender createAppender(@PluginAttribute("name") final String name) { + public static CountingNoOpAppender createAppender(@PluginAttribute final String name) { return new CountingNoOpAppender(Objects.requireNonNull(name), null); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FailoverAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FailoverAppender.java index e907fe3..7cab755 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FailoverAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FailoverAppender.java @@ -37,6 +37,7 @@ import org.apache.logging.log4j.plugins.PluginElement; import org.apache.logging.log4j.plugins.PluginFactory; import org.apache.logging.log4j.core.util.Booleans; import org.apache.logging.log4j.core.util.Constants; +import org.apache.logging.log4j.plugins.validation.constraints.Required; /** * The FailoverAppender will capture exceptions in an Appender and then route the event @@ -182,38 +183,22 @@ public final class FailoverAppender extends AbstractAppender { */ @PluginFactory public static FailoverAppender createAppender( - @PluginAttribute("name") final String name, - @PluginAttribute("primary") final String primary, - @PluginElement("Failovers") final String[] failovers, + @PluginAttribute @Required(message = "A name for the Appender must be specified") final String name, + @PluginAttribute @Required(message = "A primary Appender must be specified") final String primary, + @PluginElement @Required(message = "At least one failover Appender must be specified") final String[] failovers, @PluginAliases("retryInterval") // deprecated - @PluginAttribute("retryIntervalSeconds") final String retryIntervalSeconds, + @PluginAttribute(defaultInt = DEFAULT_INTERVAL_SECONDS) final int retryIntervalSeconds, @PluginConfiguration final Configuration config, - @PluginElement("Filter") final Filter filter, - @PluginAttribute("ignoreExceptions") final String ignore) { - if (name == null) { - LOGGER.error("A name for the Appender must be specified"); - return null; - } - if (primary == null) { - LOGGER.error("A primary Appender must be specified"); - return null; - } - if (failovers == null || failovers.length == 0) { - LOGGER.error("At least one failover Appender must be specified"); - return null; - } + @PluginElement final Filter filter, + @PluginAttribute(defaultBoolean = true) final boolean ignoreExceptions) { - final int seconds = parseInt(retryIntervalSeconds, DEFAULT_INTERVAL_SECONDS); int retryIntervalMillis; - if (seconds >= 0) { - retryIntervalMillis = seconds * Constants.MILLIS_IN_SECONDS; + if (retryIntervalSeconds >= 0) { + retryIntervalMillis = retryIntervalSeconds * Constants.MILLIS_IN_SECONDS; } else { - LOGGER.warn("Interval " + retryIntervalSeconds + " is less than zero. Using default"); + LOGGER.warn("Interval {} is less than zero. Using default", retryIntervalSeconds); retryIntervalMillis = DEFAULT_INTERVAL_SECONDS * Constants.MILLIS_IN_SECONDS; } - - final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); - return new FailoverAppender(name, filter, primary, failovers, retryIntervalMillis, config, ignoreExceptions, Property.EMPTY_ARRAY); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/NullAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/NullAppender.java index 0aa4ced..f84e04c 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/NullAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/NullAppender.java @@ -35,7 +35,7 @@ public class NullAppender extends AbstractAppender { @PluginFactory public static NullAppender createAppender( - @PluginAttribute(value = "name", defaultString = "null") final String name) { + @PluginAttribute(defaultString = "null") final String name) { return new NullAppender(name); } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicy.java index 1082573..0072d29 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/MapRewritePolicy.java @@ -127,7 +127,7 @@ public final class MapRewritePolicy implements RewritePolicy { */ @PluginFactory public static MapRewritePolicy createPolicy( - @PluginAttribute("mode") final String mode, + @PluginAttribute final String mode, @PluginElement("KeyValuePair") final KeyValuePair[] pairs) { Mode op = mode == null ? op = Mode.Add : Mode.valueOf(mode); if (pairs == null || pairs.length == 0) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.java index 5e2661f..3d8aa26 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rewrite/RewriteAppender.java @@ -33,7 +33,7 @@ import org.apache.logging.log4j.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; import org.apache.logging.log4j.plugins.PluginElement; import org.apache.logging.log4j.plugins.PluginFactory; -import org.apache.logging.log4j.core.util.Booleans; +import org.apache.logging.log4j.plugins.validation.constraints.Required; /** * This Appender allows the logging event to be manipulated before it is processed by other Appenders. @@ -98,22 +98,12 @@ public final class RewriteAppender extends AbstractAppender { */ @PluginFactory public static RewriteAppender createAppender( - @PluginAttribute("name") final String name, - @PluginAttribute("ignoreExceptions") final String ignore, - @PluginElement("AppenderRef") final AppenderRef[] appenderRefs, + @PluginAttribute @Required(message = "No name provided for RewriteAppender") final String name, + @PluginAttribute(defaultBoolean = true) final boolean ignoreExceptions, + @PluginElement @Required(message = "No appender references defined for RewriteAppender") final AppenderRef[] appenderRefs, @PluginConfiguration final Configuration config, - @PluginElement("RewritePolicy") final RewritePolicy rewritePolicy, - @PluginElement("Filter") final Filter filter) { - - final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); - if (name == null) { - LOGGER.error("No name provided for RewriteAppender"); - return null; - } - if (appenderRefs == null) { - LOGGER.error("No appender references defined for RewriteAppender"); - return null; - } + @PluginElement final RewritePolicy rewritePolicy, + @PluginElement final Filter filter) { return new RewriteAppender(name, filter, ignoreExceptions, appenderRefs, rewritePolicy, config, Property.EMPTY_ARRAY); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java index 03cf69b..1dbc119 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java @@ -120,8 +120,8 @@ public final class CronTriggeringPolicy extends AbstractTriggeringPolicy { */ @PluginFactory public static CronTriggeringPolicy createPolicy(@PluginConfiguration final Configuration configuration, - @PluginAttribute("evaluateOnStartup") final String evaluateOnStartup, - @PluginAttribute("schedule") final String schedule) { + @PluginAttribute final String evaluateOnStartup, + @PluginAttribute final String schedule) { CronExpression cronExpression; final boolean checkOnStartup = Boolean.parseBoolean(evaluateOnStartup); if (schedule == null) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicy.java index cfd8f38..d7a2c74 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicy.java @@ -103,7 +103,7 @@ public class OnStartupTriggeringPolicy extends AbstractTriggeringPolicy { @PluginFactory public static OnStartupTriggeringPolicy createPolicy( - @PluginAttribute(value = "minSize", defaultLong = 1) final long minSize) { + @PluginAttribute(defaultLong = 1) final long minSize) { return new OnStartupTriggeringPolicy(minSize); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.java index 8fde3d9..73245d1 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/SizeBasedTriggeringPolicy.java @@ -92,7 +92,7 @@ public class SizeBasedTriggeringPolicy extends AbstractTriggeringPolicy { * @return A SizeBasedTriggeringPolicy. */ @PluginFactory - public static SizeBasedTriggeringPolicy createPolicy(@PluginAttribute("size") final String size) { + public static SizeBasedTriggeringPolicy createPolicy(@PluginAttribute final String size) { final long maxSize = size == null ? MAX_FILE_SIZE : FileSize.parse(size, MAX_FILE_SIZE); return new SizeBasedTriggeringPolicy(maxSize); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java index cebafb7..995d8d1 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java @@ -199,13 +199,13 @@ public class DeleteAction extends AbstractPathAction { @PluginFactory public static DeleteAction createDeleteAction( // @formatter:off - @PluginAttribute("basePath") final String basePath, - @PluginAttribute(value = "followLinks") final boolean followLinks, - @PluginAttribute(value = "maxDepth", defaultInt = 1) final int maxDepth, - @PluginAttribute(value = "testMode") final boolean testMode, - @PluginElement("PathSorter") final PathSorter sorterParameter, - @PluginElement("PathConditions") final PathCondition[] pathConditions, - @PluginElement("ScriptCondition") final ScriptCondition scriptCondition, + @PluginAttribute final String basePath, + @PluginAttribute final boolean followLinks, + @PluginAttribute(defaultInt = 1) final int maxDepth, + @PluginAttribute final boolean testMode, + @PluginElement final PathSorter sorterParameter, + @PluginElement final PathCondition[] pathConditions, + @PluginElement final ScriptCondition scriptCondition, @PluginConfiguration final Configuration config) { // @formatter:on final PathSorter sorter = sorterParameter == null ? new PathSortByModificationTime(true) : sorterParameter; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfFileName.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfFileName.java index 509fbc6..bdf14dd 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfFileName.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfFileName.java @@ -135,8 +135,8 @@ public final class IfFileName implements PathCondition { @PluginFactory public static IfFileName createNameCondition( // @formatter:off - @PluginAttribute("glob") final String glob, - @PluginAttribute("regex") final String regex, + @PluginAttribute final String glob, + @PluginAttribute final String regex, @PluginElement("PathConditions") final PathCondition... nestedConditions) { // @formatter:on return new IfFileName(glob, regex, nestedConditions); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModified.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModified.java index d232280..7aa3e73 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModified.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModified.java @@ -100,7 +100,7 @@ public final class IfLastModified implements PathCondition { @PluginFactory public static IfLastModified createAgeCondition( // @formatter:off - @PluginAttribute("age") final Duration age, + @PluginAttribute final Duration age, @PluginElement("PathConditions") final PathCondition... nestedConditions) { // @formatter:on return new IfLastModified(age, nestedConditions); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java index 1568dba..68c0086 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.java @@ -53,7 +53,7 @@ public class PathSortByModificationTime implements PathSorter, Serializable { */ @PluginFactory public static PathSorter createSorter( - @PluginAttribute(value = "recentFirst", defaultBoolean = true) final boolean recentFirst) { + @PluginAttribute(defaultBoolean = true) final boolean recentFirst) { return new PathSortByModificationTime(recentFirst); } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java index 2b9510c..950cdd9 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java @@ -130,9 +130,9 @@ public class IdlePurgePolicy extends AbstractLifeCycle implements PurgePolicy, R */ @PluginFactory public static PurgePolicy createPurgePolicy( - @PluginAttribute("timeToLive") final String timeToLive, - @PluginAttribute("checkInterval") final String checkInterval, - @PluginAttribute("timeUnit") final String timeUnit, + @PluginAttribute final String timeToLive, + @PluginAttribute final String checkInterval, + @PluginAttribute final String timeUnit, @PluginConfiguration final Configuration configuration) { if (timeToLive == null) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Route.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Route.java index 5211b7d..a5a6290 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Route.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Route.java @@ -96,7 +96,7 @@ public final class Route { @PluginFactory public static Route createRoute( @PluginAttribute("ref") final String appenderRef, - @PluginAttribute("key") final String key, + @PluginAttribute final String key, @PluginNode final Node node) { if (node != null && node.hasChildren()) { if (appenderRef != null) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Routes.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Routes.java index 9f46dc6..0dbab8b 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Routes.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Routes.java @@ -49,13 +49,13 @@ public final class Routes { @PluginConfiguration private Configuration configuration; - @PluginAttribute("pattern") + @PluginAttribute private String pattern; @PluginElement("Script") private AbstractScript patternScript; - @PluginElement("Routes") + @PluginElement @Required private Route[] routes; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java index 1ecf153..3a6613f 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java @@ -208,14 +208,14 @@ public class AsyncLoggerConfig extends LoggerConfig { */ @PluginFactory public static LoggerConfig createLogger( - @PluginAttribute(value = "additivity", defaultBoolean = true) final boolean additivity, - @PluginAttribute("level") final Level level, + @PluginAttribute(defaultBoolean = true) final boolean additivity, + @PluginAttribute final Level level, @Required(message = "Loggers cannot be configured without a name") @PluginAttribute("name") final String loggerName, - @PluginAttribute("includeLocation") final String includeLocation, - @PluginElement("AppenderRef") final AppenderRef[] refs, - @PluginElement("Properties") final Property[] properties, + @PluginAttribute final String includeLocation, + @PluginElement final AppenderRef[] refs, + @PluginElement final Property[] properties, @PluginConfiguration final Configuration config, - @PluginElement("Filter") final Filter filter) { + @PluginElement final Filter filter) { final String name = loggerName.equals(ROOT) ? Strings.EMPTY : loggerName; return new AsyncLoggerConfig(name, Arrays.asList(refs), filter, level, additivity, properties, config, includeLocation(includeLocation)); @@ -237,13 +237,13 @@ public class AsyncLoggerConfig extends LoggerConfig { */ @PluginFactory public static LoggerConfig createLogger( - @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, + @PluginAttribute final String additivity, + @PluginAttribute final Level level, + @PluginAttribute final String includeLocation, + @PluginElement final AppenderRef[] refs, + @PluginElement final Property[] properties, @PluginConfiguration final Configuration config, - @PluginElement("Filter") final Filter filter) { + @PluginElement final Filter filter) { final List<AppenderRef> appenderRefs = Arrays.asList(refs); final Level actualLevel = level == null ? Level.ERROR : level; final boolean additive = Booleans.parseBoolean(additivity, true); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorBlockingQueueFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorBlockingQueueFactory.java index 66bd78a..766daf6 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorBlockingQueueFactory.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorBlockingQueueFactory.java @@ -46,7 +46,7 @@ public class DisruptorBlockingQueueFactory<E> implements BlockingQueueFactory<E> @PluginFactory public static <E> DisruptorBlockingQueueFactory<E> createFactory( - @PluginAttribute(value = "SpinPolicy", defaultString = "WAITING") final SpinPolicy spinPolicy + @PluginAttribute(defaultString = "WAITING") final SpinPolicy spinPolicy ) { return new DisruptorBlockingQueueFactory<>(spinPolicy); } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/JCToolsBlockingQueueFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/JCToolsBlockingQueueFactory.java index c3517c3..9333611 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/JCToolsBlockingQueueFactory.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/JCToolsBlockingQueueFactory.java @@ -48,7 +48,7 @@ public class JCToolsBlockingQueueFactory<E> implements BlockingQueueFactory<E> { @PluginFactory public static <E> JCToolsBlockingQueueFactory<E> createFactory( - @PluginAttribute(value = "WaitStrategy", defaultString = "PARK") final WaitStrategy waitStrategy) { + @PluginAttribute(defaultString = "PARK") final WaitStrategy waitStrategy) { return new JCToolsBlockingQueueFactory<>(waitStrategy); } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderRef.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderRef.java index eee3c01..04a932b 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderRef.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderRef.java @@ -17,7 +17,6 @@ package org.apache.logging.log4j.core.config; import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.Filter; import org.apache.logging.log4j.plugins.Node; import org.apache.logging.log4j.plugins.Plugin; @@ -25,7 +24,7 @@ import org.apache.logging.log4j.plugins.PluginAliases; import org.apache.logging.log4j.plugins.PluginAttribute; import org.apache.logging.log4j.plugins.PluginElement; import org.apache.logging.log4j.plugins.PluginFactory; -import org.apache.logging.log4j.status.StatusLogger; +import org.apache.logging.log4j.plugins.validation.constraints.Required; /** * An Appender reference. @@ -33,7 +32,6 @@ import org.apache.logging.log4j.status.StatusLogger; @Plugin(name = "AppenderRef", category = Node.CATEGORY, printObject = true) @PluginAliases("appender-ref") public final class AppenderRef { - private static final Logger LOGGER = StatusLogger.getLogger(); private final String ref; private final Level level; @@ -71,14 +69,9 @@ public final class AppenderRef { */ @PluginFactory public static AppenderRef createAppenderRef( - @PluginAttribute("ref") final String ref, - @PluginAttribute("level") final Level level, - @PluginElement("Filter") final Filter filter) { - - if (ref == null) { - LOGGER.error("Appender references must contain a reference"); - return null; - } + @PluginAttribute @Required(message = "Appender references must contain a reference") final String ref, + @PluginAttribute final Level level, + @PluginElement final Filter filter) { return new AppenderRef(ref, level, filter); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/CustomLevelConfig.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/CustomLevelConfig.java index 2194617..d54a9f0 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/CustomLevelConfig.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/CustomLevelConfig.java @@ -50,7 +50,7 @@ public final class CustomLevelConfig { @PluginFactory public static CustomLevelConfig createLevel(// @formatter:off @PluginAttribute("name") final String levelName, - @PluginAttribute("intLevel") final int intLevel) { + @PluginAttribute final int intLevel) { // @formatter:on StatusLogger.getLogger().debug("Creating CustomLevel(name='{}', intValue={})", levelName, intLevel); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java index a4e08ee..4170f42 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java @@ -531,14 +531,14 @@ public class LoggerConfig extends AbstractFilterable { @PluginFactory public static LoggerConfig createLogger( // @formatter:off - @PluginAttribute(value = "additivity", defaultBoolean = true) final boolean additivity, - @PluginAttribute("level") final Level level, + @PluginAttribute(defaultBoolean = true) final boolean additivity, + @PluginAttribute final Level level, @Required(message = "Loggers cannot be configured without a name") @PluginAttribute("name") final String loggerName, - @PluginAttribute("includeLocation") final String includeLocation, - @PluginElement("AppenderRef") final AppenderRef[] refs, - @PluginElement("Properties") final Property[] properties, + @PluginAttribute final String includeLocation, + @PluginElement final AppenderRef[] refs, + @PluginElement final Property[] properties, @PluginConfiguration final Configuration config, - @PluginElement("Filter") final Filter filter + @PluginElement final Filter filter // @formatter:on ) { final String name = loggerName.equals(ROOT) ? Strings.EMPTY : loggerName; @@ -576,13 +576,13 @@ public class LoggerConfig extends AbstractFilterable { @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, + @PluginAttribute final String additivity, + @PluginAttribute final Level level, + @PluginAttribute final String includeLocation, + @PluginElement final AppenderRef[] refs, + @PluginElement final Property[] properties, @PluginConfiguration final Configuration config, - @PluginElement("Filter") final Filter filter) { + @PluginElement final Filter filter) { // @formatter:on final List<AppenderRef> appenderRefs = Arrays.asList(refs); final Level actualLevel = level == null ? Level.ERROR : level; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Property.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Property.java index 53cf84e..5e180f1 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Property.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Property.java @@ -18,13 +18,12 @@ package org.apache.logging.log4j.core.config; import java.util.Objects; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.plugins.Node; import org.apache.logging.log4j.plugins.Plugin; import org.apache.logging.log4j.plugins.PluginAttribute; import org.apache.logging.log4j.plugins.PluginFactory; import org.apache.logging.log4j.plugins.PluginValue; -import org.apache.logging.log4j.status.StatusLogger; +import org.apache.logging.log4j.plugins.validation.constraints.Required; import org.apache.logging.log4j.util.Strings; /** @@ -38,8 +37,6 @@ public final class Property { */ public static final Property[] EMPTY_ARRAY = new Property[0]; - private static final Logger LOGGER = StatusLogger.getLogger(); - private final String name; private final String value; private final boolean valueNeedsLookup; @@ -83,11 +80,8 @@ public final class Property { */ @PluginFactory public static Property createProperty( - @PluginAttribute("name") final String name, - @PluginValue("value") final String value) { - if (name == null) { - LOGGER.error("Property name cannot be null"); - } + @PluginAttribute @Required(message = "Property name cannot be null") final String name, + @PluginValue final String value) { return new Property(name, value); } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java index 738f49a..40738d3 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java @@ -59,11 +59,11 @@ public final class DynamicThresholdFilter extends AbstractFilter { // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder @PluginFactory public static DynamicThresholdFilter createFilter( - @PluginAttribute("key") final String key, - @PluginElement("Pairs") final KeyValuePair[] pairs, - @PluginAttribute("defaultThreshold") final Level defaultThreshold, - @PluginAttribute("onMatch") final Result onMatch, - @PluginAttribute("onMismatch") final Result onMismatch) { + @PluginAttribute final String key, + @PluginElement final KeyValuePair[] pairs, + @PluginAttribute final Level defaultThreshold, + @PluginAttribute final Result onMatch, + @PluginAttribute final Result onMismatch) { final Map<String, Level> map = new HashMap<>(); for (final KeyValuePair pair : pairs) { map.put(pair.getKey(), Level.toLevel(pair.getValue())); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java index 983873c..99d80a0 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java @@ -59,10 +59,10 @@ public final class LevelRangeFilter extends AbstractFilter { @PluginFactory public static LevelRangeFilter createFilter( // @formatter:off - @PluginAttribute("minLevel") final Level minLevel, - @PluginAttribute("maxLevel") final Level maxLevel, - @PluginAttribute("onMatch") final Result match, - @PluginAttribute("onMismatch") final Result mismatch) { + @PluginAttribute final Level minLevel, + @PluginAttribute final Level maxLevel, + @PluginAttribute final Result match, + @PluginAttribute final Result mismatch) { // @formatter:on final Level actualMinLevel = minLevel == null ? Level.ERROR : minLevel; final Level actualMaxLevel = maxLevel == null ? Level.ERROR : maxLevel; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java index 7f64384..b5e9ba0 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java @@ -224,10 +224,10 @@ public class MapFilter extends AbstractFilter { // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder @PluginFactory public static MapFilter createFilter( - @PluginElement("Pairs") final KeyValuePair[] pairs, - @PluginAttribute("operator") final String oper, - @PluginAttribute("onMatch") final Result match, - @PluginAttribute("onMismatch") final Result mismatch) { + @PluginElement final KeyValuePair[] pairs, + @PluginAttribute final String operator, + @PluginAttribute final Result onMatch, + @PluginAttribute final Result onMismatch) { if (pairs == null || pairs.length == 0) { LOGGER.error("keys and values must be specified for the MapFilter"); return null; @@ -257,7 +257,7 @@ public class MapFilter extends AbstractFilter { LOGGER.error("MapFilter is not configured with any valid key value pairs"); return null; } - final boolean isAnd = oper == null || !oper.equalsIgnoreCase("or"); - return new MapFilter(map, isAnd, match, mismatch); + final boolean isAnd = operator == null || !operator.equalsIgnoreCase("or"); + return new MapFilter(map, isAnd, onMatch, onMismatch); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MarkerFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MarkerFilter.java index 5d63518..d83eeae 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MarkerFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MarkerFilter.java @@ -36,7 +36,6 @@ import org.apache.logging.log4j.util.PerformanceSensitive; @PerformanceSensitive("allocation") public final class MarkerFilter extends AbstractFilter { - public static final String ATTR_MARKER = "marker"; private final String name; private MarkerFilter(final String name, final Result onMatch, final Result onMismatch) { @@ -148,22 +147,22 @@ public final class MarkerFilter extends AbstractFilter { /** * Creates the MarkerFilter. * @param marker The Marker name to match. - * @param match The action to take if a match occurs. - * @param mismatch The action to take if no match occurs. + * @param onMatch The action to take if a match occurs. + * @param onMismatch The action to take if no match occurs. * @return A MarkerFilter. */ // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder @PluginFactory public static MarkerFilter createFilter( - @PluginAttribute(ATTR_MARKER) final String marker, - @PluginAttribute(AbstractFilterBuilder.ATTR_ON_MATCH) final Result match, - @PluginAttribute(AbstractFilterBuilder.ATTR_ON_MISMATCH) final Result mismatch) { + @PluginAttribute final String marker, + @PluginAttribute final Result onMatch, + @PluginAttribute final Result onMismatch) { if (marker == null) { LOGGER.error("A marker must be provided for MarkerFilter"); return null; } - return new MarkerFilter(marker, match, mismatch); + return new MarkerFilter(marker, onMatch, onMismatch); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/RegexFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/RegexFilter.java index 6603fbf..f5c87ac 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/RegexFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/RegexFilter.java @@ -110,9 +110,9 @@ public final class RegexFilter extends AbstractFilter { * An array of Strings where each String is a {@link Pattern#compile(String, int)} compilation flag. * @param useRawMsg * If true, the raw message will be used, otherwise the formatted message will be used. - * @param match + * @param onMatch * The action to perform when a match occurs. - * @param mismatch + * @param onMismatch * The action to perform when a mismatch occurs. * @return The RegexFilter. * @throws IllegalAccessException @@ -122,18 +122,18 @@ public final class RegexFilter extends AbstractFilter { @PluginFactory public static RegexFilter createFilter( //@formatter:off - @PluginAttribute("regex") final String regex, - @PluginElement("PatternFlags") final String[] patternFlags, - @PluginAttribute("useRawMsg") final Boolean useRawMsg, - @PluginAttribute("onMatch") final Result match, - @PluginAttribute("onMismatch") final Result mismatch) + @PluginAttribute final String regex, + @PluginElement final String[] patternFlags, + @PluginAttribute final Boolean useRawMsg, + @PluginAttribute final Result onMatch, + @PluginAttribute final Result onMismatch) //@formatter:on throws IllegalArgumentException, IllegalAccessException { if (regex == null) { LOGGER.error("A regular expression must be provided for RegexFilter"); return null; } - return new RegexFilter(useRawMsg, Pattern.compile(regex, toPatternFlags(patternFlags)), match, mismatch); + return new RegexFilter(useRawMsg, Pattern.compile(regex, toPatternFlags(patternFlags)), onMatch, onMismatch); } private static int toPatternFlags(final String[] patternFlags) throws IllegalArgumentException, diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ScriptFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ScriptFilter.java index 31086e0..a911d00 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ScriptFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ScriptFilter.java @@ -125,17 +125,17 @@ public final class ScriptFilter extends AbstractFilter { * Creates the ScriptFilter. * @param script The script to run. The script must return a boolean value. Either script or scriptFile must be * provided. - * @param match The action to take if a match occurs. - * @param mismatch The action to take if no match occurs. + * @param onMatch The action to take if a match occurs. + * @param onMismatch The action to take if no match occurs. * @param configuration the configuration * @return A ScriptFilter. */ // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder @PluginFactory public static ScriptFilter createFilter( - @PluginElement("Script") final AbstractScript script, - @PluginAttribute("onMatch") final Result match, - @PluginAttribute("onMismatch") final Result mismatch, + @PluginElement final AbstractScript script, + @PluginAttribute final Result onMatch, + @PluginAttribute final Result onMismatch, @PluginConfiguration final Configuration configuration) { if (script == null) { @@ -149,7 +149,7 @@ public final class ScriptFilter extends AbstractFilter { } } - return new ScriptFilter(script, configuration, match, mismatch); + return new ScriptFilter(script, configuration, onMatch, onMismatch); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java index d806869..c3b2684 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java @@ -149,18 +149,18 @@ public final class StructuredDataFilter extends MapFilter { /** * Creates the StructuredDataFilter. * @param pairs Key and value pairs. - * @param oper The operator to perform. If not "or" the operation will be an "and". - * @param match The action to perform on a match. - * @param mismatch The action to perform on a mismatch. + * @param operator The operator to perform. If not "or" the operation will be an "and". + * @param onMatch The action to perform on a match. + * @param onMismatch The action to perform on a mismatch. * @return The StructuredDataFilter. */ // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder @PluginFactory public static StructuredDataFilter createFilter( - @PluginElement("Pairs") final KeyValuePair[] pairs, - @PluginAttribute("operator") final String oper, - @PluginAttribute("onMatch") final Result match, - @PluginAttribute("onMismatch") final Result mismatch) { + @PluginElement final KeyValuePair[] pairs, + @PluginAttribute final String operator, + @PluginAttribute final Result onMatch, + @PluginAttribute final Result onMismatch) { if (pairs == null || pairs.length == 0) { LOGGER.error("keys and values must be specified for the StructuredDataFilter"); return null; @@ -190,7 +190,7 @@ public final class StructuredDataFilter extends MapFilter { LOGGER.error("StructuredDataFilter is not configured with any valid key value pairs"); return null; } - final boolean isAnd = oper == null || !oper.equalsIgnoreCase("or"); - return new StructuredDataFilter(map, isAnd, match, mismatch); + final boolean isAnd = operator == null || !operator.equalsIgnoreCase("or"); + return new StructuredDataFilter(map, isAnd, onMatch, onMismatch); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java index 22b2f94..5f4beb7 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java @@ -197,10 +197,10 @@ public class ThreadContextMapFilter extends MapFilter { // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder @PluginFactory public static ThreadContextMapFilter createFilter( - @PluginElement("Pairs") final KeyValuePair[] pairs, - @PluginAttribute("operator") final String oper, - @PluginAttribute("onMatch") final Result match, - @PluginAttribute("onMismatch") final Result mismatch) { + @PluginElement final KeyValuePair[] pairs, + @PluginAttribute final String operator, + @PluginAttribute final Result onMatch, + @PluginAttribute final Result onMismatch) { if (pairs == null || pairs.length == 0) { LOGGER.error("key and value pairs must be specified for the ThreadContextMapFilter"); return null; @@ -230,7 +230,7 @@ public class ThreadContextMapFilter extends MapFilter { LOGGER.error("ThreadContextMapFilter is not configured with any valid key value pairs"); return null; } - final boolean isAnd = oper == null || !oper.equalsIgnoreCase("or"); - return new ThreadContextMapFilter(map, isAnd, match, mismatch); + final boolean isAnd = operator == null || !operator.equalsIgnoreCase("or"); + return new ThreadContextMapFilter(map, isAnd, onMatch, onMismatch); } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThresholdFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThresholdFilter.java index db6f99a..76befe0 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThresholdFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThresholdFilter.java @@ -162,7 +162,7 @@ public final class ThresholdFilter extends AbstractFilter { // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder @PluginFactory public static ThresholdFilter createFilter( - @PluginAttribute("level") final Level level, + @PluginAttribute final Level level, @PluginAttribute("onMatch") final Result match, @PluginAttribute("onMismatch") final Result mismatch) { final Level actualLevel = level == null ? Level.ERROR : level; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/TimeFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/TimeFilter.java index 1fe61d3..2c675ca 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/TimeFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/TimeFilter.java @@ -231,8 +231,8 @@ public final class TimeFilter extends AbstractFilter { // TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder @PluginFactory public static TimeFilter createFilter( - @PluginAttribute("start") final String start, - @PluginAttribute("end") final String end, + @PluginAttribute final String start, + @PluginAttribute final String end, @PluginAttribute("timezone") final String tz, @PluginAttribute("onMatch") final Result match, @PluginAttribute("onMismatch") final Result mismatch) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java index dd4843e..cbfa59a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java @@ -340,11 +340,11 @@ public final class HtmlLayout extends AbstractStringLayout { */ @PluginFactory public static HtmlLayout createLayout( - @PluginAttribute(value = "locationInfo") final boolean locationInfo, - @PluginAttribute(value = "title", defaultString = DEFAULT_TITLE) final String title, - @PluginAttribute("contentType") String contentType, - @PluginAttribute(value = "charset", defaultString = "UTF-8") final Charset charset, - @PluginAttribute("fontSize") String fontSize, + @PluginAttribute final boolean locationInfo, + @PluginAttribute(defaultString = DEFAULT_TITLE) final String title, + @PluginAttribute String contentType, + @PluginAttribute(defaultString = "UTF-8") final Charset charset, + @PluginAttribute String fontSize, @PluginAttribute(value = "fontName", defaultString = DEFAULT_FONT_FAMILY) final String font) { final FontSize fs = FontSize.getFontSize(fontSize); fontSize = fs.getFontSize(); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java index 0995c69..6218bab 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java @@ -71,10 +71,10 @@ public final class LoggerFields { */ @PluginFactory public static LoggerFields createLoggerFields( - @PluginElement("LoggerFields") final KeyValuePair[] keyValuePairs, - @PluginAttribute("sdId") final String sdId, - @PluginAttribute("enterpriseId") final String enterpriseId, - @PluginAttribute(value = "discardIfAllFieldsAreEmpty") final boolean discardIfAllFieldsAreEmpty) { + @PluginElement final KeyValuePair[] keyValuePairs, + @PluginAttribute final String sdId, + @PluginAttribute final String enterpriseId, + @PluginAttribute final boolean discardIfAllFieldsAreEmpty) { final Map<String, String> map = new HashMap<>(); for (final KeyValuePair keyValuePair : keyValuePairs) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java index aae47ea..9584c18 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java @@ -643,25 +643,24 @@ public final class Rfc5424Layout extends AbstractStringLayout { @PluginFactory public static Rfc5424Layout createLayout( // @formatter:off - @PluginAttribute(value = "facility", defaultString = "LOCAL0") final Facility facility, - @PluginAttribute("id") final String id, - @PluginAttribute(value = "enterpriseNumber", defaultInt = DEFAULT_ENTERPRISE_NUMBER) - final int enterpriseNumber, - @PluginAttribute(value = "includeMDC", defaultBoolean = true) final boolean includeMDC, - @PluginAttribute(value = "mdcId", defaultString = DEFAULT_MDCID) final String mdcId, - @PluginAttribute("mdcPrefix") final String mdcPrefix, - @PluginAttribute("eventPrefix") final String eventPrefix, - @PluginAttribute(value = "newLine") final boolean newLine, + @PluginAttribute(defaultString = "LOCAL0") final Facility facility, + @PluginAttribute final String id, + @PluginAttribute(defaultInt = DEFAULT_ENTERPRISE_NUMBER) final int enterpriseNumber, + @PluginAttribute(defaultBoolean = true) final boolean includeMDC, + @PluginAttribute(defaultString = DEFAULT_MDCID) final String mdcId, + @PluginAttribute final String mdcPrefix, + @PluginAttribute final String eventPrefix, + @PluginAttribute final boolean newLine, @PluginAttribute("newLineEscape") final String escapeNL, - @PluginAttribute("appName") final String appName, + @PluginAttribute final String appName, @PluginAttribute("messageId") final String msgId, @PluginAttribute("mdcExcludes") final String excludes, @PluginAttribute("mdcIncludes") String includes, @PluginAttribute("mdcRequired") final String required, - @PluginAttribute("exceptionPattern") final String exceptionPattern, + @PluginAttribute final String exceptionPattern, // RFC 5425 - @PluginAttribute(value = "useTlsMessageFormat") final boolean useTlsMessageFormat, - @PluginElement("LoggerFields") final LoggerFields[] loggerFields, + @PluginAttribute final boolean useTlsMessageFormat, + @PluginElement final LoggerFields[] loggerFields, @PluginConfiguration final Configuration config) { // @formatter:on if (includes != null && excludes != null) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/KeyStoreConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/KeyStoreConfiguration.java index b58c91d..abe1e25 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/KeyStoreConfiguration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/KeyStoreConfiguration.java @@ -94,12 +94,12 @@ public class KeyStoreConfiguration extends AbstractKeyStoreConfiguration { @PluginFactory public static KeyStoreConfiguration createKeyStoreConfiguration( // @formatter:off - @PluginAttribute("location") final String location, - @PluginAttribute(value = "password", sensitive = true) final char[] password, - @PluginAttribute("passwordEnvironmentVariable") final String passwordEnvironmentVariable, - @PluginAttribute("passwordFile") final String passwordFile, + @PluginAttribute final String location, + @PluginAttribute(sensitive = true) final char[] password, + @PluginAttribute final String passwordEnvironmentVariable, + @PluginAttribute final String passwordFile, @PluginAttribute("type") final String keyStoreType, - @PluginAttribute("keyManagerFactoryAlgorithm") final String keyManagerFactoryAlgorithm) throws StoreConfigurationException { + @PluginAttribute final String keyManagerFactoryAlgorithm) throws StoreConfigurationException { // @formatter:on if (password != null && passwordEnvironmentVariable != null && passwordFile != null) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/SslConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/SslConfiguration.java index 118f2b8..466f693 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/SslConfiguration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/SslConfiguration.java @@ -230,9 +230,9 @@ public class SslConfiguration { @PluginFactory public static SslConfiguration createSSLConfiguration( // @formatter:off - @PluginAttribute("protocol") final String protocol, - @PluginElement("KeyStore") final KeyStoreConfiguration keyStoreConfig, - @PluginElement("TrustStore") final TrustStoreConfiguration trustStoreConfig) { + @PluginAttribute final String protocol, + @PluginElement final KeyStoreConfiguration keyStoreConfig, + @PluginElement final TrustStoreConfiguration trustStoreConfig) { // @formatter:on return new SslConfiguration(protocol, keyStoreConfig, trustStoreConfig, false); } @@ -248,10 +248,10 @@ public class SslConfiguration { */ public static SslConfiguration createSSLConfiguration( // @formatter:off - @PluginAttribute("protocol") final String protocol, - @PluginElement("KeyStore") final KeyStoreConfiguration keyStoreConfig, - @PluginElement("TrustStore") final TrustStoreConfiguration trustStoreConfig, - @PluginElement("verifyHostName") final boolean verifyHostName) { + @PluginAttribute final String protocol, + @PluginElement final KeyStoreConfiguration keyStoreConfig, + @PluginElement final TrustStoreConfiguration trustStoreConfig, + @PluginElement final boolean verifyHostName) { // @formatter:on return new SslConfiguration(protocol, keyStoreConfig, trustStoreConfig, verifyHostName); } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/TrustStoreConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/TrustStoreConfiguration.java index d64dcca..17cbe51 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/TrustStoreConfiguration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/TrustStoreConfiguration.java @@ -73,12 +73,12 @@ public class TrustStoreConfiguration extends AbstractKeyStoreConfiguration { @PluginFactory public static TrustStoreConfiguration createKeyStoreConfiguration( // @formatter:off - @PluginAttribute("location") final String location, - @PluginAttribute(value = "password", sensitive = true) final char[] password, - @PluginAttribute("passwordEnvironmentVariable") final String passwordEnvironmentVariable, - @PluginAttribute("passwordFile") final String passwordFile, + @PluginAttribute final String location, + @PluginAttribute(sensitive = true) final char[] password, + @PluginAttribute final String passwordEnvironmentVariable, + @PluginAttribute final String passwordFile, @PluginAttribute("type") final String keyStoreType, - @PluginAttribute("trustManagerFactoryAlgorithm") final String trustManagerFactoryAlgorithm) throws StoreConfigurationException { + @PluginAttribute final String trustManagerFactoryAlgorithm) throws StoreConfigurationException { // @formatter:on if (password != null && passwordEnvironmentVariable != null && passwordFile != null) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacement.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacement.java index 602048a..0d6961b 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacement.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/RegexReplacement.java @@ -70,8 +70,8 @@ public final class RegexReplacement { */ @PluginFactory public static RegexReplacement createRegexReplacement( - @PluginAttribute("regex") final Pattern regex, - @PluginAttribute("replacement") final String replacement) { + @PluginAttribute final Pattern regex, + @PluginAttribute final String replacement) { if (regex == null) { LOGGER.error("A regular expression is required for replacement"); return null; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/script/Script.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/script/Script.java index 15b2096..b51eb37 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/script/Script.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/script/Script.java @@ -39,9 +39,9 @@ public class Script extends AbstractScript { @PluginFactory public static Script createScript( // @formatter:off - @PluginAttribute("name") final String name, - @PluginAttribute(ATTR_LANGUAGE) String language, - @PluginValue(ATTR_SCRIPT_TEXT) final String scriptText) { + @PluginAttribute final String name, + @PluginAttribute String language, + @PluginValue final String scriptText) { // @formatter:on if (language == null) { LOGGER.error("No '{}' attribute provided for {} plugin '{}'", ATTR_LANGUAGE, PLUGIN_NAME, name); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptFile.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptFile.java index d2a5863a..097c191 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptFile.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptFile.java @@ -62,11 +62,11 @@ public class ScriptFile extends AbstractScript { @PluginFactory public static ScriptFile createScript( // @formatter:off - @PluginAttribute("name") String name, - @PluginAttribute("language") String language, + @PluginAttribute String name, + @PluginAttribute String language, @PluginAttribute("path") final String filePathOrUri, - @PluginAttribute("isWatched") final Boolean isWatched, - @PluginAttribute("charset") final Charset charset) { + @PluginAttribute final Boolean isWatched, + @PluginAttribute final Charset charset) { // @formatter:on if (filePathOrUri == null) { LOGGER.error("No script path provided for ScriptFile"); diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HangingAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HangingAppender.java index 785e9a5..a371c49 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HangingAppender.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HangingAppender.java @@ -58,14 +58,14 @@ public class HangingAppender extends AbstractAppender { @PluginFactory public static HangingAppender createAppender( - @PluginAttribute("name") + @PluginAttribute @Required(message = "No name provided for HangingAppender") final String name, - @PluginAttribute("delay") final long delay, - @PluginAttribute("startupDelay") final long startupDelay, - @PluginAttribute("shutdownDelay") final long shutdownDelay, - @PluginElement("Layout") final Layout<? extends Serializable> layout, - @PluginElement("Filter") final Filter filter) { + @PluginAttribute final long delay, + @PluginAttribute final long startupDelay, + @PluginAttribute final long shutdownDelay, + @PluginElement final Layout<? extends Serializable> layout, + @PluginElement final Filter filter) { return new HangingAppender(name, delay, startupDelay, shutdownDelay); } diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/BlockingAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/BlockingAppender.java index 209dbe8..2db6368 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/BlockingAppender.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/BlockingAppender.java @@ -71,11 +71,11 @@ public class BlockingAppender extends AbstractAppender { @PluginFactory public static BlockingAppender createAppender( - @PluginAttribute("name") + @PluginAttribute @Required(message = "No name provided for HangingAppender") final String name, - @PluginElement("Layout") final Layout<? extends Serializable> layout, - @PluginElement("Filter") final Filter filter) { + @PluginElement final Layout<? extends Serializable> layout, + @PluginElement final Filter filter) { return new BlockingAppender(name); } diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/AlwaysFailAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/AlwaysFailAppender.java index 5572605..380dfe5 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/AlwaysFailAppender.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/AlwaysFailAppender.java @@ -42,7 +42,7 @@ public class AlwaysFailAppender extends AbstractAppender { @PluginFactory public static AlwaysFailAppender createAppender( - @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name) { + @PluginAttribute @Required(message = "A name for the Appender must be specified") final String name) { return new AlwaysFailAppender(name); } diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/BlockingAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/BlockingAppender.java index 23cd489..922f50b 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/BlockingAppender.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/BlockingAppender.java @@ -59,7 +59,7 @@ public class BlockingAppender extends AbstractAppender { @PluginFactory public static BlockingAppender createAppender( - @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name) { + @PluginAttribute @Required(message = "A name for the Appender must be specified") final String name) { return new BlockingAppender(name); } } diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/DeadlockAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/DeadlockAppender.java index 34b3b39..9afd483 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/DeadlockAppender.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/DeadlockAppender.java @@ -69,7 +69,7 @@ public class DeadlockAppender extends AbstractAppender { @PluginFactory public static DeadlockAppender createAppender( - @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name) { + @PluginAttribute @Required(message = "A name for the Appender must be specified") final String name) { return new DeadlockAppender(name); } diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/FailOnceAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/FailOnceAppender.java index 8d77914..2a18bc3 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/FailOnceAppender.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/FailOnceAppender.java @@ -59,7 +59,7 @@ public class FailOnceAppender extends AbstractAppender { @PluginFactory public static FailOnceAppender createAppender( - @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name) { + @PluginAttribute @Required(message = "A name for the Appender must be specified") final String name) { return new FailOnceAppender(name); } diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/UsesLoggingAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/UsesLoggingAppender.java index da70fcf..9b4abfd 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/UsesLoggingAppender.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/UsesLoggingAppender.java @@ -45,10 +45,10 @@ public final class UsesLoggingAppender extends AbstractAppender { @PluginFactory public static UsesLoggingAppender createAppender( - @PluginAttribute("name") @Required(message = "A name for the Appender must be specified") final String name, + @PluginAttribute @Required(message = "A name for the Appender must be specified") final String name, @PluginAttribute("ignoreExceptions") final boolean ignore, - @PluginElement("Layout") final Layout<?> layout, - @PluginElement("Filter") final Filter filter) { + @PluginElement final Layout<?> layout, + @PluginElement final Filter filter) { return new UsesLoggingAppender(name, filter, layout, ignore); } diff --git a/log4j-couchdb/src/main/java/org/apache/logging/log4j/couchdb/CouchDbProvider.java b/log4j-couchdb/src/main/java/org/apache/logging/log4j/couchdb/CouchDbProvider.java index 621a92d..6eb207e 100644 --- a/log4j-couchdb/src/main/java/org/apache/logging/log4j/couchdb/CouchDbProvider.java +++ b/log4j-couchdb/src/main/java/org/apache/logging/log4j/couchdb/CouchDbProvider.java @@ -83,14 +83,14 @@ public final class CouchDbProvider implements NoSqlProvider<CouchDbConnection> { */ @PluginFactory public static CouchDbProvider createNoSqlProvider( - @PluginAttribute("databaseName") final String databaseName, - @PluginAttribute("protocol") String protocol, - @PluginAttribute(value = "server", defaultString = "localhost") @ValidHost final String server, - @PluginAttribute(value = "port", defaultString = "0") @ValidPort final String port, - @PluginAttribute("username") final String username, - @PluginAttribute(value = "password", sensitive = true) final String password, - @PluginAttribute("factoryClassName") final String factoryClassName, - @PluginAttribute("factoryMethodName") final String factoryMethodName) { + @PluginAttribute final String databaseName, + @PluginAttribute String protocol, + @PluginAttribute(defaultString = "localhost") @ValidHost final String server, + @PluginAttribute(defaultString = "0") @ValidPort final String port, + @PluginAttribute final String username, + @PluginAttribute(sensitive = true) final String password, + @PluginAttribute final String factoryClassName, + @PluginAttribute final String factoryMethodName) { CouchDbClient client; String description; if (Strings.isNotEmpty(factoryClassName) && Strings.isNotEmpty(factoryMethodName)) { diff --git a/log4j-csv/src/main/java/org/apache/logging/log4j/csv/layout/CsvLogEventLayout.java b/log4j-csv/src/main/java/org/apache/logging/log4j/csv/layout/CsvLogEventLayout.java index b320052..ce195ed 100644 --- a/log4j-csv/src/main/java/org/apache/logging/log4j/csv/layout/CsvLogEventLayout.java +++ b/log4j-csv/src/main/java/org/apache/logging/log4j/csv/layout/CsvLogEventLayout.java @@ -53,16 +53,16 @@ public class CsvLogEventLayout extends AbstractCsvLayout { public static CsvLogEventLayout createLayout( // @formatter:off @PluginConfiguration final Configuration config, - @PluginAttribute(value = "format", defaultString = DEFAULT_FORMAT) final String format, - @PluginAttribute("delimiter") final Character delimiter, - @PluginAttribute("escape") final Character escape, - @PluginAttribute("quote") final Character quote, - @PluginAttribute("quoteMode") final QuoteMode quoteMode, - @PluginAttribute("nullString") final String nullString, - @PluginAttribute("recordSeparator") final String recordSeparator, - @PluginAttribute(value = "charset", defaultString = DEFAULT_CHARSET) final Charset charset, - @PluginAttribute("header") final String header, - @PluginAttribute("footer") final String footer) + @PluginAttribute(defaultString = DEFAULT_FORMAT) final String format, + @PluginAttribute final Character delimiter, + @PluginAttribute final Character escape, + @PluginAttribute final Character quote, + @PluginAttribute final QuoteMode quoteMode, + @PluginAttribute final String nullString, + @PluginAttribute final String recordSeparator, + @PluginAttribute(defaultString = DEFAULT_CHARSET) final Charset charset, + @PluginAttribute final String header, + @PluginAttribute final String footer) // @formatter:on { diff --git a/log4j-csv/src/main/java/org/apache/logging/log4j/csv/layout/CsvParameterLayout.java b/log4j-csv/src/main/java/org/apache/logging/log4j/csv/layout/CsvParameterLayout.java index a8eaf0a..816271a 100644 --- a/log4j-csv/src/main/java/org/apache/logging/log4j/csv/layout/CsvParameterLayout.java +++ b/log4j-csv/src/main/java/org/apache/logging/log4j/csv/layout/CsvParameterLayout.java @@ -62,16 +62,16 @@ public class CsvParameterLayout extends AbstractCsvLayout { public static AbstractCsvLayout createLayout( // @formatter:off @PluginConfiguration final Configuration config, - @PluginAttribute(value = "format", defaultString = DEFAULT_FORMAT) final String format, - @PluginAttribute("delimiter") final Character delimiter, - @PluginAttribute("escape") final Character escape, - @PluginAttribute("quote") final Character quote, - @PluginAttribute("quoteMode") final QuoteMode quoteMode, - @PluginAttribute("nullString") final String nullString, - @PluginAttribute("recordSeparator") final String recordSeparator, - @PluginAttribute(value = "charset", defaultString = DEFAULT_CHARSET) final Charset charset, - @PluginAttribute("header") final String header, - @PluginAttribute("footer") final String footer) + @PluginAttribute(defaultString = DEFAULT_FORMAT) final String format, + @PluginAttribute final Character delimiter, + @PluginAttribute final Character escape, + @PluginAttribute final Character quote, + @PluginAttribute final QuoteMode quoteMode, + @PluginAttribute final String nullString, + @PluginAttribute final String recordSeparator, + @PluginAttribute(defaultString = DEFAULT_CHARSET) final Charset charset, + @PluginAttribute final String header, + @PluginAttribute final String footer) // @formatter:on { diff --git a/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeAppender.java b/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeAppender.java index ac9c9a2..e2d4f06 100644 --- a/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeAppender.java +++ b/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeAppender.java @@ -185,32 +185,32 @@ public final class FlumeAppender extends AbstractAppender implements FlumeEventF * @return A Flume Avro Appender. */ @PluginFactory - public static FlumeAppender createAppender(@PluginElement("Agents") final Agent[] agents, - @PluginElement("Properties") final Property[] properties, - @PluginAttribute("hosts") final String hosts, - @PluginAttribute("embedded") final String embedded, - @PluginAttribute("type") final String type, - @PluginAttribute("dataDir") final String dataDir, + public static FlumeAppender createAppender(@PluginElement final Agent[] agents, + @PluginElement final Property[] properties, + @PluginAttribute final String hosts, + @PluginAttribute final String embedded, + @PluginAttribute final String type, + @PluginAttribute final String dataDir, @PluginAliases("connectTimeout") @PluginAttribute("connectTimeoutMillis") final String connectionTimeoutMillis, @PluginAliases("requestTimeout") - @PluginAttribute("requestTimeoutMillis") final String requestTimeoutMillis, - @PluginAttribute("agentRetries") final String agentRetries, + @PluginAttribute final String requestTimeoutMillis, + @PluginAttribute final String agentRetries, @PluginAliases("maxDelay") // deprecated - @PluginAttribute("maxDelayMillis") final String maxDelayMillis, - @PluginAttribute("name") final String name, + @PluginAttribute final String maxDelayMillis, + @PluginAttribute final String name, @PluginAttribute("ignoreExceptions") final String ignore, @PluginAttribute("mdcExcludes") final String excludes, @PluginAttribute("mdcIncludes") final String includes, @PluginAttribute("mdcRequired") final String required, - @PluginAttribute("mdcPrefix") final String mdcPrefix, - @PluginAttribute("eventPrefix") final String eventPrefix, + @PluginAttribute final String mdcPrefix, + @PluginAttribute final String eventPrefix, @PluginAttribute("compress") final String compressBody, - @PluginAttribute("batchSize") final String batchSize, - @PluginAttribute("lockTimeoutRetries") final String lockTimeoutRetries, - @PluginElement("FlumeEventFactory") final FlumeEventFactory factory, - @PluginElement("Layout") Layout<? extends Serializable> layout, - @PluginElement("Filter") final Filter filter) { + @PluginAttribute final String batchSize, + @PluginAttribute final String lockTimeoutRetries, + @PluginElement final FlumeEventFactory factory, + @PluginElement Layout<? extends Serializable> layout, + @PluginElement final Filter filter) { final boolean embed = embedded != null ? Boolean.parseBoolean(embedded) : (agents == null || agents.length == 0 || hosts == null || hosts.isEmpty()) && properties != null && properties.length > 0; diff --git a/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/DataSourceConnectionSource.java b/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/DataSourceConnectionSource.java index ab39844..496902c 100644 --- a/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/DataSourceConnectionSource.java +++ b/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/DataSourceConnectionSource.java @@ -64,7 +64,7 @@ public final class DataSourceConnectionSource extends AbstractConnectionSource { * @return the created connection source. */ @PluginFactory - public static DataSourceConnectionSource createConnectionSource(@PluginAttribute("jndiName") final String jndiName) { + public static DataSourceConnectionSource createConnectionSource(@PluginAttribute final String jndiName) { if (Strings.isEmpty(jndiName)) { LOGGER.error("No JNDI name provided."); return null; diff --git a/log4j-jeromq/src/main/java/org/apache/logging/log4j/jeromq/appender/JeroMqAppender.java b/log4j-jeromq/src/main/java/org/apache/logging/log4j/jeromq/appender/JeroMqAppender.java index 424d022..09ce72c 100644 --- a/log4j-jeromq/src/main/java/org/apache/logging/log4j/jeromq/appender/JeroMqAppender.java +++ b/log4j-jeromq/src/main/java/org/apache/logging/log4j/jeromq/appender/JeroMqAppender.java @@ -83,33 +83,33 @@ public final class JeroMqAppender extends AbstractAppender { @PluginFactory public static JeroMqAppender createAppender( // @formatter:off - @Required(message = "No name provided for JeroMqAppender") @PluginAttribute("name") final String name, - @PluginElement("Layout") Layout<?> layout, - @PluginElement("Filter") final Filter filter, - @PluginElement("Properties") final Property[] properties, + @Required(message = "No name provided for JeroMqAppender") @PluginAttribute final String name, + @PluginElement Layout<?> layout, + @PluginElement final Filter filter, + @PluginElement final Property[] properties, // Super attributes - @PluginAttribute("ignoreExceptions") final boolean ignoreExceptions, + @PluginAttribute final boolean ignoreExceptions, // ZMQ attributes; defaults picked from zmq.Options. - @PluginAttribute(value = "affinity", defaultLong = 0) final long affinity, - @PluginAttribute(value = "backlog", defaultLong = DEFAULT_BACKLOG) final long backlog, - @PluginAttribute(value = "delayAttachOnConnect") final boolean delayAttachOnConnect, - @PluginAttribute(value = "identity") final byte[] identity, - @PluginAttribute(value = "ipv4Only", defaultBoolean = true) final boolean ipv4Only, - @PluginAttribute(value = "linger", defaultLong = -1) final long linger, - @PluginAttribute(value = "maxMsgSize", defaultLong = -1) final long maxMsgSize, - @PluginAttribute(value = "rcvHwm", defaultLong = DEFAULT_RCV_HWM) final long rcvHwm, - @PluginAttribute(value = "receiveBufferSize", defaultLong = 0) final long receiveBufferSize, - @PluginAttribute(value = "receiveTimeOut", defaultLong = -1) final int receiveTimeOut, - @PluginAttribute(value = "reconnectIVL", defaultLong = DEFAULT_IVL) final long reconnectIVL, - @PluginAttribute(value = "reconnectIVLMax", defaultLong = 0) final long reconnectIVLMax, - @PluginAttribute(value = "sendBufferSize", defaultLong = 0) final long sendBufferSize, - @PluginAttribute(value = "sendTimeOut", defaultLong = -1) final int sendTimeOut, - @PluginAttribute(value = "sndHwm", defaultLong = DEFAULT_SND_HWM) final long sndHwm, - @PluginAttribute(value = "tcpKeepAlive", defaultInt = -1) final int tcpKeepAlive, - @PluginAttribute(value = "tcpKeepAliveCount", defaultLong = -1) final long tcpKeepAliveCount, - @PluginAttribute(value = "tcpKeepAliveIdle", defaultLong = -1) final long tcpKeepAliveIdle, - @PluginAttribute(value = "tcpKeepAliveInterval", defaultLong = -1) final long tcpKeepAliveInterval, - @PluginAttribute(value = "xpubVerbose") final boolean xpubVerbose + @PluginAttribute(defaultLong = 0) final long affinity, + @PluginAttribute(defaultLong = DEFAULT_BACKLOG) final long backlog, + @PluginAttribute final boolean delayAttachOnConnect, + @PluginAttribute final byte[] identity, + @PluginAttribute(defaultBoolean = true) final boolean ipv4Only, + @PluginAttribute(defaultLong = -1) final long linger, + @PluginAttribute(defaultLong = -1) final long maxMsgSize, + @PluginAttribute(defaultLong = DEFAULT_RCV_HWM) final long rcvHwm, + @PluginAttribute(defaultLong = 0) final long receiveBufferSize, + @PluginAttribute(defaultLong = -1) final int receiveTimeOut, + @PluginAttribute(defaultLong = DEFAULT_IVL) final long reconnectIVL, + @PluginAttribute(defaultLong = 0) final long reconnectIVLMax, + @PluginAttribute(defaultLong = 0) final long sendBufferSize, + @PluginAttribute(defaultLong = -1) final int sendTimeOut, + @PluginAttribute(defaultLong = DEFAULT_SND_HWM) final long sndHwm, + @PluginAttribute(defaultInt = -1) final int tcpKeepAlive, + @PluginAttribute(defaultLong = -1) final long tcpKeepAliveCount, + @PluginAttribute(defaultLong = -1) final long tcpKeepAliveIdle, + @PluginAttribute(defaultLong = -1) final long tcpKeepAliveInterval, + @PluginAttribute final boolean xpubVerbose // @formatter:on ) { if (layout == null) { diff --git a/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaAppender.java b/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaAppender.java index 82ef8a3..602f6e1 100644 --- a/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaAppender.java +++ b/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaAppender.java @@ -72,12 +72,12 @@ public final class JpaAppender extends AbstractDatabaseAppender<JpaDatabaseManag */ @PluginFactory public static JpaAppender createAppender( - @PluginAttribute("name") final String name, + @PluginAttribute final String name, @PluginAttribute("ignoreExceptions") final String ignore, - @PluginElement("Filter") final Filter filter, - @PluginAttribute("bufferSize") final String bufferSize, - @PluginAttribute("entityClassName") final String entityClassName, - @PluginAttribute("persistenceUnitName") final String persistenceUnitName) { + @PluginElement final Filter filter, + @PluginAttribute final String bufferSize, + @PluginAttribute final String entityClassName, + @PluginAttribute final String persistenceUnitName) { if (Strings.isEmpty(entityClassName) || Strings.isEmpty(persistenceUnitName)) { LOGGER.error("Attributes entityClassName and persistenceUnitName are required for JPA Appender."); return null; diff --git a/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java b/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java index 718f3fb..41e3fc8 100644 --- a/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java +++ b/log4j-kafka/src/main/java/org/apache/logging/log4j/kafka/appender/KafkaAppender.java @@ -50,13 +50,13 @@ public final class KafkaAppender extends AbstractAppender { public static class Builder<B extends Builder<B>> extends AbstractAppender.Builder<B> implements org.apache.logging.log4j.plugins.util.Builder<KafkaAppender> { - @PluginAttribute("topic") + @PluginAttribute private String topic; - @PluginAttribute("key") + @PluginAttribute private String key; - @PluginAttribute(value = "syncSend", defaultBoolean = true) + @PluginAttribute(defaultBoolean = true) private boolean syncSend; @SuppressWarnings("resource") diff --git a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/HostAndPort.java b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/HostAndPort.java index 626798e..335ea49 100644 --- a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/HostAndPort.java +++ b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/HostAndPort.java @@ -39,8 +39,8 @@ public class HostAndPort { @PluginFactory public static HostAndPort createPlugin( - @ValidHost(message = "Unit test (host)") @PluginAttribute("host") final String host, - @ValidPort(message = "Unit test (port)") @PluginAttribute("port") final int port) { + @ValidHost(message = "Unit test (host)") @PluginAttribute final String host, + @ValidPort(message = "Unit test (port)") @PluginAttribute final int port) { return new HostAndPort(new InetSocketAddress(host, port)); } diff --git a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/PluginWithGenericSubclassFoo1Builder.java b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/PluginWithGenericSubclassFoo1Builder.java index 6f57179..0ae991a 100644 --- a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/PluginWithGenericSubclassFoo1Builder.java +++ b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/PluginWithGenericSubclassFoo1Builder.java @@ -17,7 +17,7 @@ package org.apache.logging.log4j.plugins.validation; import org.apache.logging.log4j.plugins.Plugin; -import org.apache.logging.log4j.plugins.PluginBuilderAttribute; +import org.apache.logging.log4j.plugins.PluginAttribute; import org.apache.logging.log4j.plugins.PluginFactory; import org.apache.logging.log4j.plugins.validation.constraints.Required; @@ -27,12 +27,7 @@ public class PluginWithGenericSubclassFoo1Builder extends AbstractPluginWithGene public static class Builder<B extends Builder<B>> extends AbstractPluginWithGenericBuilder.Builder<B> implements org.apache.logging.log4j.plugins.util.Builder<PluginWithGenericSubclassFoo1Builder> { - @PluginFactory - public static <B extends Builder<B>> B newBuilder() { - return new Builder<B>().asBuilder(); - } - - @PluginBuilderAttribute + @PluginAttribute @Required(message = "The foo1 given by the builder is null") private String foo1; diff --git a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/ValidatingPluginWithGenericBuilder.java b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/ValidatingPluginWithGenericBuilder.java index f197dd8..eb9db3f 100644 --- a/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/ValidatingPluginWithGenericBuilder.java +++ b/log4j-plugins/src/test/java/org/apache/logging/log4j/plugins/validation/ValidatingPluginWithGenericBuilder.java @@ -17,7 +17,7 @@ package org.apache.logging.log4j.plugins.validation; import org.apache.logging.log4j.plugins.Plugin; -import org.apache.logging.log4j.plugins.PluginBuilderAttribute; +import org.apache.logging.log4j.plugins.PluginAttribute; import org.apache.logging.log4j.plugins.PluginFactory; import org.apache.logging.log4j.plugins.validation.constraints.Required; @@ -40,19 +40,13 @@ public class ValidatingPluginWithGenericBuilder { } @PluginFactory - public static ValidatingPluginWithGenericBuilder newValidatingPlugin( - @Required(message = "The name given by the factory is null") final String name) { - return new ValidatingPluginWithGenericBuilder(name); - } - - @PluginFactory public static <B extends Builder<B>> B newBuilder() { return new Builder<B>().asBuilder(); } public static class Builder<B extends Builder<B>> implements org.apache.logging.log4j.plugins.util.Builder<ValidatingPluginWithGenericBuilder> { - @PluginBuilderAttribute + @PluginAttribute @Required(message = "The name given by the builder is null") private String name; diff --git a/log4j-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpAppender.java b/log4j-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpAppender.java index 5c52ae8..c7754da 100644 --- a/log4j-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpAppender.java +++ b/log4j-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpAppender.java @@ -113,22 +113,22 @@ public final class SmtpAppender extends AbstractAppender { @PluginFactory public static SmtpAppender createAppender( @PluginConfiguration final Configuration config, - @PluginAttribute("name") @Required final String name, - @PluginAttribute("to") final String to, - @PluginAttribute("cc") final String cc, - @PluginAttribute("bcc") final String bcc, - @PluginAttribute("from") final String from, - @PluginAttribute("replyTo") final String replyTo, - @PluginAttribute("subject") final String subject, - @PluginAttribute("smtpProtocol") final String smtpProtocol, - @PluginAttribute("smtpHost") final String smtpHost, + @PluginAttribute @Required final String name, + @PluginAttribute final String to, + @PluginAttribute final String cc, + @PluginAttribute final String bcc, + @PluginAttribute final String from, + @PluginAttribute final String replyTo, + @PluginAttribute final String subject, + @PluginAttribute final String smtpProtocol, + @PluginAttribute final String smtpHost, @PluginAttribute(value = "smtpPort", defaultString = "0") @ValidPort final String smtpPortStr, - @PluginAttribute("smtpUsername") final String smtpUsername, - @PluginAttribute(value = "smtpPassword", sensitive = true) final String smtpPassword, - @PluginAttribute("smtpDebug") final String smtpDebug, + @PluginAttribute final String smtpUsername, + @PluginAttribute(sensitive = true) final String smtpPassword, + @PluginAttribute final String smtpDebug, @PluginAttribute("bufferSize") final String bufferSizeStr, - @PluginElement("Layout") Layout<? extends Serializable> layout, - @PluginElement("Filter") Filter filter, + @PluginElement Layout<? extends Serializable> layout, + @PluginElement Filter filter, @PluginAttribute("ignoreExceptions") final String ignore) { if (name == null) { LOGGER.error("No name provided for SmtpAppender");
