You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2015/08/18 12:20:53 UTC
logging-log4j2 git commit: Don't look up entries more than once in a
map.
Repository: logging-log4j2
Updated Branches:
refs/heads/master ae9b812c8 -> 1a88e44a9
Don't look up entries more than once in a map.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/1a88e44a
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/1a88e44a
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/1a88e44a
Branch: refs/heads/master
Commit: 1a88e44a9ccaf61b4eff4a8c477d7bfeb3ebebb1
Parents: ae9b812
Author: ggregory <gg...@apache.org>
Authored: Tue Aug 18 03:20:50 2015 -0700
Committer: ggregory <gg...@apache.org>
Committed: Tue Aug 18 03:20:50 2015 -0700
----------------------------------------------------------------------
log4j-api/src/main/java/org/apache/logging/log4j/Level.java | 5 +++--
.../apache/logging/log4j/simple/SimpleLoggerContext.java | 9 ++++-----
.../org/apache/logging/log4j/spi/AbstractLoggerAdapter.java | 5 +++--
.../java/org/apache/logging/log4j/TestLoggerContext.java | 5 +++--
4 files changed, 13 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1a88e44a/log4j-api/src/main/java/org/apache/logging/log4j/Level.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/Level.java b/log4j-api/src/main/java/org/apache/logging/log4j/Level.java
index b20a5ff..a22f39c 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/Level.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/Level.java
@@ -279,8 +279,9 @@ public final class Level implements Comparable<Level>, Serializable {
public static Level valueOf(final String name) {
Objects.requireNonNull(name, "No level name given.");
final String levelName = name.toUpperCase(Locale.ENGLISH);
- if (levels.containsKey(levelName)) {
- return levels.get(levelName);
+ final Level level = levels.get(levelName);
+ if (level != null) {
+ return level;
}
throw new IllegalArgumentException("Unknown level constant [" + levelName + "].");
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1a88e44a/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java b/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java
index 98906c9..34d11cb 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLoggerContext.java
@@ -99,12 +99,11 @@ public class SimpleLoggerContext implements LoggerContext {
@Override
public ExtendedLogger getLogger(final String name, final MessageFactory messageFactory) {
- if (loggers.containsKey(name)) {
- final ExtendedLogger logger = loggers.get(name);
- AbstractLogger.checkMessageFactory(logger, messageFactory);
- return logger;
+ final ExtendedLogger extendedLogger = loggers.get(name);
+ if (extendedLogger != null) {
+ AbstractLogger.checkMessageFactory(extendedLogger, messageFactory);
+ return extendedLogger;
}
-
loggers.putIfAbsent(name, new SimpleLogger(name, defaultLevel, showLogName, showShortName, showDateTime,
showContextMap, dateTimeFormat, messageFactory, props, stream));
return loggers.get(name);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1a88e44a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
index 1ffc5d8..8dc44e1 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
@@ -41,8 +41,9 @@ public abstract class AbstractLoggerAdapter<L> implements LoggerAdapter<L> {
public L getLogger(final String name) {
final LoggerContext context = getContext();
final ConcurrentMap<String, L> loggers = getLoggersInContext(context);
- if (loggers.containsKey(name)) {
- return loggers.get(name);
+ final L logger = loggers.get(name);
+ if (logger != null) {
+ return logger;
}
loggers.putIfAbsent(name, newLogger(name, context));
return loggers.get(name);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1a88e44a/log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java b/log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java
index d0b89dd..5aac379 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/TestLoggerContext.java
@@ -31,8 +31,9 @@ public class TestLoggerContext implements LoggerContext {
@Override
public ExtendedLogger getLogger(final String name) {
- if (map.containsKey(name)) {
- return map.get(name);
+ final ExtendedLogger extendedLogger = map.get(name);
+ if (extendedLogger != null) {
+ return extendedLogger;
}
final ExtendedLogger logger = new TestLogger(name);
map.put(name, logger);