-1, I would propose this one to be

writer.write(result);
if (bufferSize < 0)
    flush();


Here is why

1. No synchronized(this) - not sure why we think its needed
2. It allows a setting of bufferSize==0 -> use system default
3. bufferSize<0 do a flush of the writer

best
Filip


On 01/13/2010 06:28 AM, j...@apache.org wrote:
Author: jim
Date: Wed Jan 13 13:28:54 2010
New Revision: 898745

URL: http://svn.apache.org/viewvc?rev=898745&view=rev
Log:
Merge r897380, r897381 from trunk:

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

Update documentation
Submitted by: kkolinko
Reviewed/backported by: jim

Modified:
     tomcat/tc6.0.x/trunk/STATUS.txt
     tomcat/tc6.0.x/trunk/java/org/apache/juli/FileHandler.java
     tomcat/tc6.0.x/trunk/webapps/docs/logging.xml

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=898745&r1=898744&r2=898745&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Jan 13 13:28:54 2010
@@ -28,13 +28,6 @@
  PATCHES ACCEPTED TO BACKPORT:
    [ start all new proposals below, under PATCHES PROPOSED. ]

-* Allow to disable buffering in JULI FileHandler
-  It is followup to r891328,
-  which failed to implement this fix properly.
-  http://svn.apache.org/viewvc?rev=897380&view=rev  (fix)
-  http://svn.apache.org/viewvc?rev=897381&view=rev  (Documentation)
-  +1: kkolinko, markt, rjung, jim
-  -1:

  PATCHES PROPOSED TO BACKPORT:
    [ New proposals should be added at the end of the list ]

Modified: tomcat/tc6.0.x/trunk/java/org/apache/juli/FileHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/juli/FileHandler.java?rev=898745&r1=898744&r2=898745&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/juli/FileHandler.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/juli/FileHandler.java Wed Jan 13 
13:28:54 2010
@@ -144,7 +144,16 @@
          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);
              }

Modified: tomcat/tc6.0.x/trunk/webapps/docs/logging.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/logging.xml?rev=898745&r1=898744&r2=898745&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/logging.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/logging.xml Wed Jan 13 13:28:54 2010
@@ -129,9 +129,10 @@
        <li>The root logger can define its set of handlers using a
        <code>.handlers</code>  property.</li>
        <li>Logging is buffered using a default buffer size of 8192 bytes.
-      To change buffersize, use the<code>bufferSize</code>  property.</li>
-<li>System property replacement for property values which start with
-      ${systemPropertyName}.</li>
+      To change buffersize, use the<code>bufferSize</code>  property of a 
handler.
+      The value of<code>0</code>  disables buffering.</li>
+<li>System property replacement is performed for property values which
+      contain ${systemPropertyName}.</li>
      </ul>
    </p>
    <p>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to