You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2014/03/23 05:50:15 UTC
svn commit: r1580445 [2/2] - in /logging/log4j/log4j2/trunk:
log4j-1.2-api/src/main/java/org/apache/log4j/
log4j-api/src/main/java/org/apache/logging/log4j/
log4j-api/src/main/java/org/apache/logging/log4j/simple/
log4j-api/src/main/java/org/apache/log...
Modified: logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java (original)
+++ logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/LoggerTest.java Sun Mar 23 04:50:14 2014
@@ -272,42 +272,6 @@ public class LoggerTest {
}
@Test
- public void getStream() {
- final PrintWriter stream = logger.printWriter(Level.DEBUG);
- stream.println("println");
- stream.print("print followed by println");
- stream.println();
- stream.println("multiple\nlines");
- stream.println(); // verify blank log message
- stream.print("print embedded newline\n");
- stream.print("\r\n"); // verify windows EOL works
- stream.print("Last Line without newline");
- stream.close();
- assertEquals(8, results.size());
- assertEquals("msg 1", " DEBUG println", results.get(0));
- assertEquals("msg 2", " DEBUG print followed by println", results.get(1));
- assertEquals("msg 3", " DEBUG multiple", results.get(2));
- assertEquals("msg 4", " DEBUG lines", results.get(3));
- assertEquals("msg 5 should be blank-ish", " DEBUG ", results.get(4));
- assertEquals("msg 6", " DEBUG print embedded newline", results.get(5));
- assertEquals("msg 7 should be blank-ish", " DEBUG ", results.get(6));
- assertEquals("msg 8 Last line", " DEBUG Last Line without newline", results.get(7));
- }
-
- @Test
- public void getStream_Marker() {
- final PrintWriter stream = logger.printWriter(MarkerManager.getMarker("HI"), Level.INFO);
- stream.println("println");
- stream.print("print with embedded newline\n");
- stream.println("last line");
- stream.close();
- assertEquals(3, results.size());
- assertEquals("println 1", "HI INFO println", results.get(0));
- assertEquals("print with embedded newline", "HI INFO print with embedded newline", results.get(1));
- assertEquals("println 2", "HI INFO last line", results.get(2));
- }
-
- @Test
public void isAllEnabled() {
assertTrue("Incorrect level", logger.isEnabled(Level.ALL));
}
Modified: logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/TestLogger.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/TestLogger.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/TestLogger.java (original)
+++ logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/TestLogger.java Sun Mar 23 04:50:14 2014
@@ -52,7 +52,7 @@ public class TestLogger extends Abstract
}
@Override
- public void log(final Marker marker, final String fqcn, final Level level, final Message msg, final Throwable throwable) {
+ public void logMessage(final String fqcn, final Level level, final Marker marker, final Message msg, final Throwable throwable) {
final StringBuilder sb = new StringBuilder();
if (marker != null) {
sb.append(marker);
@@ -85,28 +85,28 @@ public class TestLogger extends Abstract
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final String msg) {
+ public boolean isEnabled(final Level level, final Marker marker, final String msg) {
return true;
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final String msg, final Throwable t) {
+ public boolean isEnabled(final Level level, final Marker marker, final String msg, final Throwable t) {
return true;
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final String msg, final Object... p1) {
+ public boolean isEnabled(final Level level, final Marker marker, final String msg, final Object... p1) {
return true;
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final Object msg, final Throwable t) {
+ public boolean isEnabled(final Level level, final Marker marker, final Object msg, final Throwable t) {
return true;
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final Message msg, final Throwable t) {
+ public boolean isEnabled(final Level level, final Marker marker, final Message msg, final Throwable t) {
return true;
}
}
Modified: logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java (original)
+++ logging/log4j/log4j2/trunk/log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java Sun Mar 23 04:50:14 2014
@@ -18,6 +18,7 @@ package org.apache.logging.log4j;
import org.apache.logging.log4j.message.MessageFactory;
import org.apache.logging.log4j.spi.LoggerContext;
+import org.apache.logging.log4j.spi.LoggerProvider;
import java.util.HashMap;
import java.util.Map;
@@ -26,20 +27,20 @@ import java.util.Map;
*
*/
public class TestLoggerContext implements LoggerContext {
- private final Map<String, Logger> map = new HashMap<String, Logger>();
+ private final Map<String, LoggerProvider> map = new HashMap<String, LoggerProvider>();
@Override
- public Logger getLogger(final String name) {
+ public LoggerProvider getLogger(final String name) {
if (map.containsKey(name)) {
return map.get(name);
}
- final Logger logger = new TestLogger(name);
+ final LoggerProvider logger = new TestLogger(name);
map.put(name, logger);
return logger;
}
@Override
- public Logger getLogger(final String name, final MessageFactory messageFactory) {
+ public LoggerProvider getLogger(final String name, final MessageFactory messageFactory) {
return new TestLogger(name, messageFactory);
}
Modified: logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java (original)
+++ logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java Sun Mar 23 04:50:14 2014
@@ -104,37 +104,35 @@ public class Logger extends AbstractLogg
}
@Override
- public void log(final Marker marker, final String fqcn, final Level level, Message data, final Throwable t) {
- if (data == null) {
- data = new SimpleMessage("");
- }
+ public void logMessage(final String fqcn, final Level level, final Marker marker, final Message message, final Throwable t) {
+ final Message msg = message == null ? new SimpleMessage("") : message;
config.config.getConfigurationMonitor().checkConfiguration();
- config.loggerConfig.log(getName(), marker, fqcn, level, data, t);
+ config.loggerConfig.log(getName(), fqcn, marker, level, msg, t);
}
@Override
- public boolean isEnabled(final Level level, final Marker marker, final String msg) {
- return config.filter(level, marker, msg);
+ public boolean isEnabled(final Level level, final Marker marker, final String message, final Throwable t) {
+ return config.filter(level, marker, message, t);
}
@Override
- public boolean isEnabled(final Level level, final Marker marker, final String msg, final Throwable t) {
- return config.filter(level, marker, msg, t);
+ public boolean isEnabled(final Level level, final Marker marker, final String message) {
+ return config.filter(level, marker, message);
}
@Override
- public boolean isEnabled(final Level level, final Marker marker, final String msg, final Object... p1) {
- return config.filter(level, marker, msg, p1);
+ public boolean isEnabled(final Level level, final Marker marker, final String message, final Object... params) {
+ return config.filter(level, marker, message, params);
}
@Override
- public boolean isEnabled(final Level level, final Marker marker, final Object msg, final Throwable t) {
- return config.filter(level, marker, msg, t);
+ public boolean isEnabled(final Level level, final Marker marker, final Object message, final Throwable t) {
+ return config.filter(level, marker, message, t);
}
@Override
- public boolean isEnabled(final Level level, final Marker marker, final Message msg, final Throwable t) {
- return config.filter(level, marker, msg, t);
+ public boolean isEnabled(final Level level, final Marker marker, final Message message, final Throwable t) {
+ return config.filter(level, marker, message, t);
}
/**
Modified: logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java (original)
+++ logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java Sun Mar 23 04:50:14 2014
@@ -230,7 +230,7 @@ public class AsyncLogger extends Logger
}
@Override
- public void log(final Marker marker, final String fqcn, final Level level, final Message data, final Throwable t) {
+ public void logMessage(final String fqcn, final Level level, final Marker marker, final Message message, final Throwable t) {
Info info = threadlocalInfo.get();
if (info == null) {
info = new Info(new RingBufferLogEventTranslator(), Thread.currentThread().getName(), false);
@@ -241,11 +241,11 @@ public class AsyncLogger extends Logger
// being logged calls Logger.log() from its toString() method
if (info.isAppenderThread && disruptor.getRingBuffer().remainingCapacity() == 0) {
// bypass RingBuffer and invoke Appender directly
- config.loggerConfig.log(getName(), marker, fqcn, level, data, t);
+ config.loggerConfig.log(getName(), fqcn, marker, level, message, t);
return;
}
final boolean includeLocation = config.loggerConfig.isIncludeLocation();
- info.translator.setValues(this, getName(), marker, fqcn, level, data, t, //
+ info.translator.setValues(this, getName(), marker, fqcn, level, message, t, //
// config properties are taken care of in the EventHandler
// thread in the #actualAsyncLog method
Modified: logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java (original)
+++ logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java Sun Mar 23 04:50:14 2014
@@ -341,14 +341,14 @@ public class LoggerConfig extends Abstra
* Logs an event.
*
* @param loggerName The name of the Logger.
- * @param marker A Marker or null if none is present.
* @param fqcn The fully qualified class name of the caller.
+ * @param marker A Marker or null if none is present.
* @param level The event Level.
* @param data The Message.
* @param t A Throwable or null.
*/
- public void log(final String loggerName, final Marker marker,
- final String fqcn, final Level level, final Message data,
+ public void log(final String loggerName, final String fqcn,
+ final Marker marker, final Level level, final Message data,
final Throwable t) {
List<Property> props = null;
if (properties != null) {
Added: logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/LevelTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/LevelTest.java?rev=1580445&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/LevelTest.java (added)
+++ logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/LevelTest.java Sun Mar 23 04:50:14 2014
@@ -0,0 +1,171 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core;
+
+import static org.apache.logging.log4j.Level.*;
+import static org.junit.Assert.*;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Marker;
+import org.apache.logging.log4j.MarkerManager;
+import org.apache.logging.log4j.core.config.Configuration;
+import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.message.Message;
+import org.apache.logging.log4j.message.ObjectMessage;
+import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.test.appender.ListAppender;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ *
+ */
+public class LevelTest {
+
+ private static final String CONFIG = "log4j-Level.xml";
+ private static LoggerContext ctx;
+ private static ListAppender listAll;
+ private static ListAppender listTrace;
+ private static ListAppender listDebug;
+ private static ListAppender listInfo;
+ private static ListAppender listWarn;
+ private static ListAppender listError;
+ private static ListAppender listFatal;
+
+ @BeforeClass
+ public static void setupClass() {
+ System.setProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY, CONFIG);
+ ctx = (LoggerContext) LogManager.getContext(false);
+ }
+
+ @AfterClass
+ public static void cleanupClass() {
+ System.clearProperty(ConfigurationFactory.CONFIGURATION_FILE_PROPERTY);
+ ctx.reconfigure();
+ StatusLogger.getLogger().reset();
+ }
+
+ @Before
+ public void before() {
+ Configuration config = ctx.getConfiguration();
+ for (final Map.Entry<String, Appender> entry : config.getAppenders().entrySet()) {
+ if (entry.getKey().equals("ListAll")) {
+ listAll = (ListAppender) entry.getValue();
+ } else if (entry.getKey().equals("ListTrace")) {
+ listTrace = (ListAppender) entry.getValue();
+ } else if (entry.getKey().equals("ListDebug")) {
+ listDebug = (ListAppender) entry.getValue();
+ } else if (entry.getKey().equals("ListInfo")) {
+ listInfo = (ListAppender) entry.getValue();
+ } else if (entry.getKey().equals("ListWarn")) {
+ listWarn = (ListAppender) entry.getValue();
+ } else if (entry.getKey().equals("ListError")) {
+ listError = (ListAppender) entry.getValue();
+ } else if (entry.getKey().equals("ListFatal")) {
+ listFatal = (ListAppender) entry.getValue();
+ }
+ }
+ assertNotNull("No listAll Appender", listAll);
+ assertNotNull("No listTrace Appender", listTrace);
+ assertNotNull("No listDebug Appender", listDebug);
+ assertNotNull("No listInfo Appender", listInfo);
+ assertNotNull("No listWarn Appender", listWarn);
+ assertNotNull("No listError Appender", listError);
+ assertNotNull("No listFatal Appender", listFatal);
+ listAll.clear();
+ listTrace.clear();
+ listDebug.clear();
+ listInfo.clear();
+ listWarn.clear();
+ listError.clear();
+ listFatal.clear();
+ }
+
+ // Helper class
+ class Expected {
+ final ListAppender appender;
+ final int expectedEventCount;
+ final String expectedInitialEventLevel;
+ final String description;
+
+ Expected(ListAppender appender, int expectedCount, String level, String description) {
+ this.appender = appender;
+ this.expectedEventCount = expectedCount;
+ this.expectedInitialEventLevel = level;
+ this.description = description;
+ }
+ }
+
+ @Test
+ public void testLevelLogging() {
+ Marker marker = MarkerManager.getMarker("marker");
+ Message msg = new ObjectMessage("msg");
+ Throwable t = new Throwable("test");
+ Level[] levels = new Level[] { TRACE, DEBUG, INFO, WARN, ERROR, FATAL };
+ String[] names = new String[] { "levelTest", "levelTest.Trace", "levelTest.Debug", "levelTest.Info",
+ "levelTest.Warn", "levelTest.Error", "levelTest.Fatal" };
+ for (Level level : levels) {
+ for (String name : names) {
+ org.apache.logging.log4j.Logger logger = LogManager.getLogger(name);
+ logger.log(level, msg); // Message
+ logger.log(level, 123); // Object
+ logger.log(level, name); // String
+ logger.log(level, marker, msg); // Marker, Message
+ logger.log(level, marker, 123); // Marker, Object
+ logger.log(level, marker, name); // marker, String
+ logger.log(level, msg, t); // Message, Throwable
+ logger.log(level, 123, t); // Object, Throwable
+ logger.log(level, name, "param1", "param2"); // String, Object...
+ logger.log(level, name, t); // String, Throwable
+ logger.log(level, marker, msg, t); // Marker, Message, Throwable
+ logger.log(level, marker, 123, t); // Marker, Object, Throwable
+ logger.log(level, marker, name, "param1", "param2"); // Marker, String, Object...
+ logger.log(level, marker, name, t); // Marker, String, Throwable
+ }
+ }
+ // Logger "levelTest" will not receive same events as "levelTest.Trace"
+ int levelCount = names.length - 1;
+
+ final int UNIT = 14;
+ Expected[] expectedResults = new Expected[] { //
+ new Expected(listAll, UNIT * levelCount, "TRACE", "All"), //
+ new Expected(listTrace, UNIT * levelCount--, "TRACE", "Trace"), //
+ new Expected(listDebug, UNIT * levelCount--, "DEBUG", "Debug"), //
+ new Expected(listInfo, UNIT * levelCount--, "INFO", "Info"), //
+ new Expected(listWarn, UNIT * levelCount--, "WARN", "Warn"), //
+ new Expected(listError, UNIT * levelCount--, "ERROR", "Error"), //
+ new Expected(listFatal, UNIT * levelCount--, "FATAL", "Fatal"), //
+ };
+ for (Expected expected : expectedResults) {
+ final String description = expected.description;
+ final List<LogEvent> events = expected.appender.getEvents();
+ assertNotNull(description + ": No events", events);
+ assertTrue(description + ": Incorrect number of events. Expected " + expected.expectedEventCount + " got "
+ + events.size(), events.size() == expected.expectedEventCount);
+ LogEvent event = events.get(0);
+ assertTrue(
+ description + ": Expected level " + expected.expectedInitialEventLevel + ", got" + event.getLevel(),
+ event.getLevel().name().equals(expected.expectedInitialEventLevel));
+ }
+ }
+}
Propchange: logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/LevelTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j-Level.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j-Level.xml?rev=1580445&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j-Level.xml (added)
+++ logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j-Level.xml Sun Mar 23 04:50:14 2014
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<Configuration status="warn" name="XMLConfigTest" packages="org.apache.logging.log4j.test">
+
+ <Appenders>
+ <Console name="STDOUT">
+ <PatternLayout pattern="%m%n"/>
+ </Console>
+ <List name="ListAll" />
+ <List name="ListTrace" />
+ <List name="ListDebug" />
+ <List name="ListInfo" />
+ <List name="ListWarn" />
+ <List name="ListError" />
+ <List name="ListFatal" />
+ </Appenders>
+
+ <Loggers>
+ <Logger name="levelTest" level="all" additivity="false">
+ <AppenderRef ref="ListAll"/>
+ </Logger>
+ <Logger name="levelTest.Trace" level="trace" additivity="false">
+ <AppenderRef ref="ListTrace"/>
+ </Logger>
+ <Logger name="levelTest.Debug" level="debug" additivity="false">
+ <AppenderRef ref="ListDebug"/>
+ </Logger>
+ <Logger name="levelTest.Info" level="info" additivity="false">
+ <AppenderRef ref="ListInfo"/>
+ </Logger>
+ <Logger name="levelTest.Warn" level="warn" additivity="false">
+ <AppenderRef ref="ListWarn"/>
+ </Logger>
+ <Logger name="levelTest.Error" level="error" additivity="false">
+ <AppenderRef ref="ListError"/>
+ </Logger>
+ <Logger name="levelTest.Fatal" level="fatal" additivity="false">
+ <AppenderRef ref="ListFatal"/>
+ </Logger>
+
+ <Root level="off">
+ <AppenderRef ref="STDOUT"/>
+ </Root>
+ </Loggers>
+
+</Configuration>
\ No newline at end of file
Propchange: logging/log4j/log4j2/trunk/log4j-core/src/test/resources/log4j-Level.xml
------------------------------------------------------------------------------
svn:eol-style = native
Modified: logging/log4j/log4j2/trunk/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/Log4jLog.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/Log4jLog.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/Log4jLog.java (original)
+++ logging/log4j/log4j2/trunk/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/Log4jLog.java Sun Mar 23 04:50:14 2014
@@ -16,18 +16,113 @@
*/
package org.apache.logging.log4j.jcl;
+import java.io.Serializable;
+
import org.apache.commons.logging.Log;
-import org.apache.logging.log4j.spi.AbstractLogger;
-import org.apache.logging.log4j.spi.AbstractLoggerWrapper;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.spi.LoggerProvider;
/**
*
*/
-public class Log4jLog extends AbstractLoggerWrapper implements Log {
-
+public class Log4jLog implements Log, Serializable {
+
private static final long serialVersionUID = 1L;
+ private static final String FQCN = Log4jLog.class.getName();
+
+ private final LoggerProvider logger;
+
+ public Log4jLog(final LoggerProvider logger) {
+ this.logger = logger;
+ }
+
+ @Override
+ public boolean isDebugEnabled() {
+ return logger.isEnabled(Level.DEBUG, null, null);
+ }
+
+ @Override
+ public boolean isErrorEnabled() {
+ return logger.isEnabled(Level.ERROR, null, null);
+ }
+
+ @Override
+ public boolean isFatalEnabled() {
+ return logger.isEnabled(Level.FATAL, null, null);
+ }
+
+ @Override
+ public boolean isInfoEnabled() {
+ return logger.isEnabled(Level.INFO, null, null);
+ }
+
+ @Override
+ public boolean isTraceEnabled() {
+ return logger.isEnabled(Level.TRACE, null, null);
+ }
+
+ @Override
+ public boolean isWarnEnabled() {
+ return logger.isEnabled(Level.WARN, null, null);
+ }
+
+ @Override
+ public void trace(Object message) {
+ logger.logIfEnabled(FQCN, Level.TRACE, null, message, null);
+ }
+
+ @Override
+ public void trace(Object message, Throwable t) {
+ logger.logIfEnabled(FQCN, Level.TRACE, null, message, t);
+ }
+
+ @Override
+ public void debug(Object message) {
+ logger.logIfEnabled(FQCN, Level.DEBUG, null, message, null);
+ }
+
+ @Override
+ public void debug(Object message, Throwable t) {
+ logger.logIfEnabled(FQCN, Level.DEBUG, null, message, t);
+ }
+
+ @Override
+ public void info(Object message) {
+ logger.logIfEnabled(FQCN, Level.INFO, null, message, null);
+ }
+
+ @Override
+ public void info(Object message, Throwable t) {
+ logger.logIfEnabled(FQCN, Level.INFO, null, message, t);
+ }
+
+ @Override
+ public void warn(Object message) {
+ logger.logIfEnabled(FQCN, Level.WARN, null, message, null);
+ }
+
+ @Override
+ public void warn(Object message, Throwable t) {
+ logger.logIfEnabled(FQCN, Level.WARN, null, message, t);
+ }
+
+ @Override
+ public void error(Object message) {
+ logger.logIfEnabled(FQCN, Level.ERROR, null, message, null);
+ }
+
+ @Override
+ public void error(Object message, Throwable t) {
+ logger.logIfEnabled(FQCN, Level.ERROR, null, message, t);
+ }
+
+ @Override
+ public void fatal(Object message) {
+ logger.logIfEnabled(FQCN, Level.FATAL, null, message, null);
+ }
- public Log4jLog(final AbstractLogger logger, final String name) {
- super(logger, name, null);
+ @Override
+ public void fatal(Object message, Throwable t) {
+ logger.logIfEnabled(FQCN, Level.FATAL, null, message, t);
}
}
Modified: logging/log4j/log4j2/trunk/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogFactoryImpl.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogFactoryImpl.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogFactoryImpl.java (original)
+++ logging/log4j/log4j2/trunk/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogFactoryImpl.java Sun Mar 23 04:50:14 2014
@@ -25,8 +25,8 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogConfigurationException;
import org.apache.commons.logging.LogFactory;
import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.spi.AbstractLogger;
import org.apache.logging.log4j.spi.LoggerContext;
+import org.apache.logging.log4j.spi.LoggerProvider;
/**
*
@@ -44,13 +44,8 @@ public class LogFactoryImpl extends LogF
if (loggers.containsKey(name)) {
return loggers.get(name);
}
- final org.apache.logging.log4j.Logger logger = PrivateManager.getLogger(name);
- if (logger instanceof AbstractLogger) {
- loggers.putIfAbsent(name, new Log4jLog((AbstractLogger) logger, name));
- return loggers.get(name);
- }
- throw new LogConfigurationException(
- "Commons Logging Adapter requires base logging system to extend Log4j AbstractLogger");
+ loggers.putIfAbsent(name, new Log4jLog(PrivateManager.getLogger(name)));
+ return loggers.get(name);
}
private ConcurrentMap<String, Log> getLoggersMap() {
@@ -113,8 +108,8 @@ public class LogFactoryImpl extends LogF
return getContext(FQCN, false);
}
- public static org.apache.logging.log4j.Logger getLogger(final String name) {
- return getLogger(FQCN, name);
+ public static LoggerProvider getLogger(final String name) {
+ return getContext().getLogger(name);
}
}
Modified: logging/log4j/log4j2/trunk/log4j-slf4j-impl/src/main/java/org/slf4j/helpers/Log4jLoggerFactory.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-slf4j-impl/src/main/java/org/slf4j/helpers/Log4jLoggerFactory.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-slf4j-impl/src/main/java/org/slf4j/helpers/Log4jLoggerFactory.java (original)
+++ logging/log4j/log4j2/trunk/log4j-slf4j-impl/src/main/java/org/slf4j/helpers/Log4jLoggerFactory.java Sun Mar 23 04:50:14 2014
@@ -22,9 +22,8 @@ import java.util.concurrent.ConcurrentHa
import java.util.concurrent.ConcurrentMap;
import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.spi.AbstractLogger;
import org.apache.logging.log4j.spi.LoggerContext;
-import org.apache.logging.slf4j.SLF4JLoggingException;
+import org.apache.logging.log4j.spi.LoggerProvider;
import org.slf4j.ILoggerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -50,12 +49,8 @@ public class Log4jLoggerFactory implemen
return loggers.get(name);
}
final String key = Logger.ROOT_LOGGER_NAME.equals(name) ? LogManager.ROOT_LOGGER_NAME : name;
- final org.apache.logging.log4j.Logger logger = context.getLogger(key);
- if (logger instanceof AbstractLogger) {
- loggers.putIfAbsent(name, new SLF4JLogger((AbstractLogger) logger, name));
- return loggers.get(name);
- }
- throw new SLF4JLoggingException("SLF4J Adapter requires base logging system to extend Log4j AbstractLogger");
+ loggers.putIfAbsent(name, new SLF4JLogger(context.getLogger(key), name));
+ return loggers.get(name);
}
private ConcurrentMap<String, Logger> getLoggersMap(final LoggerContext context) {
@@ -104,9 +99,8 @@ public class Log4jLoggerFactory implemen
return getContext(fqcn, false);
}
- public static org.apache.logging.log4j.Logger getLogger(final String name) {
- return getLogger(FQCN, name);
+ public static LoggerProvider getLogger(final String name) {
+ return getContext(FQCN).getLogger(name);
}
}
-
}
Modified: logging/log4j/log4j2/trunk/log4j-slf4j-impl/src/main/java/org/slf4j/impl/SLF4JLogger.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-slf4j-impl/src/main/java/org/slf4j/impl/SLF4JLogger.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-slf4j-impl/src/main/java/org/slf4j/impl/SLF4JLogger.java (original)
+++ logging/log4j/log4j2/trunk/log4j-slf4j-impl/src/main/java/org/slf4j/impl/SLF4JLogger.java Sun Mar 23 04:50:14 2014
@@ -16,38 +16,38 @@
*/
package org.slf4j.impl;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.ParameterizedMessage;
import org.apache.logging.log4j.message.SimpleMessage;
-import org.apache.logging.log4j.spi.AbstractLogger;
-import org.apache.logging.log4j.spi.AbstractLoggerWrapper;
+import org.apache.logging.log4j.spi.LoggerProvider;
import org.slf4j.Marker;
import org.slf4j.MarkerFactory;
import org.slf4j.helpers.EventDataConverter;
import org.slf4j.spi.LocationAwareLogger;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-
/**
*
*/
public class SLF4JLogger implements LocationAwareLogger, Serializable {
+ public static final String FQCN = SLF4JLogger.class.getName();
+
private static final long serialVersionUID = 7869000638091304316L;
- private static final String FQCN = SLF4JLogger.class.getName();
private static final Marker EVENT_MARKER = MarkerFactory.getMarker("EVENT");
private final boolean eventLogger;
- private transient AbstractLoggerWrapper logger;
+ private transient LoggerProvider logger;
private final String name;
private transient EventDataConverter converter;
- public SLF4JLogger(final AbstractLogger logger, final String name) {
- this.logger = new AbstractLoggerWrapper(logger, name, null);
+ public SLF4JLogger(final LoggerProvider logger, final String name) {
+ this.logger = logger;
this.eventLogger = "EventLogger".equals(name);
this.name = name;
this.converter = createConverter();
@@ -55,453 +55,324 @@ public class SLF4JLogger implements Loca
@Override
public void trace(final String format) {
- if (logger.isTraceEnabled()) {
- logger.log(null, FQCN, Level.TRACE, new SimpleMessage(format), null);
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, null, format);
}
@Override
public void trace(final String format, final Object o) {
- if (logger.isTraceEnabled()) {
- logger.log(null, FQCN, Level.TRACE, new ParameterizedMessage(format, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, null, format, o);
}
@Override
public void trace(final String format, final Object arg1, final Object arg2) {
- if (logger.isTraceEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, arg1, arg2);
- logger.log(null, FQCN, Level.TRACE, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, null, format, arg1, arg2);
}
@Override
public void trace(final String format, final Object... args) {
- if (logger.isTraceEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, args);
- logger.log(null, FQCN, Level.TRACE, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, null, format, args);
}
@Override
public void trace(final String format, final Throwable t) {
- if (logger.isTraceEnabled()) {
- logger.log(null, FQCN, Level.TRACE, new SimpleMessage(format), t);
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, null, format, t);
}
@Override
public boolean isTraceEnabled() {
- return logger.isTraceEnabled();
+ return logger.isEnabled(Level.TRACE, null, null);
}
@Override
public boolean isTraceEnabled(final Marker marker) {
- return logger.isTraceEnabled((org.apache.logging.log4j.Marker) marker);
+ return logger.isEnabled(Level.TRACE, (org.apache.logging.log4j.Marker) marker, null);
}
@Override
public void trace(final Marker marker, final String s) {
- if (isTraceEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.TRACE, new SimpleMessage(s), null);
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, (org.apache.logging.log4j.Marker) marker, s);
}
@Override
public void trace(final Marker marker, final String s, final Object o) {
- if (isTraceEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.TRACE,
- new ParameterizedMessage(s, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, (org.apache.logging.log4j.Marker) marker, s, o);
}
@Override
public void trace(final Marker marker, final String s, final Object o, final Object o1) {
- if (isTraceEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, o, o1);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.TRACE, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, (org.apache.logging.log4j.Marker) marker, s, o, o1);
}
@Override
public void trace(final Marker marker, final String s, final Object... objects) {
- if (isTraceEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, objects);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.TRACE, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, (org.apache.logging.log4j.Marker) marker, s, objects);
}
@Override
public void trace(final Marker marker, final String s, final Throwable throwable) {
- if (isTraceEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.TRACE,
- new SimpleMessage(s), throwable);
- }
+ logger.logIfEnabled(FQCN, Level.TRACE, (org.apache.logging.log4j.Marker) marker, s, throwable);
}
@Override
public void debug(final String format) {
- if (logger.isDebugEnabled()) {
- logger.log(null, FQCN, Level.DEBUG, new SimpleMessage(format), null);
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, null, format);
}
@Override
public void debug(final String format, final Object o) {
- if (logger.isDebugEnabled()) {
- logger.log(null, FQCN, Level.DEBUG, new ParameterizedMessage(format, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, null, format, o);
}
@Override
public void debug(final String format, final Object arg1, final Object arg2) {
- if (logger.isDebugEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, arg1, arg2);
- logger.log(null, FQCN, Level.DEBUG, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, null, format, arg1, arg2);
}
@Override
public void debug(final String format, final Object... args) {
- if (logger.isDebugEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, args);
- logger.log(null, FQCN, Level.DEBUG, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, null, format, args);
}
@Override
public void debug(final String format, final Throwable t) {
- if (logger.isDebugEnabled()) {
- logger.log(null, FQCN, Level.DEBUG, new SimpleMessage(format), t);
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, null, format, t);
}
@Override
public boolean isDebugEnabled() {
- return logger.isDebugEnabled();
+ return logger.isEnabled(Level.DEBUG, null, null);
}
@Override
public boolean isDebugEnabled(final Marker marker) {
- return logger.isDebugEnabled((org.apache.logging.log4j.Marker) marker);
+ return logger.isEnabled(Level.DEBUG, (org.apache.logging.log4j.Marker) marker, null);
}
@Override
public void debug(final Marker marker, final String s) {
- if (isDebugEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.DEBUG, new SimpleMessage(s), null);
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, (org.apache.logging.log4j.Marker) marker, s);
}
@Override
public void debug(final Marker marker, final String s, final Object o) {
- if (isDebugEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.DEBUG,
- new ParameterizedMessage(s, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, (org.apache.logging.log4j.Marker) marker, s, o);
}
@Override
public void debug(final Marker marker, final String s, final Object o, final Object o1) {
- if (isDebugEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, o, o1);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.DEBUG, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, (org.apache.logging.log4j.Marker) marker, s, o, o1);
}
@Override
public void debug(final Marker marker, final String s, final Object... objects) {
- if (isDebugEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, objects);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.DEBUG, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, (org.apache.logging.log4j.Marker) marker, s, objects);
}
@Override
public void debug(final Marker marker, final String s, final Throwable throwable) {
- if (isDebugEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.DEBUG,
- new SimpleMessage(s), throwable);
- }
+ logger.logIfEnabled(FQCN, Level.DEBUG, (org.apache.logging.log4j.Marker) marker, s, throwable);
}
@Override
public void info(final String format) {
- if (logger.isInfoEnabled()) {
- logger.log(null, FQCN, Level.INFO, new SimpleMessage(format), null);
- }
+ logger.logIfEnabled(FQCN, Level.INFO, null, format);
}
@Override
public void info(final String format, final Object o) {
- if (logger.isInfoEnabled()) {
- logger.log(null, FQCN, Level.INFO, new ParameterizedMessage(format, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.INFO, null, format, o);
}
@Override
public void info(final String format, final Object arg1, final Object arg2) {
- if (logger.isInfoEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, arg1, arg2);
- logger.log(null, FQCN, Level.INFO, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.INFO, null, format, arg1, arg2);
}
@Override
public void info(final String format, final Object... args) {
- if (logger.isInfoEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, args);
- logger.log(null, FQCN, Level.INFO, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.INFO, null, format, args);
}
@Override
public void info(final String format, final Throwable t) {
- if (logger.isInfoEnabled()) {
- logger.log(null, FQCN, Level.INFO, new SimpleMessage(format), t);
- }
+ logger.logIfEnabled(FQCN, Level.INFO, null, format, t);
}
@Override
public boolean isInfoEnabled() {
- return logger.isInfoEnabled();
+ return logger.isEnabled(Level.INFO, null, null);
}
@Override
public boolean isInfoEnabled(final Marker marker) {
- return logger.isInfoEnabled((org.apache.logging.log4j.Marker) marker);
+ return logger.isEnabled(Level.INFO, (org.apache.logging.log4j.Marker) marker, null);
}
@Override
public void info(final Marker marker, final String s) {
- if (isInfoEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.INFO, new SimpleMessage(s), null);
- }
+ logger.logIfEnabled(FQCN, Level.INFO, (org.apache.logging.log4j.Marker) marker, s);
}
@Override
public void info(final Marker marker, final String s, final Object o) {
- if (isInfoEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.INFO,
- new ParameterizedMessage(s, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.INFO, (org.apache.logging.log4j.Marker) marker, s, o);
}
@Override
public void info(final Marker marker, final String s, final Object o, final Object o1) {
- if (isInfoEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, o, o1);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.INFO, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.INFO, (org.apache.logging.log4j.Marker) marker, s, o, o1);
}
@Override
public void info(final Marker marker, final String s, final Object... objects) {
- if (isInfoEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, objects);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.INFO, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.INFO, (org.apache.logging.log4j.Marker) marker, s, objects);
}
@Override
public void info(final Marker marker, final String s, final Throwable throwable) {
- if (isInfoEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.INFO,
- new SimpleMessage(s), throwable);
- }
+ logger.logIfEnabled(FQCN, Level.INFO, (org.apache.logging.log4j.Marker) marker, s, throwable);
}
@Override
public void warn(final String format) {
- if (logger.isWarnEnabled()) {
- logger.log(null, FQCN, Level.WARN, new SimpleMessage(format), null);
- }
+ logger.logIfEnabled(FQCN, Level.WARN, null, format);
}
@Override
public void warn(final String format, final Object o) {
- if (logger.isWarnEnabled()) {
- logger.log(null, FQCN, Level.WARN, new ParameterizedMessage(format, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.WARN, null, format, o);
}
@Override
public void warn(final String format, final Object arg1, final Object arg2) {
- if (logger.isWarnEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, arg1, arg2);
- logger.log(null, FQCN, Level.WARN, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.WARN, null, format, arg1, arg2);
}
@Override
public void warn(final String format, final Object... args) {
- if (logger.isWarnEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, args);
- logger.log(null, FQCN, Level.WARN, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.WARN, null, format, args);
}
@Override
public void warn(final String format, final Throwable t) {
- if (logger.isWarnEnabled()) {
- logger.log(null, FQCN, Level.WARN, new SimpleMessage(format), t);
- }
+ logger.logIfEnabled(FQCN, Level.WARN, null, format, t);
}
@Override
public boolean isWarnEnabled() {
- return logger.isWarnEnabled();
+ return logger.isEnabled(Level.WARN, null, null);
}
@Override
public boolean isWarnEnabled(final Marker marker) {
- return logger.isWarnEnabled((org.apache.logging.log4j.Marker) marker);
+ return logger.isEnabled(Level.WARN, (org.apache.logging.log4j.Marker) marker, null);
}
@Override
public void warn(final Marker marker, final String s) {
- if (isWarnEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.WARN, new SimpleMessage(s), null);
- }
+ logger.logIfEnabled(FQCN, Level.WARN, (org.apache.logging.log4j.Marker) marker, s);
}
@Override
public void warn(final Marker marker, final String s, final Object o) {
- if (isWarnEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.WARN,
- new ParameterizedMessage(s, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.WARN, (org.apache.logging.log4j.Marker) marker, s, o);
}
@Override
public void warn(final Marker marker, final String s, final Object o, final Object o1) {
- if (isWarnEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, o, o1);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.WARN, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.WARN, (org.apache.logging.log4j.Marker) marker, s, o, o1);
}
@Override
public void warn(final Marker marker, final String s, final Object... objects) {
- if (isWarnEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, objects);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.WARN, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.WARN, (org.apache.logging.log4j.Marker) marker, s, objects);
}
@Override
public void warn(final Marker marker, final String s, final Throwable throwable) {
- if (isWarnEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.WARN,
- new SimpleMessage(s), throwable);
- }
+ logger.logIfEnabled(FQCN, Level.WARN, (org.apache.logging.log4j.Marker) marker, s, throwable);
}
@Override
public void error(final String format) {
- if (logger.isErrorEnabled()) {
- logger.log(null, FQCN, Level.ERROR, new SimpleMessage(format), null);
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, null, format);
}
@Override
public void error(final String format, final Object o) {
- if (logger.isErrorEnabled()) {
- logger.log(null, FQCN, Level.ERROR, new ParameterizedMessage(format, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, null, format, o);
}
@Override
public void error(final String format, final Object arg1, final Object arg2) {
- if (logger.isErrorEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, arg1, arg2);
- logger.log(null, FQCN, Level.ERROR, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, null, format, arg1, arg2);
}
@Override
public void error(final String format, final Object... args) {
- if (logger.isErrorEnabled()) {
- final ParameterizedMessage msg = new ParameterizedMessage(format, args);
- logger.log(null, FQCN, Level.ERROR, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, null, format, args);
}
@Override
public void error(final String format, final Throwable t) {
- if (logger.isErrorEnabled()) {
- logger.log(null, FQCN, Level.ERROR, new SimpleMessage(format), t);
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, null, format, t);
}
@Override
public boolean isErrorEnabled() {
- return logger.isErrorEnabled();
+ return logger.isEnabled(Level.ERROR, null, null);
}
@Override
public boolean isErrorEnabled(final Marker marker) {
- return logger.isErrorEnabled((org.apache.logging.log4j.Marker) marker);
+ return logger.isEnabled(Level.ERROR, (org.apache.logging.log4j.Marker) marker, null);
}
@Override
public void error(final Marker marker, final String s) {
- if (isErrorEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.ERROR, new SimpleMessage(s), null);
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, (org.apache.logging.log4j.Marker) marker, s);
}
@Override
public void error(final Marker marker, final String s, final Object o) {
- if (isErrorEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.ERROR,
- new ParameterizedMessage(s, o), null);
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, (org.apache.logging.log4j.Marker) marker, s, o);
}
@Override
public void error(final Marker marker, final String s, final Object o, final Object o1) {
- if (isErrorEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, o, o1);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.ERROR, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, (org.apache.logging.log4j.Marker) marker, s, o, o1);
}
@Override
public void error(final Marker marker, final String s, final Object... objects) {
- if (isErrorEnabled(marker)) {
- final ParameterizedMessage msg = new ParameterizedMessage(s, objects);
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.ERROR, msg, msg.getThrowable());
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, (org.apache.logging.log4j.Marker) marker, s, objects);
}
@Override
public void error(final Marker marker, final String s, final Throwable throwable) {
- if (isErrorEnabled(marker)) {
- logger.log((org.apache.logging.log4j.Marker) marker, FQCN, Level.ERROR,
- new SimpleMessage(s), throwable);
- }
+ logger.logIfEnabled(FQCN, Level.ERROR, (org.apache.logging.log4j.Marker) marker, s, throwable);
}
-
@Override
- public void log(final Marker marker, final String fqcn, final int i, final String s1, final Object[] objects,
- Throwable throwable) {
- if (!logger.isEnabled(getLevel(i), (org.apache.logging.log4j.Marker) marker, s1)) {
+ public void log(final Marker marker, final String fqcn, final int level, final String message, final Object[] params, Throwable throwable) {
+ final Level log4jLevel = getLevel(level);
+ final org.apache.logging.log4j.Marker log4jMarker = (org.apache.logging.log4j.Marker) marker;
+
+ if (!logger.isEnabled(log4jLevel, log4jMarker, message, params)) {
return;
}
Message msg;
if (eventLogger && marker != null && marker.contains(EVENT_MARKER) && converter != null) {
- msg = converter.convertEvent(s1, objects, throwable);
- } else if (objects == null) {
- msg = new SimpleMessage(s1);
+ msg = converter.convertEvent(message, params, throwable);
+ } else if (params == null) {
+ msg = new SimpleMessage(message);
} else {
- msg = new ParameterizedMessage(s1, objects, throwable);
+ msg = new ParameterizedMessage(message, params, throwable);
if (throwable != null) {
throwable = msg.getThrowable();
}
}
- logger.log((org.apache.logging.log4j.Marker) marker, fqcn, getLevel(i), msg, throwable);
+ logger.logMessage(fqcn, log4jLevel, log4jMarker, msg, throwable);
}
@Override
@@ -510,23 +381,21 @@ public class SLF4JLogger implements Loca
}
/**
- * Always treat de-serialization as a full-blown constructor, by
- * validating the final state of the de-serialized object.
+ * Always treat de-serialization as a full-blown constructor, by validating the final state of
+ * the de-serialized object.
*/
private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
- //always perform the default de-serialization first
+ // always perform the default de-serialization first
aInputStream.defaultReadObject();
- logger = new AbstractLoggerWrapper((AbstractLogger) LogManager.getLogger(name), name, null);
+ logger = LogManager.getContext().getLogger(name);
converter = createConverter();
}
/**
- * This is the default implementation of writeObject.
- * Customise if necessary.
+ * This is the default implementation of writeObject. Customise if necessary.
*/
- private void writeObject(ObjectOutputStream aOutputStream
- ) throws IOException {
- //perform the default serialization for all non-transient, non-static fields
+ private void writeObject(ObjectOutputStream aOutputStream) throws IOException {
+ // perform the default serialization for all non-transient, non-static fields
aOutputStream.defaultWriteObject();
}
@@ -541,16 +410,16 @@ public class SLF4JLogger implements Loca
private Level getLevel(final int i) {
switch (i) {
- case TRACE_INT :
- return Level.TRACE;
- case DEBUG_INT :
- return Level.DEBUG;
- case INFO_INT :
- return Level.INFO;
- case WARN_INT :
- return Level.WARN;
- case ERROR_INT :
- return Level.ERROR;
+ case TRACE_INT:
+ return Level.TRACE;
+ case DEBUG_INT:
+ return Level.DEBUG;
+ case INFO_INT:
+ return Level.INFO;
+ case WARN_INT:
+ return Level.WARN;
+ case ERROR_INT:
+ return Level.ERROR;
}
return Level.ERROR;
}
Modified: logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/Log4jTaglibLogger.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/Log4jTaglibLogger.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/Log4jTaglibLogger.java (original)
+++ logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/Log4jTaglibLogger.java Sun Mar 23 04:50:14 2014
@@ -18,8 +18,8 @@ package org.apache.logging.log4j.taglib;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.message.MessageFactory;
-import org.apache.logging.log4j.spi.AbstractLogger;
import org.apache.logging.log4j.spi.AbstractLoggerWrapper;
+import org.apache.logging.log4j.spi.LoggerProvider;
/**
* The bridge between the tag library and the Log4j API ensures that the source information for log events is
@@ -30,7 +30,7 @@ import org.apache.logging.log4j.spi.Abst
class Log4jTaglibLogger extends AbstractLoggerWrapper {
private static final long serialVersionUID = 1L;
- public Log4jTaglibLogger(final AbstractLogger logger, final String name, final MessageFactory messageFactory) {
+ public Log4jTaglibLogger(final LoggerProvider logger, final String name, final MessageFactory messageFactory) {
super(logger, name, messageFactory);
}
Modified: logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/Log4jTaglibLoggerContext.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/Log4jTaglibLoggerContext.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/Log4jTaglibLoggerContext.java (original)
+++ logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/Log4jTaglibLoggerContext.java Sun Mar 23 04:50:14 2014
@@ -20,11 +20,10 @@ import java.util.WeakHashMap;
import javax.servlet.ServletContext;
import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.LoggingException;
import org.apache.logging.log4j.message.MessageFactory;
import org.apache.logging.log4j.spi.AbstractLogger;
import org.apache.logging.log4j.spi.LoggerContext;
+import org.apache.logging.log4j.spi.LoggerProvider;
/**
* This bridge between the tag library and the Log4j API ensures that instances of {@link Log4jTaglibLogger} are
@@ -68,15 +67,11 @@ final class Log4jTaglibLoggerContext imp
synchronized (this.loggers) {
logger = this.loggers.get(name);
if (logger == null) {
- final Logger original = factory == null ?
- LogManager.getLogger(name) : LogManager.getLogger(name, factory);
- if (!(original instanceof AbstractLogger)) {
- throw new LoggingException(
- "Log4j Tag Library requires base logging system to extend Log4j AbstractLogger."
- );
- }
+ final LoggerContext context = LogManager.getContext(false);
+ final LoggerProvider original = factory == null ?
+ context.getLogger(name) : context.getLogger(name, factory);
// wrap a logger from an underlying implementation
- logger = new Log4jTaglibLogger((AbstractLogger) original, name, original.getMessageFactory());
+ logger = new Log4jTaglibLogger(original, name, original.getMessageFactory());
this.loggers.put(name, logger);
}
}
Modified: logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/LoggingMessageTagSupport.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/LoggingMessageTagSupport.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/LoggingMessageTagSupport.java (original)
+++ logging/log4j/log4j2/trunk/log4j-taglib/src/main/java/org/apache/logging/log4j/taglib/LoggingMessageTagSupport.java Sun Mar 23 04:50:14 2014
@@ -99,7 +99,7 @@ abstract class LoggingMessageTagSupport
final Object message = this.getMessage();
final Throwable exception = this.getException();
if (message instanceof Message) {
- logger.log(marker, FQCN, level, (Message) message, exception);
+ logger.logIfEnabled(FQCN, level, marker, (Message) message, exception);
} else if (message instanceof String) {
Message data;
if (this.attributes.size() > 0) {
@@ -107,9 +107,9 @@ abstract class LoggingMessageTagSupport
} else {
data = logger.getMessageFactory().newMessage((String) message);
}
- logger.log(marker, FQCN, level, data, exception);
+ logger.logIfEnabled(FQCN, level, marker, data, exception);
} else {
- logger.log(marker, FQCN, level, logger.getMessageFactory().newMessage(message), exception);
+ logger.logIfEnabled(FQCN, level, marker, logger.getMessageFactory().newMessage(message), exception);
}
}
Modified: logging/log4j/log4j2/trunk/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java (original)
+++ logging/log4j/log4j2/trunk/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java Sun Mar 23 04:50:14 2014
@@ -45,35 +45,34 @@ public class SLF4JLogger extends Abstrac
this.logger = logger;
this.locationAwareLogger = logger instanceof LocationAwareLogger ? (LocationAwareLogger) logger : null;
}
-
+
@Override
- public void log(final Marker marker, final String fqcn, final Level level, final Message data,
- final Throwable t) {
+ public void logMessage(String fqcn, Level level, Marker marker, Message message, Throwable t) {
if (locationAwareLogger != null) {
- if (data instanceof LoggerNameAwareMessage) {
- ((LoggerNameAwareMessage) data).setLoggerName(getName());
+ if (message instanceof LoggerNameAwareMessage) {
+ ((LoggerNameAwareMessage) message).setLoggerName(getName());
}
- locationAwareLogger.log(getMarker(marker), fqcn, convertLevel(level), data.getFormattedMessage(),
- data.getParameters(), t);
+ locationAwareLogger.log(getMarker(marker), fqcn, convertLevel(level), message.getFormattedMessage(),
+ message.getParameters(), t);
} else {
switch (level.getStandardLevel()) {
case DEBUG :
- logger.debug(getMarker(marker), data.getFormattedMessage(), data.getParameters(), t);
+ logger.debug(fqcn, getMarker(marker), message.getFormattedMessage(), message.getParameters(), t);
break;
case TRACE :
- logger.trace(getMarker(marker), data.getFormattedMessage(), data.getParameters(), t);
+ logger.trace(fqcn, getMarker(marker), message.getFormattedMessage(), message.getParameters(), t);
break;
case INFO :
- logger.info(getMarker(marker), data.getFormattedMessage(), data.getParameters(), t);
+ logger.info(fqcn, getMarker(marker), message.getFormattedMessage(), message.getParameters(), t);
break;
case WARN :
- logger.warn(getMarker(marker), data.getFormattedMessage(), data.getParameters(), t);
+ logger.warn(fqcn, getMarker(marker), message.getFormattedMessage(), message.getParameters(), t);
break;
case ERROR :
- logger.error(getMarker(marker), data.getFormattedMessage(), data.getParameters(), t);
+ logger.error(fqcn, getMarker(marker), message.getFormattedMessage(), message.getParameters(), t);
break;
default :
- logger.error(getMarker(marker), data.getFormattedMessage(), data.getParameters(), t);
+ logger.error(fqcn, getMarker(marker), message.getFormattedMessage(), message.getParameters(), t);
break;
}
}
@@ -110,27 +109,27 @@ public class SLF4JLogger extends Abstrac
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final String data) {
+ public boolean isEnabled(final Level level, final Marker marker, final String data) {
return isEnabledFor(level, marker);
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final String data, final Throwable t) {
+ public boolean isEnabled(final Level level, final Marker marker, final String data, final Throwable t) {
return isEnabledFor(level, marker);
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final String data, final Object... p1) {
+ public boolean isEnabled(final Level level, final Marker marker, final String data, final Object... p1) {
return isEnabledFor(level, marker);
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final Object data, final Throwable t) {
+ public boolean isEnabled(final Level level, final Marker marker, final Object data, final Throwable t) {
return isEnabledFor(level, marker);
}
@Override
- protected boolean isEnabled(final Level level, final Marker marker, final Message data, final Throwable t) {
+ public boolean isEnabled(final Level level, final Marker marker, final Message data, final Throwable t) {
return isEnabledFor(level, marker);
}
Modified: logging/log4j/log4j2/trunk/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLoggerContext.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLoggerContext.java?rev=1580445&r1=1580444&r2=1580445&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLoggerContext.java (original)
+++ logging/log4j/log4j2/trunk/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLoggerContext.java Sun Mar 23 04:50:14 2014
@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentMa
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.message.MessageFactory;
import org.apache.logging.log4j.spi.LoggerContext;
+import org.apache.logging.log4j.spi.LoggerProvider;
import org.slf4j.LoggerFactory;
/**
@@ -36,7 +37,7 @@ public class SLF4JLoggerContext implemen
}
@Override
- public Logger getLogger(final String name) {
+ public LoggerProvider getLogger(final String name) {
if (!loggers.containsKey(name)) {
loggers.putIfAbsent(name, new SLF4JLogger(name, LoggerFactory.getLogger(name)));
}
@@ -44,7 +45,7 @@ public class SLF4JLoggerContext implemen
}
@Override
- public Logger getLogger(final String name, final MessageFactory messageFactory) {
+ public LoggerProvider getLogger(final String name, final MessageFactory messageFactory) {
if (!loggers.containsKey(name)) {
loggers.putIfAbsent(name, new SLF4JLogger(name, messageFactory, LoggerFactory.getLogger(name)));
}