
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> + -->