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-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org