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 2016/05/29 18:46:19 UTC
logging-log4j2 git commit: [LOG4J2-1385] (GC) CSV layouts should not
create a new CSVPrinter for each log event.
Repository: logging-log4j2
Updated Branches:
refs/heads/master 1ff244f37 -> 4471c511f
[LOG4J2-1385] (GC) CSV layouts should not create a new CSVPrinter for
each log event.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4471c511
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4471c511
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4471c511
Branch: refs/heads/master
Commit: 4471c511f1280fe9cd2010ddf71e4614f80c5d97
Parents: 1ff244f
Author: ggregory <gg...@apache.org>
Authored: Sun May 29 11:46:13 2016 -0700
Committer: ggregory <gg...@apache.org>
Committed: Sun May 29 11:46:13 2016 -0700
----------------------------------------------------------------------
.../log4j/core/layout/CsvLogEventLayout.java | 35 ++++++++++----------
.../log4j/core/layout/CsvParameterLayout.java | 6 ++--
src/changes/changes.xml | 3 ++
3 files changed, 23 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4471c511/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvLogEventLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvLogEventLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvLogEventLayout.java
index 12e0f3d..5077987 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvLogEventLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvLogEventLayout.java
@@ -80,26 +80,27 @@ public class CsvLogEventLayout extends AbstractCsvLayout {
final StringBuilder buffer = getStringBuilder();
// Revisit when 1.3 is out so that we do not need to create a new
// printer for each event.
- try (final CSVPrinter printer = new CSVPrinter(buffer, getFormat())) {
- printer.print(event.getNanoTime());
- printer.print(event.getTimeMillis());
- printer.print(event.getLevel());
- printer.print(event.getThreadId());
- printer.print(event.getThreadName());
- printer.print(event.getThreadPriority());
- printer.print(event.getMessage().getFormattedMessage());
- printer.print(event.getLoggerFqcn());
- printer.print(event.getLoggerName());
- printer.print(event.getMarker());
- printer.print(event.getThrownProxy());
- printer.print(event.getSource());
- printer.print(event.getContextMap());
- printer.print(event.getContextStack());
- printer.println();
+ final CSVFormat format = getFormat();
+ try {
+ format.print(event.getNanoTime(), buffer, true);
+ format.print(event.getTimeMillis(), buffer, false);
+ format.print(event.getLevel(), buffer, false);
+ format.print(event.getThreadId(), buffer, false);
+ format.print(event.getThreadName(), buffer, false);
+ format.print(event.getThreadPriority(), buffer, false);
+ format.print(event.getMessage().getFormattedMessage(), buffer, false);
+ format.print(event.getLoggerFqcn(), buffer, false);
+ format.print(event.getLoggerName(), buffer, false);
+ format.print(event.getMarker(), buffer, false);
+ format.print(event.getThrownProxy(), buffer, false);
+ format.print(event.getSource(), buffer, false);
+ format.print(event.getContextMap(), buffer, false);
+ format.print(event.getContextStack(), buffer, false);
+ format.println(buffer);
return buffer.toString();
} catch (final IOException e) {
StatusLogger.getLogger().error(event.toString(), e);
- return getFormat().getCommentMarker() + " " + e;
+ return format.getCommentMarker() + " " + e;
}
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4471c511/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvParameterLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvParameterLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvParameterLayout.java
index dcae328..3ddc172 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvParameterLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/CsvParameterLayout.java
@@ -89,10 +89,8 @@ public class CsvParameterLayout extends AbstractCsvLayout {
final Message message = event.getMessage();
final Object[] parameters = message.getParameters();
final StringBuilder buffer = getStringBuilder();
- // Revisit when 1.3 is out so that we do not need to create a new
- // printer for each event.
- try (final CSVPrinter printer = new CSVPrinter(buffer, getFormat())) {
- printer.printRecord(parameters);
+ try {
+ getFormat().printRecord(buffer, parameters);
return buffer.toString();
} catch (final IOException e) {
StatusLogger.getLogger().error(message, e);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4471c511/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 4c5268c..1724b0d 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
</properties>
<body>
<release version="2.6.1" date="2016-MM-DD" description="GA Release 2.6.1">
+ <action issue="LOG4J2-1385" dev="ggregory" type="update">
+ (GC) CSV layouts should not create a new CSVPrinter for each log event.
+ </action>
<action issue="LOG4J2-1398" dev="ggregory" type="update">
Update liquibase-core from 3.4.2 to 3.5.1.
</action>