You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kk...@apache.org on 2009/07/14 14:23:43 UTC

svn commit: r793882 - /tomcat/trunk/java/org/apache/juli/FileHandler.java

Author: kkolinko
Date: Tue Jul 14 12:23:43 2009
New Revision: 793882

URL: http://svn.apache.org/viewvc?rev=793882&view=rev
Log:
Allow encoding to be specified for JULI FileHandler, and its subclasses (AsyncFileHandler).

Modified:
    tomcat/trunk/java/org/apache/juli/FileHandler.java

Modified: tomcat/trunk/java/org/apache/juli/FileHandler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/juli/FileHandler.java?rev=793882&r1=793881&r2=793882&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/juli/FileHandler.java (original)
+++ tomcat/trunk/java/org/apache/juli/FileHandler.java Tue Jul 14 12:23:43 2009
@@ -18,9 +18,13 @@
 
 package org.apache.juli;
 
+import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileWriter;
+import java.io.FileOutputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
 import java.sql.Timestamp;
 import java.util.logging.ErrorManager;
 import java.util.logging.Filter;
@@ -209,6 +213,16 @@
         if (suffix == null)
             suffix = getProperty(className + ".suffix", ".log");
 
+        // Get encoding for the logging file
+        String encoding = getProperty(className + ".encoding", null);
+        if (encoding != null && encoding.length() > 0) {
+            try {
+                setEncoding(encoding);
+            } catch (UnsupportedEncodingException ex) {
+                // Ignore
+            }
+        }
+
         // Get logging level for the handler
         setLevel(Level.parse(getProperty(className + ".level", "" + Level.ALL)));
 
@@ -268,7 +282,12 @@
         try {
             String pathname = dir.getAbsolutePath() + File.separator +
                 prefix + date + suffix;
-            writer = new PrintWriter(new FileWriter(pathname, true), true);
+            String encoding = getEncoding();
+            OutputStream os = new BufferedOutputStream(new FileOutputStream(
+                    pathname, true));
+            writer = new PrintWriter(
+                    (encoding != null) ? new OutputStreamWriter(os, encoding)
+                            : new OutputStreamWriter(os), true);
             writer.write(getFormatter().getHead(this));
         } catch (Exception e) {
             reportError(null, e, ErrorManager.OPEN_FAILURE);



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