bug 49180
authorfunkman <funkman@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 1 Nov 2010 15:48:32 +0000 (15:48 +0000)
committerfunkman <funkman@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 1 Nov 2010 15:48:32 +0000 (15:48 +0000)
Add option to disable log rotation in FileHandler
credit: Pid (pidster at apache )

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1029719 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/juli/FileHandler.java

index 90127ab..cfae91b 100644 (file)
@@ -95,6 +95,12 @@ public class FileHandler
 
 
     /**
+     * Determines whether the logfile is rotatable
+     */
+    private boolean rotatable = true;
+
+
+    /**
      * The PrintWriter to which we are currently logging, if any.
      */
     private volatile PrintWriter writer = null;
@@ -134,7 +140,7 @@ public class FileHandler
 
         writerLock.readLock().lock();
         // If the date has changed, switch log files
-        if (!date.equals(tsDate)) {
+        if (rotatable && !date.equals(tsDate)) {
             // Update to writeLock before we switch
             writerLock.readLock().unlock();
             writerLock.writeLock().lock();
@@ -245,6 +251,7 @@ public class FileHandler
         ClassLoader cl = Thread.currentThread().getContextClassLoader();
         
         // Retrieve configuration of logging file name
+        rotatable = Boolean.parseBoolean(getProperty(className + ".rotatable", "true"));
         if (directory == null)
             directory = getProperty(className + ".directory", "logs");
         if (prefix == null)
@@ -326,7 +333,7 @@ public class FileHandler
         writerLock.writeLock().lock();
         try {
             String pathname = dir.getAbsolutePath() + File.separator +
-                prefix + date + suffix;
+                prefix + (rotatable ? date : "") + suffix;
             String encoding = getEncoding();
             FileOutputStream fos = new FileOutputStream(pathname, true);
             OutputStream os = bufferSize>0?new BufferedOutputStream(fos,bufferSize):fos;