AMQP-630: Migrate to Log4J2, Part II

JIRA: https://jira.spring.io/browse/AMQP-630

The previous fix wasn't full: we still need to adjust logger configs for Log4J2
This commit is contained in:
Artem Bilan
2016-08-09 19:10:46 -04:00
committed by Gary Russell
parent eed2851e60
commit 6d1d59277b
8 changed files with 80 additions and 71 deletions

View File

@@ -1,10 +0,0 @@
log4j.rootCategory=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n
log4j.category.org.springframework.amqp=DEBUG
log4j.category.org.springframework.beans.factory=INFO
log4j.category.org.springframework.util.exec.Execute=TRACE

View File

@@ -0,0 +1,13 @@
rootLogger.level=info
rootLogger.appenderRef.stdout.ref=STDOUT
appender.console.type=Console
appender.console.name=STDOUT
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d %5p %c [%t] : %m%n
logger.org_springframework_amqp.name=org.springframework.amqp
logger.org_springframework_amqp.level=debug
logger.org_springframework_beans_factory.name=org.springframework.beans.factory
logger.org_springframework_beans_factory.level=info

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p %c [%t] : %m%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="org.springframework.amqp.rabbit.test" level="info"/>
<Root level="info">
<AppenderRef ref="STDOUT" />
</Root>
</Loggers>
</Configuration>

View File

@@ -21,10 +21,15 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
import java.net.URI;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.LoggerContext;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
@@ -39,6 +44,7 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.log4j2.AmqpAppender;
import org.springframework.amqp.rabbit.test.BrokerRunning;
import org.springframework.amqp.utils.test.TestUtils;
import org.springframework.core.io.ClassPathResource;
/**
* @author Gary Russell
@@ -50,6 +56,22 @@ public class AmqpAppenderTests {
@Rule
public BrokerRunning brokerRunning = BrokerRunning.isRunning();
private static final LoggerContext LOGGER_CONTEXT = (LoggerContext) LogManager.getContext(false);
private static final URI ORIGINAL_LOGGER_CONFIG = LOGGER_CONTEXT.getConfigLocation();
@BeforeClass
public static void setup() throws IOException {
LOGGER_CONTEXT.setConfigLocation(new ClassPathResource("log4j2-amqp-appender.xml").getURI());
LOGGER_CONTEXT.reconfigure();
}
@AfterClass
public static void teardown() {
LOGGER_CONTEXT.setConfigLocation(ORIGINAL_LOGGER_CONFIG);
LOGGER_CONTEXT.reconfigure();
}
@Test
public void test() {
CachingConnectionFactory ccf = new CachingConnectionFactory("localhost");

View File

@@ -1,36 +0,0 @@
log4j.rootCategory=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p %t [%c] - <%m>%n
log4j.appender.amqp.addresses=localhost:5672
log4j.appender.amqp=org.springframework.amqp.rabbit.log4j.AmqpAppenderIntegrationTests$EnhancedAppender
log4j.appender.amqp.applicationId=AmqpAppenderTest
log4j.appender.amqp.routingKeyPattern=%X{applicationId}.%c.%p
log4j.appender.amqp.layout=org.apache.log4j.PatternLayout
log4j.appender.amqp.layout.ConversionPattern=%d %p %t [%c] - <%m>%n
log4j.appender.amqp.generateId=true
log4j.appender.amqp.charset=UTF-8
log4j.appender.amqp.durable=false
log4j.appender.amqp.deliveryMode=NON_PERSISTENT
log4j.appender.amqp.declareExchange=true
log4j.appender.amqp.clientConnectionProperties=foo:bar,baz:qux
log4j.appender.amqp.foo=bar
log4j.appender.amqpXml=org.springframework.amqp.rabbit.log4j.AmqpAppender
log4j.appender.amqpXml.applicationId=AmqpAppenderTest
log4j.appender.amqpXml.routingKeyPattern=%X{applicationId}.%c.%p
log4j.appender.amqpXml.layout=org.apache.log4j.xml.XMLLayout
log4j.appender.amqpXml.generateId=true
log4j.appender.amqpXml.charset=UTF-8
log4j.appender.amqpXml.contentType=text/xml
log4j.category.org.springframework.amqp.rabbit.log4j=DEBUG, amqp
log4j.category.org.springframework.amqp.rabbit.logging.customLayout=DEBUG, amqpXml
log4j.category.org.springframework.amqp.rabbit=DEBUG
log4j.category.org.springframework.beans.factory=INFO

View File

@@ -1,9 +0,0 @@
log4j.rootCategory=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p %t [%c] - <%m>%n
log4j.category.org.springframework.amqp.rabbit=INFO
log4j.category.org.springframework.beans.factory=INFO

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="org.springframework.amqp.rabbit.log4j2">
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n" />
</Console>
<RabbitMQ name="rabbitmq"
addresses="localhost:5672"
host="localhost" port="5672" user="guest" password="guest" virtualHost="/"
exchange="log4j2Test" exchangeType="fanout" declareExchange="true" durable="true" autoDelete="false"
applicationId="testAppId" routingKeyPattern="%X{applicationId}.%c.%p"
contentType="text/plain" contentEncoding="UTF-8" generateId="true" deliveryMode="NON_PERSISTENT"
charset="UTF-8"
clientConnectionProperties="foo:bar,baz:qux"
senderPoolSize="3" maxSenderRetries="5">
</RabbitMQ>
</Appenders>
<Loggers>
<Logger name="foo" level="info">
<AppenderRef ref="rabbitmq" />
</Logger>
<Root>
<AppenderRef ref="STDOUT" />
</Root>
</Loggers>
</Configuration>

View File

@@ -1,25 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration packages="org.springframework.amqp.rabbit.log4j2">
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n" />
<PatternLayout pattern="%d %5p %c [%t] : %m%n" />
</Console>
<RabbitMQ name="rabbitmq"
addresses="localhost:5672"
host="localhost" port="5672" user="guest" password="guest" virtualHost="/"
exchange="log4j2Test" exchangeType="fanout" declareExchange="true" durable="true" autoDelete="false"
applicationId="testAppId" routingKeyPattern="%X{applicationId}.%c.%p"
contentType="text/plain" contentEncoding="UTF-8" generateId="true" deliveryMode="NON_PERSISTENT"
charset="UTF-8"
clientConnectionProperties="foo:bar,baz:qux"
senderPoolSize="3" maxSenderRetries="5">
</RabbitMQ>
</Appenders>
<Loggers>
<Logger name="foo" level="info">
<AppenderRef ref="rabbitmq" />
</Logger>
<Root>
<Logger name="org.springframework.amqp.rabbit" level="info"/>
<Logger name="org.springframework.beans.factory" level="info"/>
<Root level="info">
<AppenderRef ref="STDOUT" />
</Root>
</Loggers>