[logback-dev] svn commit: r920 - in logback/trunk: logback-classic/src/main/java/ch/qos/logback/classic logback-classic/src/main/java/ch/qos/logback/classic/db logback-classic/src/main/java/ch/qos/logback/classic/net logback-core/src/main/java/ch/qos/logback/core logback-core/src/main/java/ch/qos/logback/core/rolling logback-site/src/site/xdocTemplates/manual
noreply.seb at qos.ch
noreply.seb at qos.ch
Wed Nov 15 12:00:55 CET 2006
Author: seb
Date: Wed Nov 15 12:00:54 2006
New Revision: 920
Modified:
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/PatternLayout.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/db/DBAppender.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SMTPAppender.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketAppender.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/AppenderBase.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/ConsoleAppender.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/FileAppender.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/WriterAppender.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/SizeBasedTriggeringPolicy.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
logback/trunk/logback-site/src/site/xdocTemplates/manual/appenders.xml
Log:
updated doc, and linked all classes to the appropriate documentation section
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/PatternLayout.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/PatternLayout.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/PatternLayout.java Wed Nov 15 12:00:54 2006
@@ -43,7 +43,6 @@
* For more informations about this layout, please refer to the online manual at
* http://logback.qos.ch/manual/layouts.html#ClassicPatternLayout
*
- *
*/
public class PatternLayout extends PatternLayoutBase implements ClassicLayout {
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/db/DBAppender.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/db/DBAppender.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/db/DBAppender.java Wed Nov 15 12:00:54 2006
@@ -20,82 +20,13 @@
import ch.qos.logback.classic.spi.CallerData;
import ch.qos.logback.classic.spi.LoggingEvent;
import ch.qos.logback.core.db.DBAppenderBase;
-import ch.qos.logback.core.db.dialect.SQLDialect;
/**
* The DBAppender inserts loggin events into three database tables in a format
- * independent of the Java programming language. The three tables that
- * DBAppender inserts to must exists before DBAppender can be used. These tables
- * may be created with the help of SQL scripts found in the
- * <em>src/main/java/ch/qos/logback/classic/db/dialect</em> directory. There
- * is a specific script for each of the most popular database systems. If the
- * script for your particular type of database system is missing, it should be
- * quite easy to write one, taking example on the already existing scripts. If
- * you send them to us, we will gladly include missing scripts in future
- * releases.
+ * independent of the Java programming language.
*
- * <p>
- * If the JDBC driver you are using supports the
- * {@link java.sql.Statement#getGeneratedKeys}method introduced in JDBC 3.0
- * specification, then you are all set. Otherwise, there must be an
- * {@link SQLDialect}appropriate for your database system. Currently, we have
- * dialects for PostgreSQL, MySQL, Oracle and MsSQL. As mentioed previously, an
- * SQLDialect is required only if the JDBC driver for your database system does
- * not support the {@link java.sql.Statement#getGeneratedKeys getGeneratedKeys}
- * method.
- * </p>
- *
- * <table border="1" cellpadding="4">
- * <tr>
- * <th>RDBMS</th>
- * <th>supports <br/><code>getGeneratedKeys()</code> method</th>
- * <th>specific <br/>SQLDialect support</th>
- * <tr>
- * <tr>
- * <td>PostgreSQL</td>
- * <td align="center">NO</td>
- * <td>present and used</td>
- * <tr>
- * <tr>
- * <td>MySQL</td>
- * <td align="center">YES</td>
- * <td>present, but not actually needed or used</td>
- * <tr>
- * <tr>
- * <td>Oracle</td>
- * <td align="center">YES</td>
- * <td>present, but not actually needed or used</td>
- * <tr>
- * <tr>
- * <td>DB2</td>
- * <td align="center">YES</td>
- * <td>not present, and not needed or used</td>
- * <tr>
- * <tr>
- * <td>MsSQL</td>
- * <td align="center">YES</td>
- * <td>not present, and not needed or used</td>
- * <tr>
- * <tr>
- * <td>HSQL</td>
- * <td align="center">NO</td>
- * <td>present and used</td>
- * <tr>
- *
- * </table>
- * <p>
- * <b>Performance: </b> Experiments show that writing a single event into the
- * database takes approximately 50 milliseconds, on a "standard" PC. If pooled
- * connections are used, this figure drops to under 10 milliseconds. Note that
- * most JDBC drivers already ship with connection pooling support.
- * </p>
- *
- *
- *
- * <p>
- * <b>Configuration </b> DBAppender can be configured programmatically, or using
- * {@link ch.qos.logback.classic.joran.JoranConfigurator JoranConfigurator}.
- * Example scripts can be found in the <em>tests/input/db</em> directory.
+ * For more informations about this appender, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#DBAppender
*
* @author Ceki Gülcü
* @author Ray DeCampo
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SMTPAppender.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SMTPAppender.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SMTPAppender.java Wed Nov 15 12:00:54 2006
@@ -22,12 +22,8 @@
* Send an e-mail when a specific logging event occurs, typically on errors or
* fatal errors.
*
- * <p>
- * The number of logging events delivered in this e-mail depend on the value of
- * <b>BufferSize</b> option. The <code>SMTPAppender</code> keeps only the
- * last <code>BufferSize</code> logging events in its cyclic buffer. This
- * keeps memory requirements at a reasonable level while still delivering useful
- * application context.
+ * For more informations about this appender, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#SMTPAppender
*
* @author Ceki Gülcü
* @author Sébastien Pennec
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketAppender.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketAppender.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SocketAppender.java Wed Nov 15 12:00:54 2006
@@ -24,73 +24,9 @@
* Sends {@link LoggingEvent} objects to a remote a log server, usually a
* {@link SocketNode}.
*
- * <p>
- * The SocketAppender has the following properties:
- *
- * <ul>
- *
- * <p>
- * <li>If sent to a {@link SocketNode}, remote logging is non-intrusive as far
- * as the log event is concerned. In other words, the event will be logged with
- * the same time stamp, {@link org.apache.log4j.NDC}, location info as if it
- * were logged locally by the client.
- *
- * <p>
- * <li>SocketAppenders do not use a layout. They ship a serialized
- * {@link LoggingEvent} object to the server side.
- *
- * <p>
- * <li>Remote logging uses the TCP protocol. Consequently, if the server is
- * reachable, then log events will eventually arrive at the server.
- *
- * <p>
- * <li>If the remote server is down, the logging requests are simply dropped.
- * However, if and when the server comes back up, then event transmission is
- * resumed transparently. This transparent reconneciton is performed by a
- * <em>connector</em> thread which periodically attempts to connect to the
- * server.
- *
- * <p>
- * <li>Logging events are automatically <em>buffered</em> by the native TCP
- * implementation. This means that if the link to server is slow but still
- * faster than the rate of (log) event production by the client, the client will
- * not be affected by the slow network connection. However, if the network
- * connection is slower then the rate of event production, then the client can
- * only progress at the network rate. In particular, if the network link to the
- * the server is down, the client will be blocked.
- *
- * <p>
- * On the other hand, if the network link is up, but the server is down, the
- * client will not be blocked when making log requests but the log events will
- * be lost due to server unavailability.
- *
- * <p>
- * <li>Even if a <code>SocketAppender</code> is no longer attached to any
- * category, it will not be garbage collected in the presence of a connector
- * thread. A connector thread exists only if the connection to the server is
- * down. To avoid this garbage collection problem, you should {@link #close} the
- * the <code>SocketAppender</code> explicitly. See also next item.
- *
- * <p>
- * Long lived applications which create/destroy many <code>SocketAppender</code>
- * instances should be aware of this garbage collection problem. Most other
- * applications can safely ignore it.
- *
- * <p>
- * <li>If the JVM hosting the <code>SocketAppender</code> exits before the
- * <code>SocketAppender</code> is closed either explicitly or subsequent to
- * garbage collection, then there might be untransmitted data in the pipe which
- * might be lost. This is a common problem on Windows based systems.
- *
- * <p>
- * To avoid lost data, it is usually sufficient to {@link #close} the
- * <code>SocketAppender</code> either explicitly or by calling the
- * {@link org.apache.log4j.LogManager#shutdown} method before exiting the
- * application.
- *
- *
- * </ul>
- *
+ * For more informations about this appender, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#SocketAppender
+ *
* @author Ceki Gülcü
* @author Sébastien Pennec
*
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/net/SyslogAppender.java Wed Nov 15 12:00:54 2006
@@ -20,6 +20,11 @@
import ch.qos.logback.core.net.SyslogWriter;
/**
+ * This appender can be used to send messages to a remote
+ * syslog daemon.
+ * <p>
+ * For more informations about this appender, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#SyslogAppender
*
* @author Ceki Gülcü
*/
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/AppenderBase.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/AppenderBase.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/AppenderBase.java Wed Nov 15 12:00:54 2006
@@ -16,7 +16,14 @@
import ch.qos.logback.core.spi.FilterReply;
import ch.qos.logback.core.status.WarnStatus;
-
+/**
+ * This class is used to manage base functionnalities of all appenders.
+ *
+ * For more informations about this appender, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#AppenderBase
+ *
+ * @author Ceki Gülcü
+ */
abstract public class AppenderBase extends ContextAwareBase implements
Appender, FilterAttachable {
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/ConsoleAppender.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/ConsoleAppender.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/ConsoleAppender.java Wed Nov 15 12:00:54 2006
@@ -17,7 +17,10 @@
* ConsoleAppender appends log events to <code>System.out</code> or
* <code>System.err</code> using a layout specified by the user. The default
* target is <code>System.out</code>.
- *
+ *
+ * For more informations about this appender, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#ConsoleAppender
+ *
* @author Ceki Gülcü
*/
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/FileAppender.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/FileAppender.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/FileAppender.java Wed Nov 15 12:00:54 2006
@@ -19,6 +19,9 @@
/**
* FileAppender appends log events to a file.
*
+ * For more informations about this appender, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#FileAppender
+ *
* @author Ceki Gülcü
*/
public class FileAppender extends WriterAppender {
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/WriterAppender.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/WriterAppender.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/WriterAppender.java Wed Nov 15 12:00:54 2006
@@ -16,6 +16,15 @@
import ch.qos.logback.core.status.ErrorStatus;
+/**
+ * WriterAppender appends events to a hava.io.Writer.
+ * This class provides basic services that other appenders build upon.
+ *
+ * For more informations about this appender, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#WriterAppender
+ *
+ * @author Ceki Gülcü
+ */
public class WriterAppender extends AppenderBase {
/**
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/FixedWindowRollingPolicy.java Wed Nov 15 12:00:54 2006
@@ -18,36 +18,10 @@
/**
* When rolling over, <code>FixedWindowRollingPolicy</code> renames files
- * according to a fixed window algorithm as described below.
+ * according to a fixed window algorithm.
*
- * <p>
- * The <b>File</b> property, which is required, represents the name
- * of the file where current logging output will be written. The
- * <b>FileNamePattern</b> option represents the file name pattern for the
- * archived (rolled over) log files. If present, the <b>FileNamePattern</b>
- * option must include an integer token, that is the string "%i" somewhere
- * within the pattern.
- *
- * <p>
- * Let <em>max</em> and <em>min</em> represent the values of respectively
- * the <b>MaxIndex</b> and <b>MinIndex</b> options. Let "foo.log" be the value
- * of the <b>ActiveFile</b> option and "foo.%i.log" the value of
- * <b>FileNamePattern</b>. Then, when rolling over, the file
- * <code>foo.<em>max</em>.log</code> will be deleted, the file
- * <code>foo.<em>max-1</em>.log</code> will be renamed as
- * <code>foo.<em>max</em>.log</code>, the file
- * <code>foo.<em>max-2</em>.log</code> renamed as
- * <code>foo.<em>max-1</em>.log</code>, and so on, the file
- * <code>foo.<em>min+1</em>.log</code> renamed as
- * <code>foo.<em>min+2</em>.log</code>. Lastly, the active file
- * <code>foo.log</code> will be renamed as <code>foo.<em>min</em>.log</code>
- * and a new active file name <code>foo.log</code> will be created.
- *
- * <p>
- * Given that this rollover algorithm requires as many file renaming operations
- * as the window size, large window sizes are discouraged. The current
- * implementation will automatically reduce the window size to 12 when larger
- * values are specified by the user.
+ * For more informations about this policy, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#FixedWindowRollingPolicy
*
* @author Ceki Gülcü
*/
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/RollingFileAppender.java Wed Nov 15 12:00:54 2006
@@ -19,41 +19,9 @@
* <code>RollingFileAppender</code> extends {@link FileAppender} to backup the log files
* depending on {@link RollingPolicy} and {@link TriggeringPolicy}.
* <p>
- * To be of any use, a <code>RollingFileAppender</code> instance must have both
- * a <code>RollingPolicy</code> and a <code>TriggeringPolicy</code> set up.
- * However, if its <code>RollingPolicy</code> also implements the
- * <code>TriggeringPolicy</code> interface, then only the former needs to be
- * set up. For example, {@link TimeBasedRollingPolicy} acts both as a
- * <code>RollingPolicy</code> and a <code>TriggeringPolicy</code>.
*
- * <p><code>RollingFileAppender</code> can be configured programattically or
- * using {@link ch.qos.logback.classic.joran.JoranConfigurator}. Here is a sample
- * configration file:
-
-<pre><?xml version="1.0" encoding="UTF-8" ?>
-
-<configuration debug="true">
-
- <appender name="ROLL" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <b><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}.gz"/>
- </rollingPolicy></b>
-
- <layout class="ch.qos.logback.classic.PatternLayout">
- <param name="Pattern" value="%c{1} - %m%n"/>
- </layout>
- </appender>
-
- <root">
- <appender-ref ref="ROLL"/>
- </root>
-
-</configuration>
-</pre>
-
- *<p>This configuration file specifies a monthly rollover schedule including
- * automatic compression of the archived files. See
- * {@link TimeBasedRollingPolicy} for more details.
+ * For more informations about this appender, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#RollingFileAppender
*
* @author Heinz Richter
* @author Ceki Gülcü
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/SizeBasedTriggeringPolicy.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/SizeBasedTriggeringPolicy.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/SizeBasedTriggeringPolicy.java Wed Nov 15 12:00:54 2006
@@ -17,35 +17,9 @@
* currently written to. If it grows bigger than the specified size,
* the FileAppender using the SizeBasedTriggeringPolicy rolls the file
* and creates a new one.
- * <p>
- * Here is an example of a configuration using SizeBasedTriggeringPolicy.
- * <p>
- * <pre>
- * <configuration>
- * <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- * <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- * <param name="ActiveFileName" value="outputFile.log" />
- * <param name="FileNamePattern" value="logFile.%i.log" />
- * <param name="MinIndex" value="1" />
- * <param name="MaxIndex" value="3" />
- * </rollingPolicy>
- *
- * <b><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- * <param name="MaxFileSize" value="5MB" />
- * </triggeringPolicy></b>
- *
- * <layout class="ch.qos.logback.classic.PatternLayout">
- * <param name="pattern" value="%-4relative [%thread] %-5level %class - %msg%n" />
- * </layout>
- * </appender>
- *
- * <root>
- * <level value="debug" />
- * <appender-ref ref="FILE" />
- * </root>
- * </configuration>
- * </pre>
*
+ * For more informations about this policy, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#SizeBasedTriggeringPolicy
*
* @author Ceki Gülcü
*
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/rolling/TimeBasedRollingPolicy.java Wed Nov 15 12:00:54 2006
@@ -21,128 +21,12 @@
/**
* <code>TimeBasedRollingPolicy</code> is both easy to configure and quite
- * powerful.
+ * powerful. It allows the rollover to be made based on time conditions.
+ * It is possible to specify that the rollover must occur each day, or month, for example.
*
- * <p>In order to use <code>TimeBasedRollingPolicy</code>, the
- * <b>FileNamePattern</b> option must be set. It basically specifies the name of the
- * rolled log files. The value <code>FileNamePattern</code> should consist of
- * the name of the file, plus a suitably placed <code>%d</code> conversion
- * specifier. The <code>%d</code> conversion specifier may contain a date and
- * time pattern as specified by the {@link java.text.SimpleDateFormat} class. If
- * the date and time pattern is omitted, then the default pattern of
- * "yyyy-MM-dd" is assumed. The following examples should clarify the point.
- *
- * <p>
- * <table cellspacing="5px" border="1">
- * <tr>
- * <th><code>FileNamePattern</code> value</th>
- * <th>Roll-over schedule</th>
- * <th>Example</th>
- * </tr>
- * <tr>
- * <td nowrap="true"><code>/wombat/folder/foo.%d</code></td>
- * <td>Daily rollover (at midnight). Due to the omission of the optional
- * time and date pattern for the %d token specifier, the default pattern
- * of "yyyy-MM-dd" is assumed, which corresponds to daily rollover.
- * </td>
- * <td>During November 23rd, 2004, logging output will go to
- * the file <code>/wombat/foo.2004-11-23</code>. At midnight and for
- * the rest of the 24th, logging output will be directed to
- * <code>/wombat/foo.2004-11-24</code>.
- * </td>
- * </tr>
- * <tr>
- * <td nowrap="true"><code>/wombat/foo.%d{yyyy-MM}.log</code></td>
- * <td>Rollover at the beginning of each month.</td>
- * <td>During the month of October 2004, logging output will go to
- * <code>/wombat/foo.2004-10.log</code>. After midnight of October 31st
- * and for the rest of November, logging output will be directed to
- * <code>/wombat/foo.2004-11.log</code>.
- * </td>
- * </tr>
- * </table>
- * <h2>Automatic file compression</h2>
- * <code>TimeBasedRollingPolicy</code> supports automatic file compression.
- * This feature is enabled if the value of the <b>FileNamePattern</b> option
- * ends with <code>.gz</code> or <code>.zip</code>.
- * <p>
- * <table cellspacing="5px" border="1">
- * <tr>
- * <th><code>FileNamePattern</code> value</th>
- * <th>Rollover schedule</th>
- * <th>Example</th>
- * </tr>
- * <tr>
- * <td nowrap="true"><code>/wombat/foo.%d.gz</code></td>
- * <td>Daily rollover (at midnight) with automatic GZIP compression of the
- * arcived files.</td>
- * <td>During November 23rd, 2004, logging output will go to
- * the file <code>/wombat/foo.2004-11-23</code>. However, at midnight that
- * file will be compressed to become <code>/wombat/foo.2004-11-23.gz</code>.
- * For the 24th of November, logging output will be directed to
- * <code>/wombat/folder/foo.2004-11-24</code> until its rolled over at the
- * beginning of the next day.
- * </td>
- * </tr>
- * </table>
+ * For more informations about this policy, please refer to the online manual at
+ * http://logback.qos.ch/manual/appenders.html#TimeBasedRollingPolicy
*
- * <h2>Decoupling the location of the active log file and the archived log files</h2>
- * <p>The <em>active file</em> is defined as the log file for the current period
- * whereas <em>archived files</em> are those files which have been rolled over
- * in previous periods.
- *
- * <p>By setting the <b>ActiveFileName</b> option you can decouple the location
- * of the active log file and the location of the archived log files.
- * <p>
- * <table cellspacing="5px" border="1">
- * <tr>
- * <th><code>FileNamePattern</code> value</th>
- * <th>ActiveFileName</th>
- * <th>Rollover schedule</th>
- * <th>Example</th>
- * </tr>
- * <tr>
- * <td nowrap="true"><code>/wombat/foo.log.%d</code></td>
- * <td nowrap="true"><code>/wombat/foo.log</code></td>
- * <td>Daily rollover.</td>
- *
- * <td>During November 23rd, 2004, logging output will go to
- * the file <code>/wombat/foo.log</code>. However, at midnight that file
- * will archived as <code>/wombat/foo.log.2004-11-23</code>. For the 24th
- * of November, logging output will be directed to
- * <code>/wombat/folder/foo.log</code> until its archived as
- * <code>/wombat/foo.log.2004-11-24</code> at the beginning of the next
- * day.
- * </td>
- * </tr>
- * </table>
- * <p>
- * <h2>Configuration example</h2>
- * <p>Here is a complete logback configuration xml file that uses TimeBasedTriggeringPolicy.
- * <p>
- * <pre>
- * <configuration>
- * <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- * <b><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- * <param name="FileNamePattern" value="foo_%d{yyyy-MM}.log" />
- * <param name="ActiveFileName" value="foo.log" />
- * </rollingPolicy></b>
- * <layout class="ch.qos.logback.classic.PatternLayout">
- * <param name="Pattern" value="%-4relative [%thread] %-5level %class - %msg%n" />
- * </layout>
- * </appender>
- *
- * <root>
- * <level value="debug" />
- * <appender-ref ref="FILE" />
- * </root>
- * </configuration>
- * </pre>
- * <p>
- * This configuration will produce output to a file called <code>foo.log</code>. For example, at the end of the month
- * of September 2006, the file will be renamed to <code>foo_2006-09.log</code> and a new <code>foo.log</code> file
- * will be created and used for actual logging.
- *
* @author Ceki Gülcü
*/
public class TimeBasedRollingPolicy extends RollingPolicyBase implements TriggeringPolicy {
Modified: logback/trunk/logback-site/src/site/xdocTemplates/manual/appenders.xml
==============================================================================
--- logback/trunk/logback-site/src/site/xdocTemplates/manual/appenders.xml (original)
+++ logback/trunk/logback-site/src/site/xdocTemplates/manual/appenders.xml Wed Nov 15 12:00:54 2006
@@ -197,7 +197,7 @@
event to the appropriate device.
</p>
- <p>DO WE ADD A UML DIAGRAM?? YES!!</p>
+ <!-- ADD UML DIAGRAM -->
<p>In appenders, the term option or property is reserved for named attributes
that are dynamically inferred using JavaBeans introspection. </p>
@@ -214,7 +214,8 @@
<h3>WriterAppender</h3>
<p>
- <a href="../xref/ch/qos/logback/core/WriterAppender.html"><code>WriterAppender</code></a> appends events to a <code>java.io.Writer</code>.
+ <a href="../xref/ch/qos/logback/core/WriterAppender.html"><code>WriterAppender</code></a>
+ appends events to a <code>java.io.Writer</code>.
This class provides basic services that other appenders build upon.
Users do not usually instantiate <code>WriterAppender</code> objects directly.
Since <code>java.io.Writer</code> type cannot be mapped to a string, there is no
@@ -329,9 +330,9 @@
namely <code>ConsoleAppender</code>, <code>FileAppender</code> which in turn is
the super class of <code>RollingFileAppender</code>.
</p>
- <p><b>include UML??</b>
- Figure 4 2 illustrates the class diagram for WriterAppender and its subclasses
- </p>
+
+ <!-- ADD UML DIAGRAM -->
+
<a name="ConsoleAppender" />
<h3>ConsoleAppender</h3>
@@ -1730,7 +1731,7 @@
-
+ <a name="DBAppender"/>
<h3>DBAppender</h3>
<p>
@@ -1819,9 +1820,9 @@
<p>
Experiments show that writing a single event
- into the database takes approximately 50 milliseconds, on a
+ into the database takes approximately 10 milliseconds, on a
"standard" PC. If pooled connections are used, this figure
- drops to under 10 milliseconds. Note that most JDBC drivers
+ drops to around 1 milliseconds. Note that most JDBC drivers
already ship with connection pooling support.
</p>
@@ -2048,6 +2049,9 @@
<code>javax.sql.DataSource</code>, e.g. within a J2EE application
server, see <code>JNDIConnectionSource</code>).
</p>
+<!--
+
+ HAS TO BE TESTED
<p>
If you do not have another connection pooling mechanism built
@@ -2071,7 +2075,8 @@
<a href="http://jakarta.apache.org/commons/dbcp/index.html"> commons-dbcp </a>
documentation for details.
</p>
-
+ -->
+
<p>
Connecting to a database using a <code>DataSource</code> is rather similar.
The configuration now uses
@@ -2255,6 +2260,7 @@
The gain is a <em>4.4</em> factor.
</p>
+ <a name="SyslogAppender" />
<h3>SyslogAppender</h3>
<p>
@@ -2385,10 +2391,25 @@
</p>
+ <a name="Access" />
<h2>Logback Access</h2>
+ <p>
+ Most of the appenders found in logback classic can be used within
+ logback access. They function mostly in the same way as their logback
+ classic counterpart. Precise documentation about these appenders will
+ follow.
+ </p>
+
+<!--
+ <h3>SocketAppender</h3>
+
<h3>SMTPAppender</h3>
-
+
+ <h3>DBAppender</h3>
+
+ <h3>SyslogAppender</h3>
+ -->
More information about the logback-dev
mailing list