Author: rpopma
Date: Mon Apr 29 11:25:24 2013
New Revision: 1476970
URL: http://svn.apache.org/r1476970
Log:
Renamed AsynchAppender to AsyncAppender. Plugin name became Async (was Asynch).
Added:
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
- copied, changed from r1476755,
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsynchAppender.java
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderNoLocationTest.java
- copied, changed from r1476755,
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderNoLocationTest.java
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
- copied, changed from r1476755,
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderTest.java
Removed:
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsynchAppender.java
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderNoLocationTest.java
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderTest.java
Modified:
logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch-no-location.xml
logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch.xml
logging/log4j/log4j2/trunk/core/src/test/resources/perf5AsyncApndNoLoc.xml
logging/log4j/log4j2/trunk/core/src/test/resources/perf6AsyncApndLoc.xml
logging/log4j/log4j2/trunk/src/changes/changes.xml
logging/log4j/log4j2/trunk/src/site/site.xml
logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml
logging/log4j/log4j2/trunk/src/site/xdoc/manual/migration.xml
Copied:
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
(from r1476755,
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsynchAppender.java)
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java?p2=logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java&p1=logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsynchAppender.java&r1=1476755&r2=1476970&rev=1476970&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsynchAppender.java
(original)
+++
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
Mon Apr 29 11:25:24 2013
@@ -39,14 +39,15 @@ import java.util.concurrent.ArrayBlockin
import java.util.concurrent.BlockingQueue;
/**
- * Appends to one or more Appenders asynchronously. You can configure an
AsynchAppender with one
- * or more Appenders and an Appender to append to if the queue is full. The
AsynchAppender does not allow
- * a filter to be specified on the Appender references.
+ * Appends to one or more Appenders asynchronously. You can configure an
+ * AsyncAppender with one or more Appenders and an Appender to append to if the
+ * queue is full. The AsyncAppender does not allow a filter to be specified on
+ * the Appender references.
*
* @param <T> The {@link Layout}'s {@link Serializable} type.
*/
-@Plugin(name = "Asynch", type = "Core", elementType = "appender", printObject
= true)
-public final class AsynchAppender<T extends Serializable> extends
AbstractAppender<T> {
+@Plugin(name = "Async", type = "Core", elementType = "appender", printObject =
true)
+public final class AsyncAppender<T extends Serializable> extends
AbstractAppender<T> {
private static final int DEFAULT_QUEUE_SIZE = 128;
private static final String SHUTDOWN = "Shutdown";
@@ -58,9 +59,9 @@ public final class AsynchAppender<T exte
private final String errorRef;
private final boolean includeLocation;
private AppenderControl<?> errorAppender;
- private AsynchThread thread;
+ private AsyncThread thread;
- private AsynchAppender(final String name, final Filter filter, final
AppenderRef[] appenderRefs,
+ private AsyncAppender(final String name, final Filter filter, final
AppenderRef[] appenderRefs,
final String errorRef, final int queueSize, final
boolean blocking,
final boolean handleExceptions, final Configuration
config,
final boolean includeLocation) {
@@ -94,9 +95,9 @@ public final class AsynchAppender<T exte
}
}
if (appenders.size() > 0) {
- thread = new AsynchThread(appenders, queue);
+ thread = new AsyncThread(appenders, queue);
} else if (errorRef == null) {
- throw new ConfigurationException("No appenders are available for
AsynchAppender " + getName());
+ throw new ConfigurationException("No appenders are available for
AsyncAppender " + getName());
}
thread.start();
@@ -110,7 +111,7 @@ public final class AsynchAppender<T exte
try {
thread.join();
} catch (final InterruptedException ex) {
- LOGGER.warn("Interrupted while stopping AsynchAppender {}",
getName());
+ LOGGER.warn("Interrupted while stopping AsyncAppender {}",
getName());
}
}
@@ -122,17 +123,18 @@ public final class AsynchAppender<T exte
@Override
public void append(final LogEvent event) {
if (!isStarted()) {
- throw new IllegalStateException("AsynchAppender " + getName() + "
is not active");
+ throw new IllegalStateException("AsyncAppender " + getName() + "
is not active");
}
if (event instanceof Log4jLogEvent) {
boolean appendSuccessful = false;
- if (blocking){
+ if (blocking) {
try {
// wait for free slots in the queue
queue.put(Log4jLogEvent.serialize((Log4jLogEvent) event,
includeLocation));
appendSuccessful = true;
} catch (InterruptedException e) {
- LOGGER.warn("Interrupted while waiting for a free slots in
the LogEvent-queue at the AsynchAppender {}", getName());
+ LOGGER.warn("Interrupted while waiting for a free slot in
the AsyncAppender LogEvent-queue {}",
+ getName());
}
} else {
appendSuccessful =
queue.offer(Log4jLogEvent.serialize((Log4jLogEvent) event, includeLocation));
@@ -140,14 +142,14 @@ public final class AsynchAppender<T exte
error("Appender " + getName() + " is unable to write
primary appenders. queue is full");
}
}
- if ((!appendSuccessful) && (errorAppender != null)){
+ if ((!appendSuccessful) && (errorAppender != null)) {
errorAppender.callAppender(event);
}
}
}
/**
- * Create an AsynchAppender.
+ * Create an AsyncAppender.
* @param appenderRefs The Appenders to reference.
* @param errorRef An optional Appender to write to if the queue is full
or other errors occur.
* @param blocking True if the Appender should wait when the queue is
full. The default is true.
@@ -159,10 +161,10 @@ public final class AsynchAppender<T exte
* @param suppress "true" if exceptions should be hidden from the
application, "false" otherwise.
* The default is "true".
* @param <S> The actual type of the Serializable.
- * @return The AsynchAppender.
+ * @return The AsyncAppender.
*/
@PluginFactory
- public static <S extends Serializable> AsynchAppender<S> createAppender(
+ public static <S extends Serializable> AsyncAppender<S> createAppender(
@PluginElement("appender-ref") final AppenderRef[]
appenderRefs,
@PluginAttr("error-ref") final String errorRef,
@PluginAttr("blocking") final String blocking,
@@ -173,11 +175,11 @@ public final class AsynchAppender<T exte
@PluginConfiguration final Configuration config,
@PluginAttr("suppressExceptions") final String suppress) {
if (name == null) {
- LOGGER.error("No name provided for AsynchAppender");
+ LOGGER.error("No name provided for AsyncAppender");
return null;
}
if (appenderRefs == null) {
- LOGGER.error("No appender references provided to AsynchAppender
{}", name);
+ LOGGER.error("No appender references provided to AsyncAppender
{}", name);
}
final boolean isBlocking = blocking == null ? true :
Boolean.valueOf(blocking);
@@ -186,20 +188,20 @@ public final class AsynchAppender<T exte
final boolean handleExceptions = suppress == null ? true :
Boolean.valueOf(suppress);
- return new AsynchAppender<S>(name, filter, appenderRefs, errorRef,
+ return new AsyncAppender<S>(name, filter, appenderRefs, errorRef,
queueSize, isBlocking, handleExceptions, config,
isIncludeLocation);
}
/**
* Thread that calls the Appenders.
*/
- private class AsynchThread extends Thread {
+ private class AsyncThread extends Thread {
private volatile boolean shutdown = false;
private final List<AppenderControl<?>> appenders;
private final BlockingQueue<Serializable> queue;
- public AsynchThread(final List<AppenderControl<?>> appenders, final
BlockingQueue<Serializable> queue) {
+ public AsyncThread(final List<AppenderControl<?>> appenders, final
BlockingQueue<Serializable> queue) {
this.appenders = appenders;
this.queue = queue;
}
Copied:
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderNoLocationTest.java
(from r1476755,
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderNoLocationTest.java)
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderNoLocationTest.java?p2=logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderNoLocationTest.java&p1=logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderNoLocationTest.java&r1=1476755&r2=1476970&rev=1476970&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderNoLocationTest.java
(original)
+++
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderNoLocationTest.java
Mon Apr 29 11:25:24 2013
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertTru
/**
*
*/
-public class AsynchAppenderNoLocationTest {
+public class AsyncAppenderNoLocationTest {
private static final String CONFIG = "log4j-asynch-no-location.xml";
private static Configuration config;
private static ListAppender<String> app;
@@ -72,7 +72,7 @@ public class AsynchAppenderNoLocationTes
@Test
public void testNoLocation() throws Exception {
- final Logger logger = LogManager.getLogger(AsynchAppender.class);
+ final Logger logger = LogManager.getLogger(AsyncAppender.class);
logger.error("This is a test");
logger.warn("Hello world!");
Thread.sleep(100);
Copied:
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
(from r1476755,
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderTest.java)
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java?p2=logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java&p1=logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderTest.java&r1=1476755&r2=1476970&rev=1476970&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsynchAppenderTest.java
(original)
+++
logging/log4j/log4j2/trunk/core/src/test/java/org/apache/logging/log4j/core/appender/AsyncAppenderTest.java
Mon Apr 29 11:25:24 2013
@@ -38,7 +38,7 @@ import static org.junit.Assert.*;
/**
*
*/
-public class AsynchAppenderTest {
+public class AsyncAppenderTest {
private static final String CONFIG = "log4j-asynch.xml";
private static Configuration config;
private static ListAppender<String> app;
@@ -72,7 +72,7 @@ public class AsynchAppenderTest {
@Test
public void rewriteTest() throws Exception {
- final Logger logger = LogManager.getLogger(AsynchAppender.class);
+ final Logger logger = LogManager.getLogger(AsyncAppender.class);
logger.error("This is a test");
logger.warn("Hello world!");
Thread.sleep(100);
@@ -80,16 +80,16 @@ public class AsynchAppenderTest {
assertNotNull("No events generated", list);
assertTrue("Incorrect number of events. Expected 2, got " +
list.size(), list.size() == 2);
String msg = list.get(0);
- String expected = AsynchAppenderTest.class.getName() + " rewriteTest
This is a test";
+ String expected = AsyncAppenderTest.class.getName() + " rewriteTest
This is a test";
assertTrue("Expected " + expected + ", Actual " + msg,
expected.equals(msg));
msg = list.get(1);
- expected = AsynchAppenderTest.class.getName() + " rewriteTest Hello
world!";
+ expected = AsyncAppenderTest.class.getName() + " rewriteTest Hello
world!";
assertTrue("Expected " + expected + ", Actual " + msg,
expected.equals(msg));
}
@Test
public void testException() throws Exception {
- final Logger logger = LogManager.getLogger(AsynchAppender.class);
+ final Logger logger = LogManager.getLogger(AsyncAppender.class);
final Exception parent = new IllegalStateException("Test");
final Throwable child = new LoggingException("This is a test", parent);
logger.error("This is a test", child);
Modified:
logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch-no-location.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch-no-location.xml?rev=1476970&r1=1476969&r2=1476970&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch-no-location.xml
(original)
+++
logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch-no-location.xml
Mon Apr 29 11:25:24 2013
@@ -25,14 +25,14 @@
<List name="List">
<PatternLayout pattern="%C %M %m"/>
</List>
- <Asynch name="Asynch"> <!-- includeLocation="false" the default for async
-->
+ <Async name="Async"> <!-- includeLocation="false" the default for async -->
<appender-ref ref="List"/>
- </Asynch>
+ </Async>
</appenders>
<loggers>
<root level="debug">
- <appender-ref ref="Asynch"/>
+ <appender-ref ref="Async"/>
</root>
</loggers>
Modified: logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch.xml?rev=1476970&r1=1476969&r2=1476970&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch.xml
(original)
+++ logging/log4j/log4j2/trunk/core/src/test/resources/log4j-asynch.xml Mon Apr
29 11:25:24 2013
@@ -25,14 +25,14 @@
<List name="List">
<PatternLayout pattern="%C %M %m"/>
</List>
- <Asynch name="Asynch" includeLocation="true">
+ <Async name="Async" includeLocation="true">
<appender-ref ref="List"/>
- </Asynch>
+ </Async>
</appenders>
<loggers>
<root level="debug">
- <appender-ref ref="Asynch"/>
+ <appender-ref ref="Async"/>
</root>
</loggers>
Modified:
logging/log4j/log4j2/trunk/core/src/test/resources/perf5AsyncApndNoLoc.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/test/resources/perf5AsyncApndNoLoc.xml?rev=1476970&r1=1476969&r2=1476970&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/test/resources/perf5AsyncApndNoLoc.xml
(original)
+++ logging/log4j/log4j2/trunk/core/src/test/resources/perf5AsyncApndNoLoc.xml
Mon Apr 29 11:25:24 2013
@@ -6,13 +6,13 @@
<pattern>%d %p %c{1.} [%t] %X{aKey} %m %ex%n</pattern>
</PatternLayout>
</FastFile>
- <Asynch name="Asynch" blocking="true" bufferSize="262144">
+ <Async name="Async" blocking="true" bufferSize="262144">
<appender-ref ref="FastFile"/>
- </Asynch>
+ </Async>
</appenders>
<loggers>
<root level="info" includeLocation="false">
- <appender-ref ref="Asynch"/>
+ <appender-ref ref="Async"/>
</root>
</loggers>
</configuration>
Modified:
logging/log4j/log4j2/trunk/core/src/test/resources/perf6AsyncApndLoc.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/test/resources/perf6AsyncApndLoc.xml?rev=1476970&r1=1476969&r2=1476970&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/test/resources/perf6AsyncApndLoc.xml
(original)
+++ logging/log4j/log4j2/trunk/core/src/test/resources/perf6AsyncApndLoc.xml
Mon Apr 29 11:25:24 2013
@@ -6,13 +6,13 @@
<pattern>%d %p %c{1.} %C %location %line [%t] %X{aKey} %m
%ex%n</pattern>
</PatternLayout>
</FastFile>
- <Asynch name="Asynch" includeLocation="true" blocking="true"
bufferSize="262144">
+ <Async name="Async" includeLocation="true" blocking="true"
bufferSize="262144">
<appender-ref ref="FastFile"/>
- </Asynch>
+ </Async>
</appenders>
<loggers>
<root level="info" includeLocation="true">
- <appender-ref ref="Asynch"/>
+ <appender-ref ref="Async"/>
</root>
</loggers>
</configuration>
Modified: logging/log4j/log4j2/trunk/src/changes/changes.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/changes/changes.xml?rev=1476970&r1=1476969&r2=1476970&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/changes/changes.xml (original)
+++ logging/log4j/log4j2/trunk/src/changes/changes.xml Mon Apr 29 11:25:24 2013
@@ -24,6 +24,9 @@
<body>
<release version="2.0-beta6" date="@TBD@" description="Bug fixes and
enhancements">
<action dev="rpopma" type="update">
+ Renamed AsynchAppender to AsyncAppender. Plugin name became Async (was
Asynch).
+ </action>
+ <action dev="rpopma" type="update">
Removed CheckStyle false positives for NewlineAtEndOfFile and
whitespace following '*' at end of line in javadoc.
</action>
<action dev="rpopma" type="update">
Modified: logging/log4j/log4j2/trunk/src/site/site.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/site/site.xml?rev=1476970&r1=1476969&r2=1476970&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/site/site.xml (original)
+++ logging/log4j/log4j2/trunk/src/site/site.xml Mon Apr 29 11:25:24 2013
@@ -63,7 +63,7 @@
</item>
<item name="Appenders" href="/manual/appenders.html" collapse="true">
- <item name="Asynch" href="/manual/appenders.html#AsynchAppender"/>
+ <item name="Async" href="/manual/appenders.html#AsyncAppender"/>
<item name="Console" href="/manual/appenders.html#ConsoleAppender"/>
<item name="Failover" href="/manual/appenders.html#FailoverAppender"/>
<item name="File" href="/manual/appenders.html#FileAppender"/>
Modified: logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml?rev=1476970&r1=1476969&r2=1476970&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml (original)
+++ logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml Mon Apr 29
11:25:24 2013
@@ -45,11 +45,11 @@
<p>
Appenders always have a name so that they can be referenced from
Loggers.
</p>
- <a name="AsynchAppender"/>
- <subsection name="AsynchAppender">
- <p>The AsynchAppender accepts references to other Appenders and
causes LogEvents to be written to them
+ <a name="AsyncAppender"/>
+ <subsection name="AsyncAppender">
+ <p>The AsyncAppender accepts references to other Appenders and
causes LogEvents to be written to them
on a separate Thread. Note that exceptions while writing to those
Appenders will be hidden from
- the application. The AsynchAppender should be configured after the
appenders it references to allow it
+ the application. The AsyncAppender should be configured after the
appenders it references to allow it
to shut down properly.</p>
<table>
<tr>
@@ -105,10 +105,10 @@
not included by default when adding a log event to the queue.
You can change this by setting includeLocation="true".</td>
</tr>
- <caption align="top">AsynchAppender Parameters</caption>
+ <caption align="top">AsyncAppender Parameters</caption>
</table>
<p>
- A typical AsynchAppender configuration might look like:
+ A typical AsyncAppender configuration might look like:
<pre class="prettyprint linenums"><![CDATA[<?xml version="1.0"
encoding="UTF-8"?>
<configuration status="warn" name="MyApp" packages="">
@@ -118,13 +118,13 @@
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
</File>
- <Asynch name="Asynch">
+ <Async name="Async">
<appender-ref ref="MyFile"/>
- </Asynch>
+ </Async>
</appenders>
<loggers>
<root level="error">
- <appender-ref ref="Asynch"/>
+ <appender-ref ref="Async"/>
</root>
</loggers>
</configuration>]]></pre>
Modified: logging/log4j/log4j2/trunk/src/site/xdoc/manual/migration.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/site/xdoc/manual/migration.xml?rev=1476970&r1=1476969&r2=1476970&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/site/xdoc/manual/migration.xml (original)
+++ logging/log4j/log4j2/trunk/src/site/xdoc/manual/migration.xml Mon Apr 29
11:25:24 2013
@@ -198,8 +198,8 @@
</loggers>
</configuration>]]></pre>
- <h4>Sample 4 - AsynchAppender</h4>
- <p>Log4j 1.x XML configuration using the AsynchAppender.</p>
+ <h4>Sample 4 - AsyncAppender</h4>
+ <p>Log4j 1.x XML configuration using the AsyncAppender.</p>
<pre class="prettyprint linenums"><![CDATA[<?xml version="1.0"
encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
"log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
configDebug="true">
@@ -225,9 +225,9 @@
<File name="TEMP" fileName="temp">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</File>
- <Asynch name="ASYNC">
+ <Async name="ASYNC">
<appender-ref ref="TEMP"/>
- </Asynch>
+ </Async>
</appenders>
<loggers>
<root level="debug">
@@ -237,8 +237,8 @@
</configuration>]]></pre>
- <h4>Sample 5 - AsynchAppender with Console and File</h4>
- <p>Log4j 1.x XML configuration using the AsynchAppender.</p>
+ <h4>Sample 5 - AsyncAppender with Console and File</h4>
+ <p>Log4j 1.x XML configuration using the AsyncAppender.</p>
<pre class="prettyprint linenums"><![CDATA[<?xml version="1.0"
encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
"log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
configDebug="true">
@@ -263,7 +263,7 @@
</root>
</log4j:configuration>]]></pre>
- <p>Log4j 2 XML configuration. Note that the Asynch Appender should
be configured after the appenders it
+ <p>Log4j 2 XML configuration. Note that the Async Appender should
be configured after the appenders it
references. This will allow it to shutdown properly.</p>
<pre class="prettyprint linenums"><![CDATA[<?xml version="1.0"
encoding="UTF-8"?>
<configuration status="debug">
@@ -274,10 +274,10 @@
<File name="TEMP" fileName="temp">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</File>
- <Asynch name="ASYNC">
+ <Async name="ASYNC">
<appender-ref ref="TEMP"/>
<appender-ref ref="CONSOLE"/>
- </Asynch>
+ </Async>
</appenders>
<loggers>
<root level="debug">