You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/09/10 08:44:08 UTC
[5/6] git commit: Implement more JUL Logger methods.
Implement more JUL Logger methods.
- Prevents need to create LogRecord objects for every Message.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/6944f949
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/6944f949
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/6944f949
Branch: refs/heads/master
Commit: 6944f949a0eadd0792c3d53ec8586549bc5185c8
Parents: 2d1c0f8
Author: Matt Sicker <ma...@apache.org>
Authored: Wed Sep 10 01:43:46 2014 -0500
Committer: Matt Sicker <ma...@apache.org>
Committed: Wed Sep 10 01:43:46 2014 -0500
----------------------------------------------------------------------
.../org/apache/logging/log4j/jul/ApiLogger.java | 165 +++++++++++++++----
1 file changed, 135 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6944f949/log4j-jul/src/main/java/org/apache/logging/log4j/jul/ApiLogger.java
----------------------------------------------------------------------
diff --git a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/ApiLogger.java b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/ApiLogger.java
index fd8da21..e213076 100644
--- a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/ApiLogger.java
+++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/ApiLogger.java
@@ -22,7 +22,6 @@ import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;
-import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.spi.ExtendedLogger;
@@ -42,33 +41,13 @@ import org.apache.logging.log4j.spi.ExtendedLogger;
*/
public class ApiLogger extends Logger {
- private static final String FQCN = java.util.logging.Logger.class.getName();
-
- private static final String PREFIX = "log4j.jul.";
-
- /**
- * The {@link org.apache.logging.log4j.ThreadContext} key where the value of {@link java.util.logging.LogRecord#getThreadID()} will be stored.
- */
- public static final String THREAD_ID = PREFIX + "threadID";
-
- /**
- * The {@link org.apache.logging.log4j.ThreadContext} key where the value of {@link java.util.logging.LogRecord#getSequenceNumber()} will be stored.
- */
- public static final String SEQUENCE_NUMBER = PREFIX + "sequenceNumber";
-
- /**
- * The {@link org.apache.logging.log4j.ThreadContext} key where the name of the {@link java.util.logging.Level} will be stored. This is particularly useful
- * for custom Level implementations as well as for obtaining the exact Level that was used rather than the
- * equivalent Log4j {@link org.apache.logging.log4j.Level}.
- */
- public static final String LEVEL = PREFIX + "level";
-
- private final ExtendedLogger logger;
+ private final WrappedLogger logger;
+ private static final String FQCN = ApiLogger.class.getName();
ApiLogger(final ExtendedLogger logger) {
super(logger.getName(), null);
super.setLevel(LevelTranslator.toJavaLevel(logger.getLevel()));
- this.logger = logger;
+ this.logger = new WrappedLogger(logger);
}
@Override
@@ -76,16 +55,10 @@ public class ApiLogger extends Logger {
if (isFiltered(record)) {
return;
}
- ThreadContext.put(THREAD_ID, Integer.toString(record.getThreadID()));
- ThreadContext.put(SEQUENCE_NUMBER, Long.toString(record.getSequenceNumber()));
- ThreadContext.put(LEVEL, record.getLevel().getName());
final org.apache.logging.log4j.Level level = LevelTranslator.toLevel(record.getLevel());
final Message message = logger.getMessageFactory().newMessage(record.getMessage(), record.getParameters());
final Throwable thrown = record.getThrown();
logger.logIfEnabled(FQCN, level, null, message, thrown);
- ThreadContext.remove(THREAD_ID);
- ThreadContext.remove(SEQUENCE_NUMBER);
- ThreadContext.remove(LEVEL);
}
// support for Logger.getFilter()/Logger.setFilter()
@@ -127,4 +100,136 @@ public class ApiLogger extends Logger {
public void setParent(final Logger parent) {
throw new UnsupportedOperationException("Cannot set parent logger");
}
+
+ @Override
+ public void log(final Level level, final String msg) {
+ logger.log(LevelTranslator.toLevel(level), msg);
+ }
+
+ @Override
+ public void log(final Level level, final String msg, final Object param1) {
+ logger.log(LevelTranslator.toLevel(level), msg, param1);
+ }
+
+ @Override
+ public void log(final Level level, final String msg, final Object[] params) {
+ logger.log(LevelTranslator.toLevel(level), msg, params);
+ }
+
+ @Override
+ public void log(final Level level, final String msg, final Throwable thrown) {
+ logger.log(LevelTranslator.toLevel(level), msg, thrown);
+ }
+
+ @Override
+ public void logp(final Level level, final String sourceClass, final String sourceMethod, final String msg) {
+ log(level, msg);
+ }
+
+ @Override
+ public void logp(final Level level, final String sourceClass, final String sourceMethod, final String msg,
+ final Object param1) {
+ log(level, msg, param1);
+ }
+
+ @Override
+ public void logp(final Level level, final String sourceClass, final String sourceMethod, final String msg,
+ final Object[] params) {
+ log(level, msg, params);
+ }
+
+ @Override
+ public void logp(final Level level, final String sourceClass, final String sourceMethod, final String msg,
+ final Throwable thrown) {
+ log(level, msg, thrown);
+ }
+
+ @Override
+ public void logrb(final Level level, final String sourceClass, final String sourceMethod, final String bundleName,
+ final String msg) {
+ log(level, msg);
+ }
+
+ @Override
+ public void logrb(final Level level, final String sourceClass, final String sourceMethod, final String bundleName,
+ final String msg, final Object param1) {
+ log(level, msg, param1);
+ }
+
+ @Override
+ public void logrb(final Level level, final String sourceClass, final String sourceMethod, final String bundleName,
+ final String msg, final Object[] params) {
+ log(level, msg, params);
+ }
+
+ @Override
+ public void logrb(final Level level, final String sourceClass, final String sourceMethod, final String bundleName,
+ final String msg, final Throwable thrown) {
+ log(level, msg, thrown);
+ }
+
+ @Override
+ public void entering(final String sourceClass, final String sourceMethod) {
+ logger.entry();
+ }
+
+ @Override
+ public void entering(final String sourceClass, final String sourceMethod, final Object param1) {
+ logger.entry(param1);
+ }
+
+ @Override
+ public void entering(final String sourceClass, final String sourceMethod, final Object[] params) {
+ logger.entry(params);
+ }
+
+ @Override
+ public void exiting(final String sourceClass, final String sourceMethod) {
+ logger.exit();
+ }
+
+ @Override
+ public void exiting(final String sourceClass, final String sourceMethod, final Object result) {
+ logger.exit(result);
+ }
+
+ @Override
+ public void throwing(final String sourceClass, final String sourceMethod, final Throwable thrown) {
+ logger.throwing(thrown);
+ }
+
+ @Override
+ public void severe(final String msg) {
+ logger.logIfEnabled(FQCN, org.apache.logging.log4j.Level.ERROR, null, msg);
+ }
+
+ @Override
+ public void warning(final String msg) {
+ logger.logIfEnabled(FQCN, org.apache.logging.log4j.Level.WARN, null, msg);
+ }
+
+ @Override
+ public void info(final String msg) {
+ logger.logIfEnabled(FQCN, org.apache.logging.log4j.Level.INFO, null, msg);
+ }
+
+ @Override
+ public void config(final String msg) {
+ logger.logIfEnabled(FQCN, LevelTranslator.CONFIG, null, msg);
+ }
+
+ @Override
+ public void fine(final String msg) {
+ logger.logIfEnabled(FQCN, LevelTranslator.FINE, null, msg);
+ }
+
+ @Override
+ public void finer(final String msg) {
+ logger.logIfEnabled(FQCN, LevelTranslator.FINER, null, msg);
+ }
+
+ @Override
+ public void finest(final String msg) {
+ logger.logIfEnabled(FQCN, LevelTranslator.FINEST, null, msg);
+ }
}