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 2015/08/18 18:37:00 UTC
logging-log4j2 git commit: break up method into smaller methods to
clarify intention and facilitate JVM inlining
Repository: logging-log4j2
Updated Branches:
refs/heads/master 36556a0a3 -> 7257b8839
break up method into smaller methods to clarify intention and facilitate
JVM inlining
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/7257b883
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/7257b883
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/7257b883
Branch: refs/heads/master
Commit: 7257b8839ee5adc9f73aa7cdcd1fa5835cb40670
Parents: 36556a0
Author: rpopma <rp...@apache.org>
Authored: Wed Aug 19 01:37:08 2015 +0900
Committer: rpopma <rp...@apache.org>
Committed: Wed Aug 19 01:37:08 2015 +0900
----------------------------------------------------------------------
.../logging/log4j/core/config/LoggerConfig.java | 53 +++++++++++++-------
1 file changed, 34 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7257b883/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
index 01f8f4a..c155be5 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
@@ -401,31 +401,47 @@ public class LoggerConfig extends AbstractFilterable {
* @param event The log event.
*/
public void log(final LogEvent event) {
-
- counter.incrementAndGet();
+ beforeLogEvent();
try {
- if (isFiltered(event)) {
- return;
+ if (!isFiltered(event)) {
+ processLogEvent(event);
}
+ } finally {
+ afterLogEvent();
+ }
+ }
- event.setIncludeLocation(isIncludeLocation());
+ private void beforeLogEvent() {
+ counter.incrementAndGet();
+ }
- callAppenders(event);
+ private void afterLogEvent() {
+ if (counter.decrementAndGet() == 0) {
+ signalCompletionIfShutdown();
+ }
+ }
- if (additive && parent != null) {
- parent.log(event);
+ private void signalCompletionIfShutdown() {
+ final Lock lock = shutdownLock;
+ lock.lock();
+ try {
+ if (shutdown.get()) {
+ noLogEvents.signalAll();
}
} finally {
- if (counter.decrementAndGet() == 0) {
- shutdownLock.lock();
- try {
- if (shutdown.get()) {
- noLogEvents.signalAll();
- }
- } finally {
- shutdownLock.unlock();
- }
- }
+ lock.unlock();
+ }
+ }
+
+ private void processLogEvent(final LogEvent event) {
+ event.setIncludeLocation(isIncludeLocation());
+ callAppenders(event);
+ logParent(event);
+ }
+
+ private void logParent(final LogEvent event) {
+ if (additive && parent != null) {
+ parent.log(event);
}
}
@@ -435,7 +451,6 @@ public class LoggerConfig extends AbstractFilterable {
}
}
-
@Override
public String toString() {
return Strings.isEmpty(name) ? "root" : name;