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 2017/10/15 13:35:08 UTC
logging-log4j2 git commit: LOG4J2-2060 AbstractDatabaseManager should
make a copy of LogEvents before holding references to them: AsyncLogger log
events are mutable
Repository: logging-log4j2
Updated Branches:
refs/heads/master 187e7139a -> 334667c7a
LOG4J2-2060 AbstractDatabaseManager should make a copy of LogEvents before holding references to them: AsyncLogger log events are mutable
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/334667c7
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/334667c7
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/334667c7
Branch: refs/heads/master
Commit: 334667c7acc2955e157572bfa3b8d0272a8f1495
Parents: 187e713
Author: rpopma <rp...@apache.org>
Authored: Sun Oct 15 22:34:53 2017 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Oct 15 22:34:53 2017 +0900
----------------------------------------------------------------------
.../logging/log4j/core/appender/db/AbstractDatabaseManager.java | 2 +-
src/changes/changes.xml | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/334667c7/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java
index c36c4d8..b8b9899 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java
@@ -162,7 +162,7 @@ public abstract class AbstractDatabaseManager extends AbstractManager implements
*/
public final synchronized void write(final LogEvent event) {
if (this.bufferSize > 0) {
- this.buffer.add(event);
+ this.buffer.add(event.toImmutable());
if (this.buffer.size() >= this.bufferSize || event.isEndOfBatch()) {
this.flush();
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/334667c7/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 296cc47..1ea3464 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -56,6 +56,9 @@
<action issue="LOG4J2-2052" dev="rpopma" type="update">
Disable thread name caching by default when running on Java 8u102 or later.
</action>
+ <action issue="LOG4J2-2060" dev="rpopma" type="fix">
+ AbstractDatabaseManager should make a copy of LogEvents before holding references to them: AsyncLogger log events are mutable.
+ </action>
<action issue="LOG4J2-2055" dev="rgoers" type="fix">
If Log4j is used as the Tomcat logging implementation startup might fail if an application also uses Log4j.
</action>