Merge remote-tracking branch 'remotes/origin/master' into LOG4J2-1278-gc-free-logger
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/d96a7c22 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/d96a7c22 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/d96a7c22 Branch: refs/heads/LOG4J2-1278-gc-free-logger Commit: d96a7c22ea7562d3e5c62bca8f4bb1e5510333be Parents: 0a06ef2 90079e3 Author: rpopma <[email protected]> Authored: Fri Feb 26 02:20:44 2016 +0900 Committer: rpopma <[email protected]> Committed: Fri Feb 26 02:20:44 2016 +0900 ---------------------------------------------------------------------- .../log4j/message/ParameterFormatter.java | 533 ++++++++++++++++ .../log4j/message/ParameterizedMessage.java | 638 +------------------ .../message/ReusableParameterizedMessage.java | 271 ++++++++ .../ReusableParameterizedMessageFactory.java | 16 +- .../org/apache/logging/log4j/core/Logger.java | 17 + .../async/perftest/CountingNoOpAppender.java | 56 ++ .../resources/perf-CountingNoOpAppender.xml | 12 + 7 files changed, 932 insertions(+), 611 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d96a7c22/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessageFactory.java ---------------------------------------------------------------------- diff --cc log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessageFactory.java index 726c782,b5aaa5f..17b2b04 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessageFactory.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessageFactory.java @@@ -42,17 -42,8 +42,17 @@@ public final class ReusableParameterize super(); } + private ParameterizedMessage get() { - ParameterizedMessage result = threadLocalMessage.get(); ++ ReusableParameterizedMessage result = threadLocalMessage.get(); + if (result == null) { - result = new ParameterizedMessage("", null); - result.setReused(true); ++ result = new ReusableParameterizedMessage(); + threadLocalMessage.set(result); + } + return result; + } ++ /** - * Creates {@link ParameterizedMessage} instances. + * Creates {@link ReusableParameterizedMessage} instances. * * @param message The message pattern. * @param params The message parameters.
