Author: mattsicker
Date: Mon May 26 04:02:12 2014
New Revision: 1597510
URL: http://svn.apache.org/r1597510
Log:
Update how default values are handled along with @PluginAttribute.
- By using a visitor pattern combined with a registry of
annotations to visitor classes (which wouldn't be necessary if
annotations supported methods), this can help simplify the huge
if/else-if tree in PluginBuilder. This will also make it easier to
support both factory methods and builder classes concurrently
during the transition.
- @PluginDefault has been deleted and migrated to be a part of
@PluginAttribute instead.
- PluginBuilder has been simplified to use the PluginVisitor code.
- Note that one key difference is that default values can be
interpolated by the StrSubstitutor as well. This might come in handy.
Removed:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/PluginDefault.java
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
Mon May 26 04:02:12 2014
@@ -35,7 +35,6 @@ import org.apache.logging.log4j.core.con
import org.apache.logging.log4j.core.config.plugins.PluginAliases;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.impl.Log4jLogEvent;
@@ -181,13 +180,13 @@ public final class AsyncAppender extends
@PluginFactory
public static AsyncAppender createAppender(@PluginElement("AppenderRef")
final AppenderRef[] appenderRefs,
@PluginAttribute("errorRef") @PluginAliases("error-ref") final
String errorRef,
- @PluginAttribute("blocking") @PluginDefault("true") final boolean
blocking,
- @PluginAttribute("bufferSize") @PluginDefault(DEFAULT_QUEUE_SIZE)
final int size,
+ @PluginAttribute(value = "blocking", defaultValue = "true") final
boolean blocking,
+ @PluginAttribute(value = "bufferSize", defaultValue =
DEFAULT_QUEUE_SIZE) final int size,
@PluginAttribute("name") final String name,
- @PluginAttribute("includeLocation") @PluginDefault("false") final
boolean includeLocation,
- @PluginElement("Filter") final Filter filter,
+ @PluginAttribute(value = "includeLocation", defaultValue =
"false") final boolean includeLocation,
+ @PluginElement("Filter") final Filter filter,
@PluginConfiguration final Configuration config,
- @PluginAttribute("ignoreExceptions") @PluginDefault("true") final
boolean ignoreExceptions) {
+ @PluginAttribute(value = "ignoreExceptions", defaultValue =
"true") final boolean ignoreExceptions) {
if (name == null) {
LOGGER.error("No name provided for AsyncAppender");
return null;
@@ -264,7 +263,7 @@ public final class AsyncAppender extends
}
}
LOGGER.trace("AsyncAppender.AsyncThread stopped. Queue has {}
events remaining. " +
- "Processed {} and ignored {} events since shutdown
started.",
+ "Processed {} and ignored {} events since shutdown
started.",
queue.size(), count, ignored);
}
@@ -273,7 +272,7 @@ public final class AsyncAppender extends
* all registered {@code AppenderControl} objects, and returns {@code
true}
* if at least one appender call was successful, {@code false}
otherwise.
* Any exceptions are silently ignored.
- *
+ *
* @param event the event to forward to the registered appenders
* @return {@code true} if at least one appender call succeeded,
{@code false} otherwise
*/
@@ -310,7 +309,7 @@ public final class AsyncAppender extends
}
return result;
}
-
+
/**
* Returns {@code true} if this AsyncAppender will take a snapshot of the
stack with
* every log event to determine the class and method where the logging call
@@ -320,7 +319,7 @@ public final class AsyncAppender extends
public boolean isIncludeLocation() {
return includeLocation;
}
-
+
/**
* Returns {@code true} if this AsyncAppender will block when the queue is
full,
* or {@code false} if events are dropped when the queue is full.
@@ -329,7 +328,7 @@ public final class AsyncAppender extends
public boolean isBlocking() {
return blocking;
}
-
+
/**
* Returns the name of the appender that any errors are logged to or
{@code null}.
* @return the name of the appender that any errors are logged to or
{@code null}
@@ -337,11 +336,11 @@ public final class AsyncAppender extends
public String getErrorRef() {
return errorRef;
}
-
+
public int getQueueCapacity() {
return queueSize;
}
-
+
public int getQueueRemainingCapacity() {
return queue.remainingCapacity();
}
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
Mon May 26 04:02:12 2014
@@ -82,10 +82,10 @@ public final class ConsoleAppender exten
public static ConsoleAppender createAppender(
@PluginElement("Layout") Layout<? extends Serializable> layout,
@PluginElement("Filters") final Filter filter,
- @PluginAttribute("target") final String targetStr,
+ @PluginAttribute(value = "target", defaultValue = "SYSTEM_OUT")
final String targetStr,
@PluginAttribute("name") final String name,
- @PluginAttribute("follow") final String follow,
- @PluginAttribute("ignoreExceptions") final String ignore) {
+ @PluginAttribute(value = "follow", defaultValue = "false") final
String follow,
+ @PluginAttribute(value = "ignoreExceptions", defaultValue =
"true") final String ignore) {
if (name == null) {
LOGGER.error("No name provided for ConsoleAppender");
return null;
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
Mon May 26 04:02:12 2014
@@ -25,7 +25,6 @@ import org.apache.logging.log4j.core.con
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.layout.LoggerFields;
@@ -94,22 +93,22 @@ public class SyslogAppender extends Sock
public static SyslogAppender createAppender(
// @formatter:off
@PluginAttribute("host") final String host,
- @PluginAttribute("port") @PluginDefault("0") final int port,
+ @PluginAttribute(value = "port", defaultValue = "0") final int
port,
@PluginAttribute("protocol") final String protocolStr,
@PluginElement("SSL") final SslConfiguration sslConfig,
- @PluginAttribute("reconnectionDelay") @PluginDefault("0") final
int reconnectionDelay,
- @PluginAttribute("immediateFail") @PluginDefault("true") final
boolean immediateFail,
+ @PluginAttribute(value = "reconnectionDelay", defaultValue = "0")
final int reconnectionDelay,
+ @PluginAttribute(value = "immediateFail", defaultValue = "true")
final boolean immediateFail,
@PluginAttribute("name") final String name,
- @PluginAttribute("immediateFlush") @PluginDefault("true") final
boolean immediateFlush,
- @PluginAttribute("ignoreExceptions") @PluginDefault("true") final
boolean ignoreExceptions,
- @PluginAttribute("facility") @PluginDefault("LOCAL0") final
Facility facility,
+ @PluginAttribute(value = "immediateFlush", defaultValue = "true")
final boolean immediateFlush,
+ @PluginAttribute(value = "ignoreExceptions", defaultValue =
"true") final boolean ignoreExceptions,
+ @PluginAttribute(value = "facility", defaultValue = "LOCAL0")
final Facility facility,
@PluginAttribute("id") final String id,
- @PluginAttribute("enterpriseNumber")
@PluginDefault(Rfc5424Layout.DEFAULT_ENTERPRISE_NUMBER) final int
enterpriseNumber,
- @PluginAttribute("includeMdc") @PluginDefault("true") final
boolean includeMdc,
+ @PluginAttribute(value = "enterpriseNumber", defaultValue =
Rfc5424Layout.DEFAULT_ENTERPRISE_NUMBER) final int enterpriseNumber,
+ @PluginAttribute(value = "includeMdc", defaultValue = "true")
final boolean includeMdc,
@PluginAttribute("mdcId") final String mdcId,
@PluginAttribute("mdcPrefix") final String mdcPrefix,
@PluginAttribute("eventPrefix") final String eventPrefix,
- @PluginAttribute("newLine") @PluginDefault("false") final boolean
newLine,
+ @PluginAttribute(value = "newLine", defaultValue = "false") final
boolean newLine,
@PluginAttribute("newLineEscape") final String escapeNL,
@PluginAttribute("appName") final String appName,
@PluginAttribute("messageId") final String msgId,
@@ -119,10 +118,10 @@ public class SyslogAppender extends Sock
@PluginAttribute("format") final String format,
@PluginElement("Filters") final Filter filter,
@PluginConfiguration final Configuration config,
- @PluginAttribute("charset") @PluginDefault("UTF-8") final Charset
charsetName,
+ @PluginAttribute(value = "charset", defaultValue = "UTF-8") final
Charset charsetName,
@PluginAttribute("exceptionPattern") final String exceptionPattern,
@PluginElement("LoggerFields") final LoggerFields[] loggerFields,
- @PluginAttribute("advertise") @PluginDefault("false") final
boolean advertise) {
+ @PluginAttribute(value = "advertise", defaultValue = "false")
final boolean advertise) {
// @formatter:on
// TODO: add Protocol to TypeConverters
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
Mon May 26 04:02:12 2014
@@ -33,13 +33,13 @@ import org.apache.logging.log4j.core.Log
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.Node;
import org.apache.logging.log4j.core.config.plugins.PluginAliases;
-import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginNode;
import org.apache.logging.log4j.core.config.plugins.PluginValue;
import org.apache.logging.log4j.core.config.plugins.SensitivePluginAttribute;
+import org.apache.logging.log4j.core.config.plugins.visitors.PluginVisitor;
+import org.apache.logging.log4j.core.config.plugins.visitors.PluginVisitors;
import org.apache.logging.log4j.core.util.Assert;
import org.apache.logging.log4j.core.util.NameUtil;
import org.apache.logging.log4j.status.StatusLogger;
@@ -164,11 +164,20 @@ public class PluginBuilder<T> {
final Object[] args = new Object[annotations.length];
for (int i = 0; i < annotations.length; i++) {
final String[] aliases = extractPluginAliases(annotations[i]);
- final String defaultValue = extractPluginDefault(annotations[i]);
for (Annotation a : annotations[i]) {
- if (a instanceof PluginAliases || a instanceof PluginDefault) {
+ if (a instanceof PluginAliases) {
continue; // already processed
}
+ // TODO: migrate the rest of this to PluginVisitor classes
+ final PluginVisitor<? extends Annotation> helper =
PluginVisitors.findVisitor(a.annotationType());
+ if (helper != null) {
+ args[i] = helper.setAliases(aliases)
+ .setAnnotation(a)
+ .setConversionType(types[i])
+ .setStrSubstitutor(configuration.getStrSubstitutor())
+ .visit(configuration, node, event);
+ continue;
+ }
sb.append(sb.length() == 0 ? "with params(" : ", ");
if (a instanceof PluginNode) {
if (types[i].isInstance(node)) {
@@ -195,19 +204,13 @@ public class PluginBuilder<T> {
final String value =
configuration.getStrSubstitutor().replace(event, v);
args[i] = value;
sb.append(name).append("=\"").append(value).append('"');
- } else if (a instanceof PluginAttribute) {
- final PluginAttribute attribute = (PluginAttribute) a;
- final String name = attribute.value();
- final String value = getReplacedAttributeValue(name,
aliases);
- args[i] = TypeConverters.convert(value, types[i],
defaultValue);
- sb.append(name).append("=\"").append(value).append('"');
} else if (a instanceof SensitivePluginAttribute) {
// LOG4J2-605
// we shouldn't be displaying passwords
final SensitivePluginAttribute attribute =
(SensitivePluginAttribute) a;
final String name = attribute.value();
final String value = getReplacedAttributeValue(name,
aliases);
- args[i] = TypeConverters.convert(value, types[i],
defaultValue);
+ args[i] = value; // TODO: merge this with @PluginAttribute
sb.append(name).append("=\"").append(NameUtil.md5(value +
PluginBuilder.class.getName())).append('"');
} else if (a instanceof PluginElement) {
final PluginElement element = (PluginElement) a;
@@ -284,15 +287,6 @@ public class PluginBuilder<T> {
return aliases;
}
- private static String extractPluginDefault(final Annotation...
annotations) {
- for (final Annotation annotation : annotations) {
- if (annotation instanceof PluginDefault) {
- return ((PluginDefault) annotation).value();
- }
- }
- return null;
- }
-
private String getReplacedAttributeValue(final String name, final
String... aliases) {
return configuration.getStrSubstitutor().replace(event,
getAttrValue(name, aliases));
}
@@ -301,15 +295,14 @@ public class PluginBuilder<T> {
final Map<String, String> attrs = node.getAttributes();
for (final Map.Entry<String, String> entry : attrs.entrySet()) {
final String key = entry.getKey();
+ final String attr = entry.getValue();
if (key.equalsIgnoreCase(name)) {
- final String attr = entry.getValue();
attrs.remove(key);
return attr;
}
if (aliases != null) {
for (final String alias : aliases) {
if (key.equalsIgnoreCase(alias)) {
- final String attr = entry.getValue();
attrs.remove(key);
return attr;
}
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
Mon May 26 04:02:12 2014
@@ -32,7 +32,6 @@ import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.util.Charsets;
import org.apache.logging.log4j.core.util.Constants;
@@ -323,12 +322,12 @@ public final class HtmlLayout extends Ab
*/
@PluginFactory
public static HtmlLayout createLayout(
- @PluginAttribute("locationInfo") @PluginDefault("false") final
boolean locationInfo,
- @PluginAttribute("title") @PluginDefault(DEFAULT_TITLE) final
String title,
- @PluginAttribute("contentType")
@PluginDefault(DEFAULT_CONTENT_TYPE) String contentType,
- @PluginAttribute("charset") @PluginDefault("UTF-8") final Charset
charset,
+ @PluginAttribute(value = "locationInfo", defaultValue = "false")
final boolean locationInfo,
+ @PluginAttribute(value = "title", defaultValue = DEFAULT_TITLE)
final String title,
+ @PluginAttribute(value = "contentType", defaultValue =
DEFAULT_CONTENT_TYPE) String contentType,
+ @PluginAttribute(value = "charset", defaultValue = "UTF-8") final
Charset charset,
@PluginAttribute("fontSize") String fontSize,
- @PluginAttribute("fontName") @PluginDefault(DEFAULT_FONT_FAMILY)
final String font) {
+ @PluginAttribute(value = "fontName", defaultValue =
DEFAULT_FONT_FAMILY) final String font) {
final FontSize fs = FontSize.getFontSize(fontSize);
fontSize = fs.getFontSize();
final String headerSize = fs.larger().getFontSize();
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java
Mon May 26 04:02:12 2014
@@ -22,13 +22,12 @@ import java.util.Map;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.util.Charsets;
/**
* Appends a series of JSON events as strings serialized as bytes.
- *
+ *
* <h4>Complete well-formed JSON vs. fragment JSON</h4>
* <p>
* If you configure {@code complete="true"}, the appender outputs a
well-formed JSON document. By default, with {@code complete="false"},
@@ -37,7 +36,7 @@ import org.apache.logging.log4j.core.uti
* <p>
* A well-formed JSON event follows this pattern:
* </p>
- *
+ *
* <pre>
* {
"timeMillis": 1,
@@ -800,7 +799,7 @@ public final class JsonLayout extends Ab
/**
* Returns appropriate JSON headers.
- *
+ *
* @return a byte array containing the header, opening the JSON array.
*/
@Override
@@ -816,7 +815,7 @@ public final class JsonLayout extends Ab
/**
* Returns appropriate JSON footer.
- *
+ *
* @return a byte array containing the footer, closing the JSON array.
*/
@Override
@@ -844,7 +843,7 @@ public final class JsonLayout extends Ab
/**
* Creates a JSON Layout.
- *
+ *
* @param locationInfo If "true", includes the location information in the
generated JSON.
* @param properties If "true", includes the thread context in the
generated JSON.
* @param complete If "true", includes the JSON header and footer,
defaults to "false".
@@ -855,11 +854,11 @@ public final class JsonLayout extends Ab
@PluginFactory
public static AbstractJacksonLayout createLayout(
// @formatter:off
- @PluginAttribute("locationInfo") @PluginDefault("false") final
boolean locationInfo,
- @PluginAttribute("properties") @PluginDefault("false") final
boolean properties,
- @PluginAttribute("complete") @PluginDefault("false") final boolean
complete,
- @PluginAttribute("compact") @PluginDefault("false") final boolean
compact,
- @PluginAttribute("charset") @PluginDefault("UTF-8") final Charset
charset
+ @PluginAttribute(value = "locationInfo", defaultValue = "false")
final boolean locationInfo,
+ @PluginAttribute(value = "properties", defaultValue = "false")
final boolean properties,
+ @PluginAttribute(value = "complete", defaultValue = "false") final
boolean complete,
+ @PluginAttribute(value = "compact", defaultValue = "false") final
boolean compact,
+ @PluginAttribute(value = "charset", defaultValue = "UTF-8") final
Charset charset
// @formatter:on
) {
return new JsonLayout(locationInfo, properties, complete, compact,
charset);
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LoggerFields.java
Mon May 26 04:02:12 2014
@@ -22,7 +22,6 @@ import java.util.Map;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.util.KeyValuePair;
@@ -58,7 +57,7 @@ public final class LoggerFields {
/**
* Create a LoggerFields from KeyValuePairs.
- *
+ *
* @param keyValuePairs
* An array of KeyValuePairs.
* @param sdId
@@ -74,7 +73,7 @@ public final class LoggerFields {
@PluginElement("LoggerFields") final KeyValuePair[] keyValuePairs,
@PluginAttribute("sdId") final String sdId,
@PluginAttribute("enterpriseId") final String enterpriseId,
- @PluginAttribute("discardIfAllFieldsAreEmpty") @PluginDefault("false")
final boolean discardIfAllFieldsAreEmpty) {
+ @PluginAttribute(value = "discardIfAllFieldsAreEmpty", defaultValue =
"false") final boolean discardIfAllFieldsAreEmpty) {
final Map<String, String> map = new HashMap<String, String>();
for (final KeyValuePair keyValuePair : keyValuePairs) {
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
Mon May 26 04:02:12 2014
@@ -28,7 +28,6 @@ import org.apache.logging.log4j.core.con
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import
org.apache.logging.log4j.core.config.plugins.util.ConfigurablePluginBuilder;
@@ -272,9 +271,9 @@ public final class PatternLayout extends
@PluginAttribute("pattern") final String pattern,
@PluginConfiguration final Configuration config,
@PluginElement("Replace") final RegexReplacement replace,
- @PluginAttribute("charset") @PluginDefault("UTF-8") final Charset
charset,
- @PluginAttribute("alwaysWriteExceptions") @PluginDefault("true")
final boolean alwaysWriteExceptions,
- @PluginAttribute("noConsoleNoAnsi") @PluginDefault("false") final
boolean noConsoleNoAnsi,
+ @PluginAttribute(value = "charset", defaultValue = "UTF-8") final
Charset charset,
+ @PluginAttribute(value = "alwaysWriteExceptions", defaultValue =
"true") final boolean alwaysWriteExceptions,
+ @PluginAttribute(value = "noConsoleNoAnsi", defaultValue =
"false") final boolean noConsoleNoAnsi,
@PluginAttribute("header") final String header,
@PluginAttribute("footer") final String footer) {
return new PatternLayout(config, replace, pattern == null ?
DEFAULT_CONVERSION_PATTERN : pattern, charset,
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java
Mon May 26 04:02:12 2014
@@ -36,7 +36,6 @@ import org.apache.logging.log4j.core.con
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.net.Facility;
@@ -625,14 +624,14 @@ public final class Rfc5424Layout extends
*/
@PluginFactory
public static Rfc5424Layout createLayout(
- @PluginAttribute("facility") @PluginDefault("LOCAL0") final
Facility facility,
+ @PluginAttribute(value = "facility", defaultValue = "LOCAL0")
final Facility facility,
@PluginAttribute("id") final String id,
- @PluginAttribute("enterpriseNumber")
@PluginDefault(DEFAULT_ENTERPRISE_NUMBER) final int enterpriseNumber,
- @PluginAttribute("includeMDC") @PluginDefault("true") final
boolean includeMDC,
- @PluginAttribute("mdcId") @PluginDefault(DEFAULT_MDCID) final
String mdcId,
+ @PluginAttribute(value = "enterpriseNumber", defaultValue =
DEFAULT_ENTERPRISE_NUMBER) final int enterpriseNumber,
+ @PluginAttribute(value = "includeMDC", defaultValue = "true")
final boolean includeMDC,
+ @PluginAttribute(value = "mdcId", defaultValue = DEFAULT_MDCID)
final String mdcId,
@PluginAttribute("mdcPrefix") final String mdcPrefix,
@PluginAttribute("eventPrefix") final String eventPrefix,
- @PluginAttribute("newLine") @PluginDefault("false") final boolean
newLine,
+ @PluginAttribute(value = "newLine", defaultValue = "false") final
boolean newLine,
@PluginAttribute("newLineEscape") final String escapeNL,
@PluginAttribute("appName") final String appName,
@PluginAttribute("messageId") final String msgId,
@@ -640,7 +639,7 @@ public final class Rfc5424Layout extends
@PluginAttribute("mdcIncludes") String includes,
@PluginAttribute("mdcRequired") final String required,
@PluginAttribute("exceptionPattern") final String exceptionPattern,
- @PluginAttribute("useTlsMessageFormat") @PluginDefault("false")
final boolean useTlsMessageFormat, // RFC 5425
+ @PluginAttribute(value = "useTlsMessageFormat", defaultValue =
"false") final boolean useTlsMessageFormat, // RFC 5425
@PluginElement("LoggerFields") final LoggerFields[] loggerFields,
@PluginConfiguration final Configuration config) {
final Charset charset = Charsets.UTF_8;
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
Mon May 26 04:02:12 2014
@@ -28,7 +28,6 @@ import java.util.regex.Pattern;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.net.Facility;
import org.apache.logging.log4j.core.net.Priority;
@@ -135,10 +134,10 @@ public final class SyslogLayout extends
*/
@PluginFactory
public static SyslogLayout createLayout(
- @PluginAttribute("facility") @PluginDefault("LOCAL0") final
Facility facility,
- @PluginAttribute("newLine") @PluginDefault("false") final boolean
includeNewLine,
+ @PluginAttribute(value = "facility", defaultValue = "LOCAL0")
final Facility facility,
+ @PluginAttribute(value = "newLine", defaultValue = "false") final
boolean includeNewLine,
@PluginAttribute("newLineEscape") final String escapeNL,
- @PluginAttribute("charset") @PluginDefault("UTF-8") final Charset
charset) {
+ @PluginAttribute(value = "charset", defaultValue = "UTF-8") final
Charset charset) {
return new SyslogLayout(facility, includeNewLine, escapeNL, charset);
}
}
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java?rev=1597510&r1=1597509&r2=1597510&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java
Mon May 26 04:02:12 2014
@@ -22,14 +22,13 @@ import java.util.Map;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
-import org.apache.logging.log4j.core.config.plugins.PluginDefault;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.jackson.XmlConstants;
import org.apache.logging.log4j.core.util.Charsets;
/**
* Appends a series of {@code event} elements as defined in the <a
href="log4j.dtd">log4j.dtd</a>.
- *
+ *
* <h4>Complete well-formed XML vs. fragment XML</h4>
* <p>
* If you configure {@code complete="true"}, the appender outputs a
well-formed XML document where the default namespace is the log4j
@@ -200,7 +199,7 @@ public final class XmlLayout extends Abs
* <li>XML processing instruction</li>
* <li>XML root element</li>
* </ol>
- *
+ *
* @return a byte array containing the header.
*/
@Override
@@ -223,7 +222,7 @@ public final class XmlLayout extends Abs
/**
* Returns appropriate XML footer.
- *
+ *
* @return a byte array containing the footer, closing the XML root
element.
*/
@Override
@@ -240,7 +239,7 @@ public final class XmlLayout extends Abs
* Key: "dtd" Value: "log4j-events.dtd"
* <p/>
* Key: "version" Value: "2.0"
- *
+ *
* @return Map of content format keys supporting XmlLayout
*/
@Override
@@ -262,7 +261,7 @@ public final class XmlLayout extends Abs
/**
* Creates an XML Layout.
- *
+ *
* @param locationInfo If "true", includes the location information in the
generated XML.
* @param properties If "true", includes the thread context in the
generated XML.
* @param complete If "true", includes the XML header and footer, defaults
to "false".
@@ -273,11 +272,11 @@ public final class XmlLayout extends Abs
@PluginFactory
public static XmlLayout createLayout(
// @formatter:off
- @PluginAttribute("locationInfo") @PluginDefault("false") final
boolean locationInfo,
- @PluginAttribute("properties") @PluginDefault("false") final
boolean properties,
- @PluginAttribute("complete") @PluginDefault("false") final boolean
complete,
- @PluginAttribute("compact") @PluginDefault("false") final boolean
compact,
- @PluginAttribute("charset") @PluginDefault("UTF-8") final Charset
charset)
+ @PluginAttribute(value = "locationInfo", defaultValue = "false")
final boolean locationInfo,
+ @PluginAttribute(value = "properties", defaultValue = "false")
final boolean properties,
+ @PluginAttribute(value = "complete", defaultValue = "false") final
boolean complete,
+ @PluginAttribute(value = "compact", defaultValue = "false") final
boolean compact,
+ @PluginAttribute(value = "charset", defaultValue = "UTF-8") final
Charset charset)
// @formatter:on
{
return new XmlLayout(locationInfo, properties, complete, compact,
charset);