[logback-dev] [GIT] Logback: the generic, reliable, fast and flexible logging framework. branch, master, updated. v_0.9.27-11-gaf3d573

added by portage for gitosis-gentoo git-noreply at pixie.qos.ch
Mon Jan 17 17:18:19 CET 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Logback: the generic, reliable, fast and flexible logging framework.".

The branch, master has been updated
       via  af3d5737f6caae2471a3881d6c9c14191c71d4ed (commit)
      from  5d5e0dad21d8449ae5e870638b1270b6cd944ad3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=af3d5737f6caae2471a3881d6c9c14191c71d4ed
http://github.com/ceki/logback/commit/af3d5737f6caae2471a3881d6c9c14191c71d4ed

commit af3d5737f6caae2471a3881d6c9c14191c71d4ed
Author: Ceki Gulcu <ceki at qos.ch>
Date:   Mon Jan 17 17:15:17 2011 +0100

    doc on renaming errors

diff --git a/logback-core/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java b/logback-core/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
index 9cb62d5..40d3713 100644
--- a/logback-core/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
+++ b/logback-core/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
@@ -86,7 +86,7 @@ public class TimeBasedRollingPolicy<E> extends RollingPolicyBase implements
 
     // the maxHistory property is given to TimeBasedRollingPolicy instead of to
     // the TimeBasedFileNamingAndTriggeringPolicy. This makes it more convenient
-    // for the user at the cost of inconsistency at the level of this code.
+    // for the user at the cost of inconsistency here.
     if (maxHistory != NO_DELETE_HISTORY) {
       archiveRemover = timeBasedFileNamingAndTriggeringPolicy.getArchiveRemover();
       archiveRemover.setMaxHistory(maxHistory);
diff --git a/logback-core/src/test/java/ch/qos/logback/core/FileAppenderResilienceTest.java b/logback-core/src/test/java/ch/qos/logback/core/FileAppenderResilienceTest.java
index fa8ca4b..497caad 100644
--- a/logback-core/src/test/java/ch/qos/logback/core/FileAppenderResilienceTest.java
+++ b/logback-core/src/test/java/ch/qos/logback/core/FileAppenderResilienceTest.java
@@ -74,9 +74,9 @@ public class FileAppenderResilienceTest {
     runner.setDone(true);
     t.join();
 
-    double bestCase = 1/delayCoeff;
+    double bestCaseSuccessRatio = 1/delayCoeff;
     ResilienceUtil
-        .verify(logfileStr, "^hello (\\d{1,5})$", runner.getCounter(), bestCase);
+        .verify(logfileStr, "^hello (\\d{1,5})$", runner.getCounter(), bestCaseSuccessRatio);
   }
 }
 
diff --git a/logback-core/src/test/java/ch/qos/logback/core/util/ResilienceUtil.java b/logback-core/src/test/java/ch/qos/logback/core/util/ResilienceUtil.java
index 9a8d2e5..6119fb9 100644
--- a/logback-core/src/test/java/ch/qos/logback/core/util/ResilienceUtil.java
+++ b/logback-core/src/test/java/ch/qos/logback/core/util/ResilienceUtil.java
@@ -11,7 +11,7 @@ import java.util.regex.Pattern;
 public class ResilienceUtil {
 
   
-  static public void verify(String logfile, String regexp, long totalSteps, double bestCase) throws NumberFormatException, IOException {
+  static public void verify(String logfile, String regexp, long totalSteps, double bestCaseSuccessRatio) throws NumberFormatException, IOException {
     FileReader fr = new FileReader(logfile);
     BufferedReader br = new BufferedReader(fr);
     Pattern p = Pattern.compile(regexp);
@@ -35,9 +35,8 @@ public class ResilienceUtil {
     fr.close();
     br.close();
 
-    double expectedSuccessRate = bestCase * 0.7;
-    // at least 40% of the logs should have been written
-    int lowerLimit = (int) (totalSteps*expectedSuccessRate);
+    double successRatioLowerBound = bestCaseSuccessRatio * 0.9;
+    int lowerLimit = (int) (totalSteps*successRatioLowerBound);
     assertTrue("totalLines="+totalLines+" less than "+lowerLimit, totalLines > lowerLimit);
     
     // we want some gaps which indicate recuperation
diff --git a/logback-core/src/test/scala/ch/qos/logback/core/rolling/TimeBasedRolling2Test.scala b/logback-core/src/test/scala/ch/qos/logback/core/rolling/TimeBasedRolling2Test.scala
index eb94065..97af666 100644
--- a/logback-core/src/test/scala/ch/qos/logback/core/rolling/TimeBasedRolling2Test.scala
+++ b/logback-core/src/test/scala/ch/qos/logback/core/rolling/TimeBasedRolling2Test.scala
@@ -176,7 +176,7 @@ class TimeBasedRolling2Test extends RollingScaffolding {
 
 
   @Test
-  def renaming = {
+  def failed_rename = {
 
     var fos: FileOutputStream = null
     try {
diff --git a/logback-site/src/site/pages/codes.html b/logback-site/src/site/pages/codes.html
index a959b31..53df822 100644
--- a/logback-site/src/site/pages/codes.html
+++ b/logback-site/src/site/pages/codes.html
@@ -352,20 +352,47 @@
 
   <hr/>
 
-  <p><a name="renamingError" href="#renamingError">Failed to rename file [x]] to [y]</a>
+  <p><a name="renamingError" href="#renamingError">Failed to rename file [x] to [y].</a>
   </p>
 
   <p>A log file cannot be renamed if there are handles referencing
   that file. For example, when the file is read by another process
-  such as less, tail, etc. During application hot redeployment, the
-  old instance of the application will have open references to the log
-  file as long as the old instance is not gargabe collected.
-  </p>
-
-  <p>File renaming problems can be avoided altogether if the <span
+  such as <code>less</code>, <code>tail</code>, etc. During
+  application hot-redeployment, the old instance of the application
+  will have open references to log files until the old instance is
+  completely shutdown or until the <code>stop()</code> method on its
+  <a
+  href="apidocs/ch/qos/logback/classic/LoggerContext.html"><code>LoggerContext</code></a>
+  is invoked.
+  </p>
+
+  <p>In practice, it can be hard to ensure that there are no file
+  handle references to log files. It can be easier to avoid file
+  renaming altogether. As a first step, let us note that for
+  <code>TimeBasedRollingPolicy</code>, the <span
+  class="option">file</span> option can be omitted. If omitted, no
+  file renaming will be performed during roll over. Thus, in order to
+  avoid file renaming errors just leave blank the <span
   class="option">file</span> option of
-  <code>RollingFileAppender</code> is left blank. 
+  <code>RollingFileAppender</code>, as shown in the next configuration
+  snippet.
   </p>
+
+  <pre class="prettyprint source">&lt;appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+  &lt;!-- <span class="option">file</span> option left unset/blank -->
+  &lt;rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+    &lt;fileNamePattern>mylog.%d{yyyy-MM-dd}.log&lt;/fileNamePattern>
+  &lt;/rollingPolicy>
+
+  &lt;encoder>
+    &lt;pattern>%relative [%thread] %level %logger - %msg%n&lt;/pattern>
+  &lt;/encoder>
+&lt;/appender></pre>
+
+   <p>For <code>FixedWindowRollingPolicy</code>, the file option is
+   mandatory.
+   </p>
+ 
   
   <hr/>
 
diff --git a/logback-site/src/site/pages/manual/appenders.html b/logback-site/src/site/pages/manual/appenders.html
index a37f67c..a71913d 100644
--- a/logback-site/src/site/pages/manual/appenders.html
+++ b/logback-site/src/site/pages/manual/appenders.html
@@ -709,185 +709,9 @@ public interface RollingPolicy extends LifeCycle {
    its parent via the <code>setParent</code> method.
    </p>
 
-   <h4>	
-     <a name="FixedWindowRollingPolicy" 
-     href="#FixedWindowRollingPolicy">FixedWindowRollingPolicy</a>
-   </h4>
-
-   <p>When rolling over, <a
-   href="../xref/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.html">
-   <code>FixedWindowRollingPolicy</code></a> renames files according
-   to a fixed window algorithm as described below.
-   </p>
-
-   <p>The <span class="option">fileNamePattern</span> option
-   represents the file name pattern for the archived (rolled over) log
-   files.  This option is required and must include an integer token
-   <em>%i</em> somewhere within the pattern.
-   </p>
-	
-   <p>Here are the available properties for
-   <code>FixedWindowRollingPolicy</code>
-   </p>
-	
-   <table class="bodyTable">
-     <tr class="a">
-       <th>Property Name</th>
-       <th>Type</th>
-       <th>Description</th>
-     </tr>
-     <tr class="b">
-       <td><b><span class="option">minIndex</span></b></td>
-       <td><code>int</code></td>
-       <td>
-         <p>This option represents the lower bound for the window's
-         index.
-         </p>
-       </td>
-     </tr>
-     <tr class="a">
-       <td><b><span class="option">maxIndex</span></b></td>
-       <td><code>int</code></td>
-       <td>
-         <p>This option represents the upper bound for the window's
-         index.
-         </p>
-       </td>
-     </tr>
-     <tr class="b">
-       <td><b><span class="option">fileNamePattern</span></b></td>
-       <td><code>String</code></td>
-       <td>
-         <p>This option represents the pattern that will be followed
-         by the <code>FixedWindowRollingPolicy</code> when renaming
-         the log files. It must contain the string <em>%i</em>, which
-         will indicate the position where the value of the current
-         window index will be inserted.
-         </p>
-         <p>For example, using <em>MyLogFile%i.log</em> associated
-         with minimum and maximum values of <em>1</em> and <em>3</em>
-         will produce archive files named <em>MyLogFile1.log</em>,
-         <em>MyLogFile2.log</em> and <em>MyLogFile3.log</em>.
-         </p>
-         <p>Note that file compression is also specified via this
-         property. For example, <span
-         class="option">fileNamePattern</span> set to
-         <em>MyLogFile%i.log.zip</em> means that archived files must be
-         compressed using the <em>zip</em> format; <em>gz</em> format
-         is also supported.
-         </p>
-       </td>
-     </tr>			
-   </table>
-   
-   <p>Given that the fixed window rolling policy requires as many file
-   renaming operations as the window size, large window sizes are
-   strongly discouraged. When large values are specified by the user,
-   the current implementation will automatically reduce the window
-   size to 12.
-   </p>
-
-   <p>Let us go over a more concrete example of the fixed window
-   rollover policy. Suppose that <span class="option">minIndex</span>
-   is set to <em>1</em>, <span class="option">maxIndex</span> set to
-   <em>3</em>, <span class="option">fileNamePattern</span> property
-   set to <em>foo%i.log</em>, and that <span
-   class="option">fileNamePattern</span> property is set to
-   <em>foo.log</em>.
-   </p>
-	
-   <table class="bodyTable">
-     <tr class="a">
-       <th>Number of rollovers</th>
-       <th>Active output target</th>
-       <th>Archived log files</th>
-       <th>Description</th>
-     </tr>
-		<tr class="b">
-			<td>0</td>
-			<td>foo.log</td>
-			<td>-</td>
-			<td>No rollover has happened yet, logback logs into the initial
-			file.
-			</td>
-     </tr>		
-     <tr class="a">
-       <td>1</td>
-       <td>foo.log</td>
-       <td>foo1.log</td>
-       <td>First rollover. <em>foo.log</em> is renamed as
-       <em>foo1.log</em>. A new <em>foo.log</em> file is created and
-       becomes the active output target.
-       </td>
-     </tr>
-     <tr class="b">
-       <td>2</td>
-       <td>foo.log</td>
-       <td>foo1.log, foo2.log</td>
-       <td>Second rollover. <em>foo1.log</em> is renamed as
-       <em>foo2.log</em>.  <em>foo.log</em> is renamed as
-       <em>foo1.log</em>. A new <em>foo.log</em> file is created and
-       becomes the active output target.
-       </td>
-     </tr>
-     <tr class="a">
-       <td>3</td>
-       <td>foo.log</td>
-       <td>foo1.log, foo2.log, foo3.log</td>
-       <td>Third rollover.  <em>foo2.log</em> is renamed as
-       <em>foo3.log</em>. <em>foo1.log</em> is renamed as
-       <em>foo2.log</em>.  <em>foo.log</em> is renamed as
-       <em>foo1.log</em>. A new <em>foo.log</em> file is created and
-       becomes the active output target.
-       </td>
-     </tr>
-     <tr class="b">
-       <td>4</td>
-       <td>foo.log</td>
-       <td>foo1.log, foo2.log, foo3.log</td>
-       <td>In this and subsequent rounds, the rollover begins by
-       deleting <em>foo3.log</em>. Other files are renamed by
-       incrementing their index as shown in previous steps. In this and
-       subsequent rollovers, there will be three archive logs and one
-       active log file.
-       </td>
-     </tr>
-   </table>
-	
-   <p>The configuration file below gives an example of configuring
-   <code>RollingFileAppender</code> and
-   <code>FixedWindowRollingPolicy</code>. Note that the <span
-   class="option">File</span> option is mandatory even if it contains
-   some of the same information as conveyed with the <span
-   class="option">fileNamePattern</span> option.
-   </p>
-	
-   <p class="example">Example: Sample configuration of a <code>RollingFileAppender</code> using a 
-   <code>FixedWindowRollingPolicy</code> (logback-examples/src/main/java/chapters/appenders/conf/logback-RollingFixedWindow.xml)</p>
+   <!-- =================
+        ================= -->
 
-   <span class="asGroovy" onclick="return asGroovy('logback-RollingFixedWindow');">View as .groovy</span>
-   <pre id="logback-RollingFixedWindow" class="prettyprint source">&lt;configuration>
-  &lt;appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-    <b>&lt;file>test.log&lt;/file></b>
-
-    <b>&lt;rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
-      &lt;fileNamePattern>tests.%i.log.zip&lt;/fileNamePattern>
-      &lt;minIndex>1&lt;/minIndex>
-      &lt;maxIndex>3&lt;/maxIndex>
-    &lt;/rollingPolicy></b>
-
-    &lt;triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-      &lt;maxFileSize>5MB&lt;/maxFileSize>
-    &lt;/triggeringPolicy>
-    &lt;encoder>
-      &lt;pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n&lt;/pattern>
-    &lt;/encoder>
-  &lt;/appender>
-	
-  &lt;root level="DEBUG">
-    &lt;appender-ref ref="FILE" />
-  &lt;/root>
-&lt;/configuration></pre>
 	
    <h4>
      <a name="TimeBasedRollingPolicy" href="#TimeBasedRollingPolicy">TimeBasedRollingPolicy</a>
@@ -1119,7 +943,7 @@ public interface RollingPolicy extends LifeCycle {
          <em>/wombat/foo.txt</em> file will be created where logging
          output will go for the rest of November 24rd. At midnight
          November 24th, <em>/wombat/foo.txt</em> will be compressed and
-         renamed as <em>/wombat/foo.2009-11-24.gz</em>. and so on.
+         renamed as <em>/wombat/foo.2009-11-24.gz</em> and so on.
          </p>
        </td>
      </tr>
@@ -1140,9 +964,13 @@ public interface RollingPolicy extends LifeCycle {
 	 the file specified by the <span class="option">file</span>
 	 property. It follows that the name of the active log file will not
 	 change over time. However, if you choose to omit the <span
-	 class="option">File</span> property, then the active file will be
+	 class="option">file</span> property, then the active file will be
 	 computed anew for each period based on the value of <span
-	 class="option">fileNamePattern</span>.
+	 class="option">fileNamePattern</span>. By leaving the <span
+	 class="option">file</span> option unset you can avoid file <a
+	 href="../codes.html#renamingError">renaming errors</a> which occur
+	 while there exist external file handles refrencing log files during
+	 roll over.
    </p>
 	
    <p>The <span class="option">maxHistory</span> property controls the
@@ -1234,6 +1062,187 @@ public interface RollingPolicy extends LifeCycle {
 &lt;/configuration></pre>
 
 
+   <h4>	
+     <a name="FixedWindowRollingPolicy" 
+     href="#FixedWindowRollingPolicy">FixedWindowRollingPolicy</a>
+   </h4>
+
+   <p>When rolling over, <a
+   href="../xref/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.html">
+   <code>FixedWindowRollingPolicy</code></a> renames files according
+   to a fixed window algorithm as described below.
+   </p>
+
+   <p>The <span class="option">fileNamePattern</span> option
+   represents the file name pattern for the archived (rolled over) log
+   files.  This option is required and must include an integer token
+   <em>%i</em> somewhere within the pattern.
+   </p>
+	
+   <p>Here are the available properties for
+   <code>FixedWindowRollingPolicy</code>
+   </p>
+	
+   <table class="bodyTable">
+     <tr class="a">
+       <th>Property Name</th>
+       <th>Type</th>
+       <th>Description</th>
+     </tr>
+     <tr class="b">
+       <td><b><span class="option">minIndex</span></b></td>
+       <td><code>int</code></td>
+       <td>
+         <p>This option represents the lower bound for the window's
+         index.
+         </p>
+       </td>
+     </tr>
+     <tr class="a">
+       <td><b><span class="option">maxIndex</span></b></td>
+       <td><code>int</code></td>
+       <td>
+         <p>This option represents the upper bound for the window's
+         index.
+         </p>
+       </td>
+     </tr>
+     <tr class="b">
+       <td><b><span class="option">fileNamePattern</span></b></td>
+       <td><code>String</code></td>
+       <td>
+         <p>This option represents the pattern that will be followed
+         by the <code>FixedWindowRollingPolicy</code> when renaming
+         the log files. It must contain the string <em>%i</em>, which
+         will indicate the position where the value of the current
+         window index will be inserted.
+         </p>
+         <p>For example, using <em>MyLogFile%i.log</em> associated
+         with minimum and maximum values of <em>1</em> and <em>3</em>
+         will produce archive files named <em>MyLogFile1.log</em>,
+         <em>MyLogFile2.log</em> and <em>MyLogFile3.log</em>.
+         </p>
+         <p>Note that file compression is also specified via this
+         property. For example, <span
+         class="option">fileNamePattern</span> set to
+         <em>MyLogFile%i.log.zip</em> means that archived files must be
+         compressed using the <em>zip</em> format; <em>gz</em> format
+         is also supported.
+         </p>
+       </td>
+     </tr>			
+   </table>
+   
+   <p>Given that the fixed window rolling policy requires as many file
+   renaming operations as the window size, large window sizes are
+   strongly discouraged. When large values are specified by the user,
+   the current implementation will automatically reduce the window
+   size to 12.
+   </p>
+
+   <p>Let us go over a more concrete example of the fixed window
+   rollover policy. Suppose that <span class="option">minIndex</span>
+   is set to <em>1</em>, <span class="option">maxIndex</span> set to
+   <em>3</em>, <span class="option">fileNamePattern</span> property
+   set to <em>foo%i.log</em>, and that <span
+   class="option">fileNamePattern</span> property is set to
+   <em>foo.log</em>.
+   </p>
+	
+   <table class="bodyTable">
+     <tr class="a">
+       <th>Number of rollovers</th>
+       <th>Active output target</th>
+       <th>Archived log files</th>
+       <th>Description</th>
+     </tr>
+		<tr class="b">
+			<td>0</td>
+			<td>foo.log</td>
+			<td>-</td>
+			<td>No rollover has happened yet, logback logs into the initial
+			file.
+			</td>
+     </tr>		
+     <tr class="a">
+       <td>1</td>
+       <td>foo.log</td>
+       <td>foo1.log</td>
+       <td>First rollover. <em>foo.log</em> is renamed as
+       <em>foo1.log</em>. A new <em>foo.log</em> file is created and
+       becomes the active output target.
+       </td>
+     </tr>
+     <tr class="b">
+       <td>2</td>
+       <td>foo.log</td>
+       <td>foo1.log, foo2.log</td>
+       <td>Second rollover. <em>foo1.log</em> is renamed as
+       <em>foo2.log</em>.  <em>foo.log</em> is renamed as
+       <em>foo1.log</em>. A new <em>foo.log</em> file is created and
+       becomes the active output target.
+       </td>
+     </tr>
+     <tr class="a">
+       <td>3</td>
+       <td>foo.log</td>
+       <td>foo1.log, foo2.log, foo3.log</td>
+       <td>Third rollover.  <em>foo2.log</em> is renamed as
+       <em>foo3.log</em>. <em>foo1.log</em> is renamed as
+       <em>foo2.log</em>.  <em>foo.log</em> is renamed as
+       <em>foo1.log</em>. A new <em>foo.log</em> file is created and
+       becomes the active output target.
+       </td>
+     </tr>
+     <tr class="b">
+       <td>4</td>
+       <td>foo.log</td>
+       <td>foo1.log, foo2.log, foo3.log</td>
+       <td>In this and subsequent rounds, the rollover begins by
+       deleting <em>foo3.log</em>. Other files are renamed by
+       incrementing their index as shown in previous steps. In this and
+       subsequent rollovers, there will be three archive logs and one
+       active log file.
+       </td>
+     </tr>
+   </table>
+	
+   <p>The configuration file below gives an example of configuring
+   <code>RollingFileAppender</code> and
+   <code>FixedWindowRollingPolicy</code>. Note that the <span
+   class="option">File</span> option is mandatory even if it contains
+   some of the same information as conveyed with the <span
+   class="option">fileNamePattern</span> option.
+   </p>
+	
+   <p class="example">Example: Sample configuration of a <code>RollingFileAppender</code> using a 
+   <code>FixedWindowRollingPolicy</code> (logback-examples/src/main/java/chapters/appenders/conf/logback-RollingFixedWindow.xml)</p>
+
+   <span class="asGroovy" onclick="return asGroovy('logback-RollingFixedWindow');">View as .groovy</span>
+   <pre id="logback-RollingFixedWindow" class="prettyprint source">&lt;configuration>
+  &lt;appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+    <b>&lt;file>test.log&lt;/file></b>
+
+    <b>&lt;rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+      &lt;fileNamePattern>tests.%i.log.zip&lt;/fileNamePattern>
+      &lt;minIndex>1&lt;/minIndex>
+      &lt;maxIndex>3&lt;/maxIndex>
+    &lt;/rollingPolicy></b>
+
+    &lt;triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+      &lt;maxFileSize>5MB&lt;/maxFileSize>
+    &lt;/triggeringPolicy>
+    &lt;encoder>
+      &lt;pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n&lt;/pattern>
+    &lt;/encoder>
+  &lt;/appender>
+	
+  &lt;root level="DEBUG">
+    &lt;appender-ref ref="FILE" />
+  &lt;/root>
+&lt;/configuration></pre>
+
+
     <h3>
       <a name="SizeAndTimeBasedFNATP"
       href="#SizeAndTimeBasedFNATP">Size <b>and</b> time based archiving</a>
diff --git a/logback-site/src/site/pages/manual/filters.html b/logback-site/src/site/pages/manual/filters.html
index 46d555c..f354b8c 100644
--- a/logback-site/src/site/pages/manual/filters.html
+++ b/logback-site/src/site/pages/manual/filters.html
@@ -570,8 +570,8 @@ public class SampleFilter extends Filter&gt;ILoggingEvent> {
     automatically by <code>JaninoEventEvaluator</code>.
     </p>
 
-		<p>Given that the <span class="option">OnMatch</span> property is
-		set to NEUTRAL and the <span class="option">OnMismatch</span>
+		<p>Given that the <span class="option">OnMismatch</span> property is
+		set to NEUTRAL and the <span class="option">OnMatch</span>
 		property set to DENY, this evalutor filter will drop all logging
 		events whose message contains the string "billing".
     </p>

-----------------------------------------------------------------------

Summary of changes:
 .../core/rolling/TimeBasedRollingPolicy.java       |    2 +-
 .../logback/core/FileAppenderResilienceTest.java   |    4 +-
 .../ch/qos/logback/core/util/ResilienceUtil.java   |    7 +-
 .../core/rolling/TimeBasedRolling2Test.scala       |    2 +-
 logback-site/src/site/pages/codes.html             |   43 ++-
 logback-site/src/site/pages/manual/appenders.html  |  371 ++++++++++----------
 logback-site/src/site/pages/manual/filters.html    |    4 +-
 7 files changed, 234 insertions(+), 199 deletions(-)


hooks/post-receive
-- 
Logback: the generic, reliable, fast and flexible logging framework.


More information about the logback-dev mailing list