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 2016/06/10 16:28:13 UTC
logging-log4j2 git commit: LOG4J2-1415 Avoid calling toString() on
auto-boxed primitive message parameters
Repository: logging-log4j2
Updated Branches:
refs/heads/master 2e9fdc135 -> e70e31d8a
LOG4J2-1415 Avoid calling toString() on auto-boxed primitive message parameters
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/e70e31d8
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/e70e31d8
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/e70e31d8
Branch: refs/heads/master
Commit: e70e31d8a66c28e07e80342d9c667a5f5b538881
Parents: 2e9fdc1
Author: rpopma <rp...@apache.org>
Authored: Sat Jun 11 01:29:13 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sat Jun 11 01:29:13 2016 +0900
----------------------------------------------------------------------
.../log4j/message/ParameterFormatter.java | 21 ++++++++++++++++++++
src/changes/changes.xml | 3 +++
2 files changed, 24 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e70e31d8/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java
index 0718cc1..4a2bb65 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterFormatter.java
@@ -442,6 +442,27 @@ final class ParameterFormatter {
} else if (o instanceof StringBuilderFormattable) {
((StringBuilderFormattable) o).formatTo(str);
return true;
+ } else if (o instanceof Integer) { // LOG4J2-1415 unbox auto-boxed primitives to avoid calling toString()
+ str.append(((Integer) o).intValue());
+ return true;
+ } else if (o instanceof Long) {
+ str.append(((Long) o).longValue());
+ return true;
+ } else if (o instanceof Double) {
+ str.append(((Double) o).doubleValue());
+ return true;
+ } else if (o instanceof Boolean) {
+ str.append(((Boolean) o).booleanValue());
+ return true;
+ } else if (o instanceof Character) {
+ str.append(((Character) o).charValue());
+ return true;
+ } else if (o instanceof Short) {
+ str.append(((Short) o).shortValue());
+ return true;
+ } else if (o instanceof Float) {
+ str.append(((Float) o).floatValue());
+ return true;
}
return appendDate(o, str);
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e70e31d8/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index a576a91..355f6e6 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
</properties>
<body>
<release version="2.6.2" date="2016-MM-DD" description="GA Release 2.6.2">
+ <action issue="LOG4J2-1415" dev="rpopma" type="add">
+ (GC) ParameterFormatter now avoids calling toString() on auto-boxed primitive message parameters.
+ </action>
<action issue="LOG4J2-1412" dev="rpopma" type="add">
Unbox utility's ringbuffer of StringBuilders is now configurable.
</action>