From 2c19bad24dd30bee404da2b98315d82cf510f116 Mon Sep 17 00:00:00 2001 From: kkolinko Date: Sat, 9 Jan 2010 03:59:59 +0000 Subject: [PATCH] Followup for r816252/r891328 Allow to disable buffering in JULI FileHandler The previous implementation did not work as expected because of buffering performed by OutputStreamWriter git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@897380 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/juli/FileHandler.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/java/org/apache/juli/FileHandler.java b/java/org/apache/juli/FileHandler.java index 964722bcc..244348a52 100644 --- a/java/org/apache/juli/FileHandler.java +++ b/java/org/apache/juli/FileHandler.java @@ -145,7 +145,16 @@ public class FileHandler try { PrintWriter writer = this.writer; if (writer!=null) { - writer.write(result); + if (bufferSize > 0) { + writer.write(result); + } else { + synchronized (this) { + // OutputStreamWriter performs buffering inside its StreamEncoder, + // and so to run without a buffer we have to flush explicitly + writer.write(result); + writer.flush(); + } + } } else { reportError("FileHandler is closed or not yet initialized, unable to log ["+result+"]", null, ErrorManager.WRITE_FAILURE); } -- 2.11.0