Author: kkolinko
Date: Fri Jul 17 01:13:02 2009
New Revision: 794933
URL: http://svn.apache.org/viewvc?rev=794933&view=rev
Log:
Allow log file encoding to be configured for JULI FileHandler
Modified:
tomcat/connectors/trunk/juli/src/java/org/apache/juli/FileHandler.java
tomcat/container/tc5.5.x/webapps/docs/changelog.xml
tomcat/current/tc5.5.x/STATUS.txt
Modified: tomcat/connectors/trunk/juli/src/java/org/apache/juli/FileHandler.java
URL:
http://svn.apache.org/viewvc/tomcat/connectors/trunk/juli/src/java/org/apache/juli/FileHandler.java?rev=794933&r1=794932&r2=794933&view=diff
==============================================================================
--- tomcat/connectors/trunk/juli/src/java/org/apache/juli/FileHandler.java
(original)
+++ tomcat/connectors/trunk/juli/src/java/org/apache/juli/FileHandler.java Fri
Jul 17 01:13:02 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;
@@ -201,6 +205,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)));
@@ -256,7 +270,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);
Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?rev=794933&r1=794932&r2=794933&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Fri Jul 17 01:13:02 2009
@@ -213,6 +213,9 @@
<fix>
<bug>38483</bug>: Thread safety issues in AccessLogValve classes.
(kkolinko)
</fix>
+ <add>
+ Allow log file encoding to be configured for JULI FileHandler.
(kkolinko)
+ </add>
</changelog>
</subsection>
<subsection name="Jasper">
Modified: tomcat/current/tc5.5.x/STATUS.txt
URL:
http://svn.apache.org/viewvc/tomcat/current/tc5.5.x/STATUS.txt?rev=794933&r1=794932&r2=794933&view=diff
==============================================================================
--- tomcat/current/tc5.5.x/STATUS.txt (original)
+++ tomcat/current/tc5.5.x/STATUS.txt Fri Jul 17 01:13:02 2009
@@ -90,11 +90,6 @@
+1: markt, kkolinko, rjung
-1:
-* Allow encoding to be specified for JULI FileHandler
- http://svn.apache.org/viewvc?rev=793882&view=rev
- +1: kkolinko, markt, rjung
- -1:
-
* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=40380
Correct synchronisation of expire(). Method should only run once.
http://svn.apache.org/viewvc?rev=793981&view=rev
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]