[logback-dev] svn commit: r1408 - in logback/trunk/logback-site/src/site/pages: . css manual templates
noreply.ceki at qos.ch
noreply.ceki at qos.ch
Tue Mar 6 20:11:05 CET 2007
Author: ceki
Date: Tue Mar 6 20:11:05 2007
New Revision: 1408
Added:
logback/trunk/logback-site/src/site/pages/dependencies.html
Modified:
logback/trunk/logback-site/src/site/pages/css/site.css
logback/trunk/logback-site/src/site/pages/demo.html
logback/trunk/logback-site/src/site/pages/documentation.html
logback/trunk/logback-site/src/site/pages/index.html
logback/trunk/logback-site/src/site/pages/manual/appenders.html
logback/trunk/logback-site/src/site/pages/manual/architecture.html
logback/trunk/logback-site/src/site/pages/manual/contextSelector.html
logback/trunk/logback-site/src/site/pages/manual/filters.html
logback/trunk/logback-site/src/site/pages/manual/introduction.html
logback/trunk/logback-site/src/site/pages/manual/joran.html
logback/trunk/logback-site/src/site/pages/manual/layouts.html
logback/trunk/logback-site/src/site/pages/manual/mdc.html
logback/trunk/logback-site/src/site/pages/team.html
logback/trunk/logback-site/src/site/pages/templates/right.js
Log:
- added dependencies.html (a page explaining logback dependencies)
- various other improvements to the docs
Modified: logback/trunk/logback-site/src/site/pages/css/site.css
==============================================================================
--- logback/trunk/logback-site/src/site/pages/css/site.css (original)
+++ logback/trunk/logback-site/src/site/pages/css/site.css Tue Mar 6 20:11:05 2007
@@ -215,6 +215,12 @@
}
+table.bodyTable td {
+ padding-left: 0.5ex;
+ padding-bottom: 0.5ex;
+}
+
+
table.bodyTable tr.a {
background-color: #ddd;
}
Modified: logback/trunk/logback-site/src/site/pages/demo.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/demo.html (original)
+++ logback/trunk/logback-site/src/site/pages/demo.html Tue Mar 6 20:11:05 2007
@@ -23,27 +23,27 @@
<h2>Logback Demo</h2>
<p>
- Welcome to the logback demo! This document will take you to a tour
- that will show you some of the major possibilities of logback.
+ Welcome to the logback demo! This document will take you through
+ tour that will show you some of the major features of logback.
</p>
<h3>Installation</h3>
<p>
- First, please download the logback demo. You will need to install a
- <a href="http://subversion.tigris.org/">Subversion</a> client
- and issue the following line in a command/terminal window:
+ First, please download the logback demo. You will need to install a
+ <a href="http://subversion.tigris.org/">Subversion</a> client and
+ issue the following command on a console:
</p>
<div class="source"><pre>svn co http://svn.qos.ch/repos/logback-demo/trunk logback-demo</pre></div>
-<p>
-This will checkout a copy of the logback demonstration web-app to a directory called
-<em>logback-demo</em>. The logback demo can be packaged as a <em>war</em> file and
-deployed to an application server. We strongly recommand the use of
-<a href="http://maven.apache.org/">Maven 2</a> to do this
-task, since all it will take to compile, package and run a server with the demo is
-a single command.
+<p>This will checkout a copy of the logback demonstration web-app to a
+directory called <em>logback-demo</em>. The logback demo can be
+packaged as a <em>war</em> file and deployed to an application
+server. We strongly recommend the use of <a
+href="http://maven.apache.org/">Maven2</a> to do this task, since all
+it will take to compile, package and run a server with the demo is a
+single command.
</p>
<p>
@@ -53,68 +53,73 @@
<div class="source"><pre>mvn package jetty:run</pre></div>
-<p>
- Then, visit <em>http://localhost:8080/logback-demo/</em> to view the main page of the logback demo.
+<p>Then, visit <em>http://localhost:8080/logback-demo/</em> to view
+the main page of the logback demo.
</p>
<h3>Logback Classic</h3>
-<p>
-For now, logback uses two components: one <code>ConsoleAppender</code> and one
-<code>RollingFileAppender</code>. The <code>RollingFileAppender</code> sends logging events
-to a file called <em>logFile.log</em> and will rollover
-the active file every minute. The old file will be renamed and compressed to <em>zip</em>
-file. The <code>ConsoleAppender</code> will output the logging requests to the console,
-and shorten the logger names to gain some space in the console window, without making the
-names unreadable. For example, <code>ch.qos.logback.demo.prime.NumberCruncherImpl
-</code> will be displayed as <code>c.q.l.d.prime.NumberCruncherImpl</code>.
+<p>For now, logback uses two components: one
+<code>ConsoleAppender</code> and one
+<code>RollingFileAppender</code>. The <code>RollingFileAppender</code>
+sends logging events to a file called <em>logFile.log</em> and will
+rollover the active file every minute. The old file will be renamed
+and compressed to <em>zip</em> file. The <code>ConsoleAppender</code>
+will output the logging requests to the console, and shorten the
+logger names to gain some space in the console window, without making
+the names unreadable. For example,
+<code>ch.qos.logback.demo.prime.NumberCruncherImpl </code> will be
+displayed as <code>c.q.l.d.prime.NumberCruncherImpl</code>.
</p>
<p>You can study the configuration file that is used by editing the
-file called <em>logback.xml</em>, located in the <em>src/main/resources/</em> directory
-of the demo. You might want to keep this file in an editor window, since we will
-modify its content several times thoughout the demo.
-</p>
-
-<p>
-Let's now visit the <em>ViewStatii</em> page, via the navigation menu on the left hand
-of the navigator window. This page contains the content of the <code>Status</code> objects that were
-created until now. <code>Status</code> objects are a part of logback's powerful internal
-reporting framework. They allow you to see what is going on in logback, and check
-that a configuration file has been parsed correctly, or that a rollover has occured as
-expected.
-</p>
-
-<p>
-After you're back to the main window, visiting the <em>View logs</em> page does
-not impress much at the moment. Let us uncomment
-the <strong>two</strong> parts of the config file that are below the <em>Cyclic buffer</em> comment.
-A <code>CyclicBuffer</code> is a class that keeps track of logging events and holds these
-objects for immediate or differed display. The first element that you will need to uncomment
-is the <em>appender</em> element. This element describes and configures the <code>CyclicBuffer</code>.
-The second element, found at the end of the configuration file, is a <em>appender-ref</em> element.
-It is used to link the appender to a given logger.
-Now reload the web-app by exiting the previous command with <em>CTRL-C</em> and issuing it
-again: <em>mvn package jetty:run</em>.
-</p>
-
-<p>
-Now, the <em>View logs</em> page looks prettier. By virtue of the <code>CyclicBufferAppender</code>,
-this page can fetch the last events and present them through a servlet. We see that each 3 seconds
-a line is added to the logs. The formatting of this page is made with
-a <code>HTMLLayout</code>. This component creates a nice and readable table containing the logging
-events, based on a pattern that describes the information one wants to see in the table.
-</p>
+file called <em>logback.xml</em>, located in the
+<em>src/main/resources/</em> directory of the demo. You might want to
+keep this file in an editor window, since we will modify its content
+several times thoughout the demo.
+</p>
+
+<p>Let's now visit the <em>ViewStatii</em> page, via the navigation
+menu on the left hand of the navigator window. This page contains the
+content of the <code>Status</code> objects that were created until
+now. <code>Status</code> objects are a part of logback's powerful
+internal reporting framework. They allow you to see what is going on
+in logback, and check that a configuration file has been parsed
+correctly, or that a rollover has occured as expected.
+</p>
+
+<p>After you're back to the main window, visiting the <em>View
+logs</em> page does not impress much at the moment. Let us uncomment
+the <strong>two</strong> parts of the config file that are below the
+<em>Cyclic buffer</em> comment. A <code>CyclicBuffer</code> is a
+class that keeps track of logging events and holds these objects for
+immediate or differed display. The first element that you will need to
+uncomment is the <em>appender</em> element. This element describes and
+configures the <code>CyclicBuffer</code>. The second element, found
+at the end of the configuration file, is a <em>appender-ref</em>
+element. It is used to link the appender to a given logger. Now
+reload the web-app by exiting the previous command with
+<em>CTRL-C</em> and issuing it again: <em>mvn package jetty:run</em>.
+</p>
+
+<p>Now, the <em>View logs</em> page looks prettier. By virtue of the
+<code>CyclicBufferAppender</code>, this page can fetch the last events
+and present them through a servlet. We see that each 3 seconds a line
+is added to the logs. The formatting of this page is made with a
+<code>HTMLLayout</code>. This component creates a nice and readable
+table containing the logging events, based on a pattern that describes
+the information one wants to see in the table.
+</p>
+
+<p>Having the logs that we see on the web page cluttered with
+scheduled <em>Howdydy-diddly-ho</em> messages is not very
+comfortable. To get rid of these logs, now that we've verified that
+they work, we can add an <code>EvaluatorFilter</code> to the
+Appender. Uncomment the part named <em>Cyclic buffer with
+Evaluator</em>. You may then comment the first Basic Cyclic buffer
+<em>appender</em> element.</p>
-<p>
-Having the logs that we see on the web page cluttered with scheduled
-<em>Howdydy-diddly-ho</em> messages
-is not very comfortable. To get rid of these logs, now that we've verified that they
-work, we can add an <code>EvaluatorFilter</code> to the Appender. Uncomment the
-part named <em>Cyclic buffer with Evaluator</em>. You may then
-comment the first Basic Cyclic buffer <em>appender</em> element.</p>
-<p>
-Let's take a look at the filter we've just added:
+<p>Let's take a look at the filter we've just added:
</p>
<div class="source"><pre><filter class="ch.qos.logback.core.filter.EvaluatorFilter">
@@ -128,150 +133,150 @@
<OnMatch>DENY</OnMatch>
</filter></pre></div>
-<p>
-The expression element contains a familiar java statement. This expression
-checks that the name of the logger contains the String <em>LoggingTask</em>, but
-also that the message accompagnying the log contains <em>Howdydy-diddly-ho</em>.
-Moreover, in order to be sure that the <em>Howdydy-diddly-ho</em> task actually
-works, we add to the expression a last statement that allows logs to be processed
-for the first 20 seconds after the application launch.
-The variables used in this statement (<code>logger</code>, <code>message</code> and
-<code>event</code>) are made available by logback before the filter
-evaluates the expression.
-The <em>OnMatch</em> element allows the user to choose the filter's behaviour once
-the expression was evaluated to true. A similar <em>OnMismatch</em> element exists.
-</p>
-
-<p>
-After a restart, the <em>Vew logs</em> page shows the
-<em>Howdydy-diddly-ho</em> logs for the first 20 seconds only. Trying a prime calculations
-on the <em>Prime number</em> page will add several lines to the <em>View logs</em> page.
+<p>The expression element contains a familiar java statement. This
+expression checks that the name of the logger contains the String
+<em>LoggingTask</em>, but also that the message accompagnying the log
+contains <em>Howdydy-diddly-ho</em>. Moreover, in order to be sure
+that the <em>Howdydy-diddly-ho</em> task actually works, we add to the
+expression a last statement that allows logs to be processed for the
+first 20 seconds after the application launch. The variables used in
+this statement (<code>logger</code>, <code>message</code> and
+<code>event</code>) are made available by logback before the filter
+evaluates the expression. The <em>OnMatch</em> element allows the
+user to choose the filter's behaviour once the expression was
+evaluated to true. A similar <em>OnMismatch</em> element exists.
+</p>
+
+<p>After a restart, the <em>Vew logs</em> page shows the
+<em>Howdydy-diddly-ho</em> logs for the first 20 seconds only. Trying
+a prime calculations on the <em>Prime number</em> page will add
+several lines to the <em>View logs</em> page.
</p>
<h4>Turbo Filters</h4>
-<p>
-Logback ships with a special category of filters: <code>TurboFilter</code> objects
-are ultra-fast, context-wide filters. They reveals themselves very useful to
-test MDC values, for examples and to add context-wide conditions to allow or deny
-logging events. Let's uncomment the part named
-<em>TurboFilter: MDC value</em> in the <em>logback.xml</em> file.
-</p>
-<p>
-This part adds a <code>TurboFilter</code> object to the context. It allows to
-have a typical output for every client that uses the demo application, but a different
-one for one given user. Here, the filter will accept all the requests that are
-associated with a MDC value of <em>sebastien</em> bound to the <em>username</em> key.
-</p>
-<p>
-To view the consequences of such a <code>TurboFilter</code>, we are going to
-stop all logging activity, except for a specific user. To achieve that, the simplest
-way is to set the root logger's level to <code>OFF</code>. Modify the <em>level</em>
-element, nested inside the <em>root</em> element of <em>logback.xml</em>. Its <em>value</em>
-attribute should be <em>OFF</em> instead of <em>DEBUG</em>. Next, restart the server
-as we've done previously.
-</p>
-
-<p>
-Once on the demo main webpage again, perform a few actions (i.e. calculate
-a few prime numbers) and watch the <em>View logs</em> page. The table should be
-empty.
-</p>
-
-<p>
-Now log in the application using the username <em>sebastien</em> and perform a few
-prime calculations again. The <em>View logs</em> page now shows the logs that were
-generated by the calculation classes. Moreover, each log is associated with the name
-of the user who provoked the logging event. Please log off before continuing the
+<p>Logback ships with a special category of filters:
+<code>TurboFilter</code> objects are ultra-fast, context-wide
+filters. They reveals themselves very useful to test MDC values, for
+examples and to add context-wide conditions to allow or deny logging
+events. Let's uncomment the part named <em>TurboFilter: MDC value</em>
+in the <em>logback.xml</em> file.
+</p>
+
+<p>This part adds a <code>TurboFilter</code> object to the context. It
+allows to have a typical output for every client that uses the demo
+application, but a different one for one given user. Here, the filter
+will accept all the requests that are associated with a MDC value of
+<em>sebastien</em> bound to the <em>username</em> key.
+</p>
+
+<p>To view the consequences of such a <code>TurboFilter</code>, we are
+going to stop all logging activity, except for a specific user. To
+achieve that, the simplest way is to set the root logger's level to
+<code>OFF</code>. Modify the <em>level</em> element, nested inside the
+<em>root</em> element of <em>logback.xml</em>. Its <em>value</em>
+attribute should be <em>OFF</em> instead of <em>DEBUG</em>. Next,
+restart the server as we've done previously.
+</p>
+
+<p>Once on the demo main webpage again, perform a few actions
+(i.e. calculate a few prime numbers) and watch the <em>View logs</em>
+page. The table should be empty.
+</p>
+
+<p>Now log in the application using the username <em>sebastien</em>
+and perform a few prime calculations again. The <em>View logs</em>
+page now shows the logs that were generated by the calculation
+classes. Moreover, each log is associated with the name of the user
+who provoked the logging event. Please log off before continuing the
demo, using the <em>logout</em> button on the left.
</p>
<h4>Parametrized logging</h4>
-<p>
-Parametrized logging is a feature that will be a great asset for any performance-critical
-system. Usually, a logging request is issued like this:
+<p>Parametrized logging is a feature that will be a great asset for
+any performance-critical system. Usually, a logging request is issued
+like this:
</p>
<div class="source"><pre>logger.debug("Hello, my name is" + username + ", I am " + age + " years old.");</pre></div>
-<p>
-By issuing this line, the cost of constructing the String cannot be saved when the
-log request is not processed. For example, using the <code>debug()</code> method
-when, as we've just done, the root level is any value higher that <em>DEBUG</em> will
-result in a loss of time because all calls to the <code>debug()</code> method will
-eventually be dropped.
+<p>By issuing this line, the cost of constructing the String cannot be
+saved when the log request is not processed. For example, using the
+<code>debug()</code> method when, as we've just done, the root level
+is any value higher that <em>DEBUG</em> will result in a loss of time
+because all calls to the <code>debug()</code> method will eventually
+be dropped.
</p>
-<p>
-Logback offers the following method:
+<p>Logback offers the following method:
</p>
<div class="source"><pre>logger.debug("Hello, my name is {}, I am {} years old", username, age);</pre></div>
-<p>
-As you can see, the variables are not inserted in the message yet. Both the message
-and the values will be saved and used later, if the logging event is processed.
-</p>
-
-<p>
-Let us now run a test to see what kind of gain can we expect from this different
-message formatting approach. First, go to the <em>Prime number</em> page and
-run a few calculations. Check the time it takes to compute the results. To
-see a clearer difference between the two formatting methods, you might want to
-try the two big integers that are listed below the prime number textbox.
-</p>
-
-<p>
-Now let us edit the <code>NumberCruncherImpl</code> class, to switch the log methods.
-You will find this class in the <em>src/main/java/ch/qos/logback/demo/prime/</em>
-directory. On line 54 and 55, just uncomment the parametrized logging line and
-comment out the other line. Restart the server with <em>mvn package jetty:run</em>
-and re-run the calculations you tried beforehand.
-</p>
-
-<p>
-The durations should be obviously different. Remember that we had turned off all
-logging in the previous step of this demo. With the initial formatting method,
-we were constructing the logging message (<em>"Trying "+i+" as a factor."</em>)
-a huge amount of times, actually each time a factor was tried for these big numbers.
-With the paramatrized logging, the construction of the message was postponed and, since
-logging was turned off, not processed. We see here that the cost of the <b>non-</b>logging
-was taken down to a very small figure, dividing the total cost of the calculation
-by a non-negligeable factor.
+<p>As you can see, the variables are not inserted in the message
+yet. Both the message and the values will be saved and used later, if
+the logging event is processed.
+</p>
+
+<p>Let us now run a test to see what kind of gain can we expect from
+this different message formatting approach. First, go to the <em>Prime
+number</em> page and run a few calculations. Check the time it takes
+to compute the results. To see a clearer difference between the two
+formatting methods, you might want to try the two big integers that
+are listed below the prime number textbox.
+</p>
+
+<p>Now let us edit the <code>NumberCruncherImpl</code> class, to
+switch the log methods. You will find this class in the
+<em>src/main/java/ch/qos/logback/demo/prime/</em> directory. On line
+54 and 55, just uncomment the parametrized logging line and comment
+out the other line. Restart the server with <em>mvn package
+jetty:run</em> and re-run the calculations you tried beforehand.
+</p>
+
+<p>The durations should be obviously different. Remember that we had
+turned off all logging in the previous step of this demo. With the
+initial formatting method, we were constructing the logging message
+(<em>"Trying "+i+" as a factor."</em>) a huge amount of times,
+actually each time a factor was tried for these big numbers. With the
+paramatrized logging, the construction of the message was postponed
+and, since logging was turned off, not processed. We see here that the
+cost of the <b>non-</b>logging was taken down to a very small figure,
+dividing the total cost of the calculation by a non-negligeable
+factor.
</p>
<h4>Markers</h4>
-<p>
-SLF4J allows the use of Marker objects.
-For example, one could use <em>TRACE</em> markers, to enrich some
-specific logging statements. In our demo applications, the <em>Howdydy-diddly-ho</em>
-logging statements are bound to a <em>TRACE</em> marker.
-On the other hand, one could want that such
-marked statements be dropped and not logged anywhere. <code>TurboFilter</code>
-objects can do that in an elegant and flexible way. Let us uncomment the
-<em>TurboFilter: Marker value</em> section in the <em>logback.xml</em> file as
-well as set the root logger's level back to <em>DEBUG</em>,
-and reload via the <em>Reload configuration</em> page.
-</p>
-<p>
-The logging statements that contained the <em>Howdydy-diddly-ho</em> do
-not appear anymore because they were associated with a <em>TRACE</em> marker. You
-can check that by visiting the <em>View Logs</em> page and reloading it every three
+<p>SLF4J allows the use of Marker objects. For example, one could use
+<em>TRACE</em> markers, to enrich some specific logging statements. In
+our demo applications, the <em>Howdydy-diddly-ho</em> logging
+statements are bound to a <em>TRACE</em> marker. On the other hand,
+one could want that such marked statements be dropped and not logged
+anywhere. <code>TurboFilter</code> objects can do that in an elegant
+and flexible way. Let us uncomment the <em>TurboFilter: Marker
+value</em> section in the <em>logback.xml</em> file as well as set the
+root logger's level back to <em>DEBUG</em>, and reload via the
+<em>Reload configuration</em> page.
+</p>
+
+<p>The logging statements that contained the
+<em>Howdydy-diddly-ho</em> do not appear anymore because they were
+associated with a <em>TRACE</em> marker. You can check that by
+visiting the <em>View Logs</em> page and reloading it every three
seconds for several times.
</p>
<h3>Logback Access</h3>
-<p>
-Access logging is another important feature offered by logback. Give a
-look at what appears on the console while
-browsing the logback-demo website. Each access is logged to the console,
-with some information about the event. The configuration file
-that we will edit in the next few steps is called <em>logback-access.xml</em>
-and is located in the <em>src/etc/</em> directory.
-The necessary configuration is listed below:
+<p>Access logging is another important feature offered by
+logback. Give a look at what appears on the console while browsing the
+logback-demo website. Each access is logged to the console, with some
+information about the event. The configuration file that we will edit
+in the next few steps is called <em>logback-access.xml</em> and is
+located in the <em>src/etc/</em> directory. The necessary
+configuration is listed below:
</p>
<div class="source"><pre><configuration>
@@ -287,23 +292,22 @@
</configuration></pre></div>
-<p>
-To see more clearly the output produced by logback access,
-you might want set the root logger's level to <em>OFF</em>, in the first
-logback configuration file, called
-<em>logback.xml</em> and located in <em>src/main/resources/</em>. It will clear
-the console from the logs made by the demo application and only display those
-that are generated by logback access.
-</p>
-
-<p>
-To see the logs produced by logback access, just visit a few pages and
-look at your console. The information contained in each line has been
-specified in the configuration file. The <code>ConsoleAppender</code>
-named <em>STDOUT</em> contains a <code>PatternLayout</code> component.
-This very component that one uses in logback classic to display either
-the message, logger name or level of the request is used in logback
-access to display the request method, requested page, status code and many others.
+<p>To see more clearly the output produced by logback access, you
+might want set the root logger's level to <em>OFF</em>, in the first
+logback configuration file, called <em>logback.xml</em> and located in
+<em>src/main/resources/</em>. It will clear the console from the logs
+made by the demo application and only display those that are generated
+by logback access.
+</p>
+
+<p>To see the logs produced by logback access, just visit a few pages
+and look at your console. The information contained in each line has
+been specified in the configuration file. The
+<code>ConsoleAppender</code> named <em>STDOUT</em> contains a
+<code>PatternLayout</code> component. This very component that one
+uses in logback classic to display either the message, logger name or
+level of the request is used in logback access to display the request
+method, requested page, status code and many others.
</p>
<p>Here is a sample output of this appender.</p>
@@ -323,17 +327,16 @@
<h4>Filtering</h4>
-<p>
-In this next part, we are going to add some information to the console.
-Let us imagine that we want to log the numbers that are tried on the
-<em>Lottery</em> page. We will need a second <code>ConsoleAppender</code>
-that will only print a given information (e.g. the guessed number, along
-with some hints about the player). The appender will also have to
-print that information only when a certain page is accessed.
+<p>In this next part, we are going to add some information to the
+console. Let us imagine that we want to log the numbers that are
+tried on the <em>Lottery</em> page. We will need a second
+<code>ConsoleAppender</code> that will only print a given information
+(e.g. the guessed number, along with some hints about the player). The
+appender will also have to print that information only when a certain
+page is accessed.
</p>
-<p>
-The configuration lines that are necessary are listed below.
+<p>The configuration lines that are necessary are listed below.
</p>
<div class="source"><pre><appender name="STDOUT_LOTTERY"
@@ -358,58 +361,59 @@
</layout>
</appender></pre></div>
-<p>
-This appender will use a <code>PatternLayout</code> to format its output.
-The <em>%reqParameter</em> conversion word is used to extract the guessed number
-from the request, and print it.
-</p>
-<p>
-It also uses an <code>EvaluatorFilter</code> that will prevent the appender
-to display anything when the access' request url does not match the
-given expression. You can see that it is easy to specify a RegExp, name
-it and use it in the expression that will be evaluated. In that case, we only
-entered the name of the <em>lottery.do</em> action.
-</p>
-
-<p>
-Let us uncomment the two elements with the <em>Lottery to Console</em> comments and
-restart the server. Now, try to play the lottery. You will see more lines in the
-Console that you've seen until now. At every try, logback will produce a log
-as shown below:
+<p>This appender will use a <code>PatternLayout</code> to format its
+output. The <em>%reqParameter</em> conversion word is used to extract
+the guessed number from the request, and print it.
+</p>
+
+<p>It also uses an <code>EvaluatorFilter</code> that will prevent the
+appender to display anything when the access' request url does not
+match the given expression. You can see that it is easy to specify a
+RegExp, name it and use it in the expression that will be
+evaluated. In that case, we only entered the name of the
+<em>lottery.do</em> action.
+</p>
+
+<p>Let us uncomment the two elements with the <em>Lottery to
+Console</em> comments and restart the server. Now, try to play the
+lottery. You will see more lines in the Console that you've seen until
+now. At every try, logback will produce a log as shown below:
</p>
<div class="source"><pre>LOTTERY: 192.168.1.6 [POST /logback-demo/Lottery.do HTTP/1.1] Guess=321</pre></div>
<h4>Sending emails</h4>
-<p>
-Logback access provides several components that are usually used by the classic
-module. For example, a <code>SMTPAppender</code> can be used to send an email when
-a specific event occurs. Here, we will contact the lottery administrator each time
-a winner is detected. To achieve this, we will add a <code>SMTPAppender</code> to
-the existing configuration. Please uncomment the part of <em>logback-access.xml</em>
-named <em>Lottery to Email</em>. Do not forget to uncomment the
-<em>appender-ref</em> element, at the end of the configuration file, referencing
-the appender called <em>SMTP</em>. In the appender element, notice the use of a
-<code>URLEvaluator</code>. This evaluator allows us to only specify one or more URLs
-that have to be watched. When one of them are accessed, an email is sent.
-</p>
-
-<p>
-A reload of the configuration has to be done before we can test this new
-component. Once done, try to play the lottery with the number <em>99</em>.
-You should see a congratulation message but, most importantly, the
-specified recipients should have a new mail in their mailbox. The content
-of the email is a nicely formatted HTML table with informations about
-the access that have occured before the triggering event.
+<p>Logback access provides several components that are usually used by
+the classic module. For example, a <code>SMTPAppender</code> can be
+used to send an email when a specific event occurs. Here, we will
+contact the lottery administrator each time a winner is detected. To
+achieve this, we will add a <code>SMTPAppender</code> to the existing
+configuration. Please uncomment the part of
+<em>logback-access.xml</em> named <em>Lottery to Email</em>. Do not
+forget to uncomment the <em>appender-ref</em> element, at the end of
+the configuration file, referencing the appender called
+<em>SMTP</em>. In the appender element, notice the use of a
+<code>URLEvaluator</code>. This evaluator allows us to only specify
+one or more URLs that have to be watched. When one of them are
+accessed, an email is sent.
+</p>
+
+<p>A reload of the configuration has to be done before we can test
+this new component. Once done, try to play the lottery with the number
+<em>99</em>. You should see a congratulation message but, most
+importantly, the specified recipients should have a new mail in their
+mailbox. The content of the email is a nicely formatted HTML table
+with informations about the access that have occured before the
+triggering event.
</p>
<h3>JMX</h3>
-<p>
-Logback publishes several components via JMX. This allows you to see
-the status of certain objects, and change several configuration parameters.
-Publishing logback's components via JMX is possible with Jetty and Tomcat.
+<p>Logback publishes several components via JMX. This allows you to
+see the status of certain objects, and change several configuration
+parameters. Publishing logback's components via JMX is possible with
+Jetty and Tomcat.
</p>
<p>
@@ -418,41 +422,42 @@
<div class="source"><pre>http://localhost:8082/</pre></div>
-<p>
-The domain <em>ch.qos.logback.access.jetty</em> contains an entry
-that allows you to see the <em>RequestLogImpl</em> component. This component
-is used to plug logback in Jetty's internal achitecture. Clicking on
-it reveals the status of several parameters, such as the started status, and
-two methods are available to start and stop the <em>RequestLogImpl</em>.
-</p>
-
-<p>
-To see the influence of the available operations, place the terminal window
-and your web browser such that you can see them both. Stop the <em>RequestLogImlp</em>
-and reload a few times the main page of the demo. Nothing should be displayed. If you start
-the <em>RequestLogImpl</em> again, the requests will be shown in the terminal
-window.
+<p>The domain <em>ch.qos.logback.access.jetty</em> contains an entry
+that allows you to see the <em>RequestLogImpl</em> component. This
+component is used to plug logback in Jetty's internal
+achitecture. Clicking on it reveals the status of several parameters,
+such as the started status, and two methods are available to start and
+stop the <em>RequestLogImpl</em>.
+</p>
+
+<p>To see the influence of the available operations, place the
+terminal window and your web browser such that you can see them
+both. Stop the <em>RequestLogImlp</em> and reload a few times the main
+page of the demo. Nothing should be displayed. If you start the
+<em>RequestLogImpl</em> again, the requests will be shown in the
+terminal window.
+</p>
+
+<p>In the <em>logback-access.xml</em> configuration file, uncomment
+the <em>JMX</em> part and restart the server. A
+<code>CountingFilter</code> will now be available in the
+<em>ch.qos.logback.access</em> domain. Clicking on it will display
+several statistical figures corresponding to server accesses. Loading
+some application pages will make these figures grow and show a
+time-sensitive picture of the server activity.
</p>
-<p>
-In the <em>logback-access.xml</em> configuration file, uncomment the <em>JMX</em>
-part and restart the server. A <code>CountingFilter</code> will now be available in
-the <em>ch.qos.logback.access</em> domain. Clicking on it will display several statistical
-figures corresponding to server accesses. Loading some application pages will make
-these figures grow and show a time-sensitive picture of the server activity.
-</p>
-
-<p>
-These is more to discover with logback and JMX. In the <em>logback.xml</em> file,
-placed in the <em>src/main/resources</em> directory, uncomment the <code>JMXConfigurator</code>
-element. Once done, restart the server.
-</p>
-
-<p>
-By refreshing the previously loaded JMX page, you should see a new component,
-under the domain <em>ch.qos.logback.classic</em>. It is the <code>JMXConfigurator</code>.
-Clicking on it reveals its content. Its possibilities are listed below:
+<p>These is more to discover with logback and JMX. In the
+<em>logback.xml</em> file, placed in the <em>src/main/resources</em>
+directory, uncomment the <code>JMXConfigurator</code> element. Once
+done, restart the server.
+</p>
+
+<p>By refreshing the previously loaded JMX page, you should see a new
+component, under the domain <em>ch.qos.logback.classic</em>. It is the
+<code>JMXConfigurator</code>. Clicking on it reveals its content. Its
+possibilities are listed below:
</p>
<ul>
@@ -474,47 +479,40 @@
<p>Change the level setting of a specified logger.</p>
</ul>
-<p>
- In the last case, you must specify the name of the logger you
- wish to alter, and its new level.
+<p> In the last case, you must specify the name of the logger you wish
+ to alter, and its new level.
</p>
-<p>
-Checking the level of a logger is an easy task. Enter the name of the logger in
-the appropriate field and click the <em>Invoke</em> button. You should be able
-to verify that the logger named <em>root</em> has its level set to <em>OFF</em>.
+<p>Checking the level of a logger is an easy task. Enter the name of
+the logger in the appropriate field and click the <em>Invoke</em>
+button. You should be able to verify that the logger named
+<em>root</em> has its level set to <em>OFF</em>.
</p>
-<p>
-Let us test the level setting possibility of the configurator.
-The <em>Prime Number</em> page requests two types of logs. When the
-calculation checks if a number is a factor, a <em>DEBUG</em> log is displayed. When
-the calculation has found a factor, a <em>INFO</em> log is displayed.
+<p>Let us test the level setting possibility of the configurator. The
+<em>Prime Number</em> page requests two types of logs. When the
+calculation checks if a number is a factor, a <em>DEBUG</em> log is
+displayed. When the calculation has found a factor, a <em>INFO</em>
+log is displayed.
</p>
-<p>
-Let us first set the level of the logger named <em>ch.qos.logback.demo.prime</em>
-to <em>DEBUG</em>. Run a prime calculation directly, without restarting the server. The
-<em>View logs</em> page should show the <em>DEBUG</em> and <em>INFO</em> logs.
+<p>Let us first set the level of the logger named
+<em>ch.qos.logback.demo.prime</em> to <em>DEBUG</em>. Run a prime
+calculation directly, without restarting the server. The <em>View
+logs</em> page should show the <em>DEBUG</em> and <em>INFO</em> logs.
</p>
-<p>
-Now, if you set the level of the <em>ch.qos.logback.demo.prime</em> logger to
-<em>INFO</em>, and run a prime calculation
-again, you should not see the <em>DEBUG</em> level logs anymore.
+<p>Now, if you set the level of the <em>ch.qos.logback.demo.prime</em>
+logger to <em>INFO</em>, and run a prime calculation again, you should
+not see the <em>DEBUG</em> level logs anymore.
</p>
-<p>
-This demo of logback is now over. Do not hesitate to play around with the configuration files.
-You might want to check the <a href="http://logback.qos.ch/documentation.html">
-logback documentation page</a> for more information about any component
-you'd like to test.
+<p>This demo of logback is now over. Do not hesitate to play around
+with the configuration files. You might want to check the <a
+href="http://logback.qos.ch/documentation.html"> logback documentation
+page</a> for more information about any component you'd like to test.
</p>
-
-
-
-
<script src="templates/footer.js"></script>
</div>
Added: logback/trunk/logback-site/src/site/pages/dependencies.html
==============================================================================
--- (empty file)
+++ logback/trunk/logback-site/src/site/pages/dependencies.html Tue Mar 6 20:11:05 2007
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+<title>Logback Dependencies</title>
+<link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
+</head>
+<body>
+<script>
+ prefix='';
+</script>
+
+<script src="templates/header.js"></script>
+<div id="left">
+ <script src="templates/left.js"></script>
+</div>
+<div id="right">
+ <script src="templates/right.js"></script>
+</div>
+<div id="content">
+
+
+ <h1>Dependencies per module</h1>
+
+ <p>Each logback module has a different set of dependencies. These
+ are listed below in a separate table per module.</p>
+
+ <h2>logback-core</h2>
+
+ <table class="bodyTable">
+ <tr>
+ <th>Component</th>
+ <th>dependencies</th>
+ </tr>
+
+ <tr class="a">
+ <td>Overall</td>
+ <td>
+ <ul>
+ <li>JDK 1.5, unless you are using the retro-translated
+ <em>logback-core-${project.version}-jdk14.jar</em> which
+ requires JDK 1.4
+ </li>
+ </ul>
+ </td>
+ </tr>
+
+ <tr class="b">
+ <td>JMSAppender</td>
+ <td>
+ <ul>
+ <li><a href="http://java.sun.com/products/jms/docs.html">JMS
+ API</a> version 1.1
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr class="b">
+ <td>SMTPAppender</td>
+ <td>
+ <ul>
+ <li><a
+ href="https://glassfish.dev.java.net/javaee5/mail/">JavaMail
+ API</a> version 1.4,
+ </li>
+ <li><a
+ href="http://java.sun.com/products/javabeans/jaf/index.jsp">JavaBeans
+ Activation Framework (JAF)</a> version 1.1
+ </li>
+ </ul>
+ </td>
+ </tr>
+ <tr class="a">
+ <td>JaninoEventEvaluatorBase and derived classes</td>
+ <td>
+ <ul>
+ <li><a href="http://janino.net">Janino</a> version 2.4.3</li>
+ </ul>
+ </td>
+ </tr>
+ </table>
+
+ <h2>logback-classic</h2>
+
+ <table class="bodyTable">
+ <tr>
+ <th>Component</th>
+ <th>dependencies</th>
+ </tr>
+
+ <tr class="a">
+ <td>Overall</td>
+ <td>
+ <ul>
+ <li>JDK 1.5, unless you are using the retro-translated
+ <em>logback-classic-${project.version}-jdk14.jar</em> which
+ requires JDK 1.4
+ </li>
+ </ul>
+ </td>
+ </tr>
+
+ <tr class="b">
+ <td>Overall</td>
+ <td>
+ <ul>
+ <li>logback-core, and by transitivity logback-core's
+ dependencies.
+ </li>
+ </ul>
+ </td>
+ </tr>
+
+ <tr class="a">
+ <td>Overall</td>
+ <td>
+ <ul>
+ <li><a href="http://www.slf4j.org">slf4j-api</a> version
+ ${slf4j.version}
+ </li>
+ </ul>
+ </td>
+ </tr>
+
+ <tr class="b">
+ <td>ch.qos.logback.classic.selector.*</td>
+ <td>
+ <ul>
+ <li>servlet-api version 2.5
+ </li>
+ </ul>
+ </td>
+ </tr>
+ </table>
+
+ <h2>logback-access</h2>
+
+ <table class="bodyTable">
+ <tr>
+ <th>Component</th>
+ <th>dependencies</th>
+ </tr>
+
+ <tr class="a">
+ <td>Overall</td>
+ <td>
+ <ul>
+ <li>JDK 1.5, unless you are using the retro-translated
+ <em>logback-classic-${project.version}-jdk14.jar</em> which
+ requires JDK 1.4
+ </li>
+ </ul>
+ </td>
+ </tr>
+
+ <tr class="b">
+ <td>Overall</td>
+ <td>
+ <ul>
+ <li>logback-core, and by transitivity logback-core's
+ dependencies.
+ </li>
+ </ul>
+ </td>
+ </tr>
+
+ <tr class="a">
+ <td>Overall</td>
+ <td>
+ <ul>
+ <li>servlet-api version 2.5
+ </li>
+ </ul>
+ </td>
+ </tr>
+
+
+ <tr class="b">
+ <td>ch.qos.logback.access.jetty.*</td>
+ <td>
+ <ul>
+ <li><a href="http://jetty.mortbay.org">Jetty</a> version 6.1.1
+ </li>
+ </ul>
+ </td>
+ </tr>
+
+ <tr class="a">
+ <td>ch.qos.logback.access.tomcat.*</td>
+ <td>
+ <ul>
+ <li><a href="http://tomcat.apache.org">Tomcat</a> version 5.5.15
+ </li>
+ </ul>
+ </td>
+ </tr>
+ </table>
+
+
+<script src="../templates/footer.js"></script>
+</div>
+</body>
+</html>
+
\ No newline at end of file
Modified: logback/trunk/logback-site/src/site/pages/documentation.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/documentation.html (original)
+++ logback/trunk/logback-site/src/site/pages/documentation.html Tue Mar 6 20:11:05 2007
@@ -34,6 +34,12 @@
<li>
<a href="faq.html">A Frequently Asked Questions list (FAQ)</a>
</li>
+
+ <li>
+ <a href="dependencies.html">Dependencies per module</a>
+ </li>
+
+
<li>
<a href="bridge.html">How to use the log4j bridge</a>
</li>
@@ -41,7 +47,7 @@
<a href="jmxConfig.html">How to use the logback JMX Configurator</a>
</li>
<li>
- <a href="demo.html">A step-by-step document to experience the logback-demo webApp</a>
+ <a href="demo.html">Walk-through logback-demo webApp</a>
</li>
</ul>
@@ -59,17 +65,14 @@
</li>
</ul>
- <p>
- Recently, Ceki Gülcü presented the top 10 reasons for migrating your projects to logback.
- Issues such as migration strategy, new APIs, SLF4J and Joran were be discussed. Emphasis was given to
- practical aspects and a live demo rather than relatively theoretical considerations. If you were
- not able to attend the presentation (or even if you were there), you can
- <a href="10reasons.ppt">download the slides</a> that Ceki used.
- </p>
-
-
-
-
+ <h2>Articles and Presentations</h2>
+
+ <ul>
+ <li><a href="10reasons.ppt">Top 10 reasons for migrating to
+ logback</a>, by Ceki Gülcü and Sébastien
+ Pennec.
+ </li>
+ </ul>
<script src="templates/footer.js"></script>
</div>
Modified: logback/trunk/logback-site/src/site/pages/index.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/index.html (original)
+++ logback/trunk/logback-site/src/site/pages/index.html Tue Mar 6 20:11:05 2007
@@ -51,7 +51,7 @@
</p>
-
+<script src="templates/footer.js"></script>
</div>
</body>
</html>
Modified: logback/trunk/logback-site/src/site/pages/manual/appenders.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/appenders.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/appenders.html Tue Mar 6 20:11:05 2007
@@ -4,10 +4,12 @@
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Chapter 4: Appenders</title>
<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
+<link rel="stylesheet" type="text/css" media="print" href="../css/print.css" />
+
</head>
<body>
- <script>
-prefix='../';
+<script>
+ prefix='../';
</script>
<script src="../templates/header.js"></script>
<div id="left">
@@ -224,13 +226,13 @@
configurable options. These options are described next.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">Encoding</span></b></td>
<td><code>String</code></td>
<td>
@@ -248,7 +250,7 @@
that the platform's default encoding is used.
</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">ImmediateFlush</span></b></td>
<td><code>boolean</code></td>
@@ -351,23 +353,23 @@
which buffers I/O operations but not character conversions.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">Encoding</span></b></td>
<td><code>String</code></td>
<td>See <code>WriterAppender</code> options.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">ImmediateFlush</span></b></td>
<td><code>boolean</code></td>
<td>See <code>WriterAppender</code> options.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">Target</span></b></td>
<td><code>String</code></td>
<td>
@@ -422,25 +424,25 @@
a <code>BufferedWriter</code>. Options for <code>FileAppender</code> are summarized below.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">Append</span></b></td>
<td><code>boolean</code></td>
<td>If true, events are appended at the end of an existing file.
Otherwise, if <span class="option">Append</span> is false, any existing
file is truncated. The <span class="option">Append</span> option is set to true by default.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">Encoding</span></b></td>
<td><code>String</code></td>
<td>See <code>WriterAppender</code> options.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">BufferedIO</span></b></td>
<td><code>boolean</code></td>
<td>
@@ -456,12 +458,12 @@
CPU cycles in the process.
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">BufferSize</span></b></td>
<td><code>int</code></td>
<td>Size of <code>BufferedWriter</code> buffer. The default value is 8192.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">File</span></b></td>
<td><code>String</code></td>
<td>
@@ -475,7 +477,7 @@
The <span class="option">File</span> option has no default value.
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">ImmediateFlush</span></b></td>
<td><code>boolean</code></td>
<td>
@@ -566,43 +568,43 @@
<p>Here are the available options for <code>RollingFileAppender</code>:</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">Append</span></b></td>
<td><code>boolean</code></td>
<td>See <code>FileAppender</code> options.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">BufferedIO</span></b></td>
<td><code>boolean</code></td>
<td>See <code>FileAppender</code> options.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">BufferSize</span></b></td>
<td><code>int</code></td>
<td>See <code>FileAppender</code> options.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">Encoding</span></b></td>
<td><code>String</code></td>
<td>See <code>WriterAppender</code> options.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">File</span></b></td>
<td><code>String</code></td>
<td>See <code>FileAppender</code> options.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">ImmediateFlush</span></b></td>
<td><code>boolean</code></td>
<td>See <code>WriterAppender</code> options.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">RollingPolicy</span></b></td>
<td><code>RollingPolicy</code></td>
<td>
@@ -611,7 +613,7 @@
occurs. See more information below.
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">TriggeringPolicy</span></b></td>
<td><code>TriggeringPolicy</code></td>
<td>
@@ -671,13 +673,13 @@
Here are the available options for <code>FixedWindowRollingPolicy</code>
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">FileNamePattern</span></b></td>
<td><code>String</code></td>
<td>
@@ -703,7 +705,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">MaxIndex</span></b></td>
<td><code>int</code></td>
<td>
@@ -712,7 +714,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">MinIndex</span></b></td>
<td><code>int</code></td>
<td>
@@ -740,8 +742,8 @@
option is set to <em>foo.log</em>.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>
Steps
</th>
@@ -753,7 +755,7 @@
</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td>
0
</td>
@@ -768,7 +770,7 @@
into the initial file.
</td>
</tr>
- <tr>
+ <tr class="a">
<td>
1
</td>
@@ -783,7 +785,7 @@
a new <em>foo.log</em> file is created and used for the output.
</td>
</tr>
- <tr>
+ <tr class="b">
<td>
2
</td>
@@ -799,7 +801,7 @@
Again, a new <em>foo.log</em> file is created and used for the output.
</td>
</tr>
- <tr>
+ <tr class="a">
<td>
3
</td>
@@ -816,7 +818,7 @@
A new <em>foo.log</em> file is created and used for the output.
</td>
</tr>
- <tr>
+ <tr class="b">
<td>
4
</td>
@@ -892,16 +894,16 @@
of <em>yyyy-MM-dd</em> is assumed. The following examples should
clarify the point.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>
<span class="option">FileNamePattern</span>
</th>
<th>Roll-over schedule</th>
<th>Example</th>
</tr>
- <tr>
- <td>
+ <tr class="b">
+ <td class="small">
<em>/wombat/folder/foo.%d</em>
</td>
<td>
@@ -917,8 +919,8 @@
output will be directed to <em>/wombat/foo.2006-11-24</em>.
</td>
</tr>
- <tr>
- <td>
+ <tr class="a">
+ <td class="small">
<em>/wombat/foo.%d{yyyy-MM}.log</em>
</td>
<td>Rollover at the beginning of each month.</td>
@@ -930,8 +932,8 @@
<em>/wombat/foo.2006-11.log</em>.
</td>
</tr>
- <tr>
- <td>
+ <tr class="b">
+ <td class="small">
<em>/wombat/foo.%d{yyyy-ww}.log</em>
</td>
<td>Rollover at the first day of each week. Note that the first
@@ -944,9 +946,9 @@
until it is rolled over at the beginning of the next week.
</td>
</tr>
- <tr>
- <td>
- <em>/wombat/foo.%d{yyyy-MM-dd-a}.log</em>
+ <tr class="a">
+ <td class="small">
+ <em>/wombat/foo. /<br/>%d{yyyy-MM-dd-a}.log</em>
</td>
<td>Rollover at midnight and midday of each day.</td>
<td>
@@ -956,9 +958,9 @@
<em>/wombat/foo.2006-11-03-PM.log</em>.
</td>
</tr>
- <tr>
- <td>
- <em>/wombat/foo.%d{yyyy-MM-dd_HH}.log</em>
+ <tr class="b">
+ <td class="small">
+ <em>/wombat/foo. /<br/>%d{yyyy-MM-dd_HH}.log</em>
</td>
<td>Rollover at the top of each hour.</td>
<td>
@@ -968,9 +970,9 @@
<em>/wombat/foo.2006-11-03_12.log</em>.
</td>
</tr>
- <tr>
- <td>
- <em>/wombat/foo.%d{yyyy-MM-dd_HH-mm}.log</em>
+ <tr class="a">
+ <td class="small">
+ <em>/wombat/foo. /<br/>%d{yyyy-MM-dd_HH-mm}.log</em>
</td>
<td>Rollover at the beggining of every minute.</td>
<td>
@@ -1002,13 +1004,13 @@
This feature is enabled if the value of the <span class="option">FileNamePattern</span> option
ends with <em>.gz</em> or <em>.zip</em>.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th><span class="option">FileNamePattern</span></th>
<th>Rollover schedule</th>
<th>Example</th>
</tr>
- <tr>
+ <tr class="b">
<td><em>/wombat/foo.%d.gz</em></td>
<td>Daily rollover (at midnight) with automatic GZIP compression of the
arcived files.</td>
@@ -1271,13 +1273,13 @@
<code>SocketAppender</code> options are listed in the following table.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">IncludeCallerData</span></b></td>
<td><code>boolean</code></td>
<td>
@@ -1288,7 +1290,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">Port</span></b></td>
<td><code>int</code></td>
<td>
@@ -1297,7 +1299,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">ReconnectionDelay</span></b></td>
<td><code>int</code></td>
<td>
@@ -1310,7 +1312,7 @@
connector thread present.
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">RemoteHost</span></b></td>
<td><code>String</code></td>
<td>
@@ -1501,13 +1503,13 @@
Here are <code>JMSAppenderBase</code>'s options:
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">InitialContextFactoryName</span></b></td>
<td><code>String</code></td>
<td>
@@ -1523,7 +1525,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">ProviderURL</span></b></td>
<td><code>String</code></td>
<td>
@@ -1539,7 +1541,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">URLPkgPrefixes</span></b></td>
<td><code>String</code></td>
<td>
@@ -1561,7 +1563,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">SecurityPrincipalName</span></b></td>
<td><code>String</code></td>
<td>
@@ -1576,7 +1578,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="b">
<td>
<b>
<span class="option">SecurityCredentials</span>
@@ -1599,7 +1601,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="a">
<td>
<b>
<span class="option">UserName</span>
@@ -1614,7 +1616,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="b">
<td>
<b>
<span class="option">Password</span>
@@ -1804,13 +1806,13 @@
listed below.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">TopicConnectionFactoryBindingName</span></b></td>
<td><code>String</code></td>
<td>
@@ -1819,7 +1821,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">TopicBindingName</span></b></td>
<td><code>String</code></td>
<td>
@@ -1873,13 +1875,13 @@
listed below.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">QueueConnectionFactoryBindingName</span></b></td>
<td><code>String</code></td>
<td>
@@ -1888,7 +1890,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">QueueBindingName</span></b></td>
<td><code>String</code></td>
<td>
@@ -1939,20 +1941,20 @@
The various options for <code>SMTPAppender</code> are summarized in the following table.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">SMTPHost</span></b></td>
<td><code>String</code></td>
<td>
The host name of the SMTP server. This parameter is mandatory.
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">To</span></b></td>
<td><code>String</code></td>
<td>
@@ -1960,7 +1962,7 @@
be specified by using several <To> elements.
</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">From</span></b></td>
<td><code>String</code></td>
<td>
@@ -1968,7 +1970,7 @@
<code>SMTPAppender</code>.
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">Subject</span></b></td>
<td><code>String</code></td>
<td>
@@ -1990,7 +1992,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="b">
<td><b><span class="option">BufferSize</span></b></td>
<td><code>String</code></td>
<td>
@@ -2001,7 +2003,7 @@
The default size of the cyclic buffer is 512.
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b><span class="option">Evaluator</span></b></td>
<td><code>String</code></td>
<td>
@@ -2251,8 +2253,8 @@
<code>getGeneratedKeys()</code> method.
</p>
- <table border="1" cellpadding="4">
- <tr>
+ <table class="bodyTable" border="1" cellpadding="4">
+ <tr class="a">
<th>RDBMS</th>
<th>
supports
@@ -2266,32 +2268,32 @@
SQLDialect support
</th>
</tr>
- <tr>
+ <tr class="b">
<td>PostgreSQL</td>
<td>NO</td>
<td>present and used</td>
</tr>
- <tr>
+ <tr class="a">
<td>MySQL</td>
<td>YES</td>
<td>present, but not actually needed or used</td>
</tr>
- <tr>
+ <tr class="b">
<td>Oracle</td>
<td>YES</td>
<td>present, but not actually needed or used</td>
</tr>
- <tr>
+ <tr class="a">
<td>DB2</td>
<td>YES</td>
<td>not present, and not needed or used</td>
</tr>
- <tr>
+ <tr class="b">
<td>MsSQL</td>
<td>YES</td>
<td>not present, and not needed or used</td>
</tr>
- <tr>
+ <tr class="a">
<td>HSQL</td>
<td>NO</td>
<td>present and used</td>
@@ -2324,35 +2326,35 @@
<p>
The <em>logging_event</em> table contains the following fields:
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b>timestmp</b></td>
<td><code>big int</code></td>
<td>The timestamp that was valid at the logging event's creation.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>formatted_message</b></td>
<td><code>text</code></td>
<td>The message that has been added to the logging event, after formatting with
<code>org.slf4j.impl.MessageFormatter</code>, in case object were passed
along with the message.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>logger_name</b></td>
<td><code>varchar</code></td>
<td>The name of the logger used to issue the logging request.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>level_string</b></td>
<td><code>varchar</code></td>
<td>The level of the logging event.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>reference_flag</b></td>
<td><code>smallint</code></td>
<td>
@@ -2370,27 +2372,27 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>caller_filename</b></td>
<td><code>varchar</code></td>
<td>The name of the file where the logging request was issued.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>caller_class</b></td>
<td><code>varchar</code></td>
<td>The class where the logging request was issued.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>caller_method</b></td>
<td><code>varchar</code></td>
<td>The name of the method where the logging request was issued.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>caller_line</b></td>
<td><code>char</code></td>
<td>The line number where the logging request was issued.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>event_id</b></td>
<td><code>int</code></td>
<td>The database id of the logging event.</td>
@@ -2403,23 +2405,23 @@
It contains these fields:
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b>event_id</b></td>
<td><code>int</code></td>
<td>The database id of the logging event.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>mapped_key</b></td>
<td><code>varchar</code></td>
<td>The key of the <code>MDC</code> property</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>mapped_value</b></td>
<td><code>text</code></td>
<td>The value of the <code>MDC</code> property</td>
@@ -2430,23 +2432,23 @@
The <em>logging_event_exception</em> table contains the following fields:
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td><b>event_id</b></td>
<td><code>int</code></td>
<td>The database id of the logging event.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>i</b></td>
<td><code>smallint</code></td>
<td>The index of the line in the full stack trace.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>trace_line</b></td>
<td><code>varchar</code></td>
<td>The corresponding line</td>
@@ -2759,13 +2761,13 @@
Here are its options:
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td>
<b>
<span class="option">SyslogHost</span>
@@ -2778,7 +2780,7 @@
The host name of the syslog server.
</td>
</tr>
- <tr>
+ <tr class="a">
<td>
<b>
<span class="option">Port</span>
@@ -2792,7 +2794,7 @@
to change the default value, that is <em>514</em>.
</td>
</tr>
- <tr>
+ <tr class="b">
<td>
<b>
<span class="option">Facility</span>
@@ -2814,7 +2816,7 @@
</p>
</td>
</tr>
- <tr>
+ <tr class="a">
<td>
<b>
<span class="option">SuffixPattern</span>
@@ -2964,62 +2966,62 @@
<p>The <em>access_event</em> table's fields are described below:</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="a">
<td><b>timestmp</b></td>
<td><code>big int</code></td>
<td>The timestamp that was valid at the access event's creation.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>requestURI</b></td>
<td><code>varchar</code></td>
<td>The URI that was requested.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>requestURL</b></td>
<td><code>varchar</code></td>
<td>The URL that was requested. This is a string composed of the request method,
the request URI and the request protocol.
</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>remoteHost</b></td>
<td><code>varchar</code></td>
<td>The name of the remote host.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>remoteUser</b></td>
<td><code>varchar</code></td>
<td>
The name of the remote user.
</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>remoteAddr</b></td>
<td><code>varchar</code></td>
<td>The remote IP address.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>protocol</b></td>
<td><code>varchar</code></td>
<td>The request protocol, like <em>HTTP</em> or <em>HTTPS</em>.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>method</b></td>
<td><code>varchar</code></td>
<td>The request method, usually <em>GET</em> or <em>POST</em>.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>serverName</b></td>
<td><code>varchar</code></td>
<td>The name of the server that issued the request.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>event_id</b></td>
<td><code>int</code></td>
<td>The database id of the access event.</td>
@@ -3031,23 +3033,23 @@
requests. The information is organised as shown below:
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Field</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="a">
<td><b>event_id</b></td>
<td><code>int</code></td>
<td>The database id of the corresponding access event.</td>
</tr>
- <tr>
+ <tr class="b">
<td><b>header_key</b></td>
<td><code>varchar</code></td>
<td>The header name, for example <em>User-Agent</em>.</td>
</tr>
- <tr>
+ <tr class="a">
<td><b>header_value</b></td>
<td><code>varchar</code></td>
<td>The header value, for example <em>Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0</em></td>
@@ -3060,13 +3062,13 @@
described below.
</p>
- <table>
- <tr>
+ <table class="bodyTable">
+ <tr class="a">
<th>Option Name</th>
<th>Type</th>
<th>Description</th>
</tr>
- <tr>
+ <tr class="b">
<td>
<b>
<span class="option">insertHeaders</span>
Modified: logback/trunk/logback-site/src/site/pages/manual/architecture.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/architecture.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/architecture.html Tue Mar 6 20:11:05 2007
@@ -4,6 +4,8 @@
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Chapter 2: Architecture</title>
<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
+<link rel="stylesheet" type="text/css" media="print" href="../css/print.css" />
+
</head>
<body>
<script>
Modified: logback/trunk/logback-site/src/site/pages/manual/contextSelector.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/contextSelector.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/contextSelector.html Tue Mar 6 20:11:05 2007
@@ -4,6 +4,8 @@
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Chapter 8: Context Selector</title>
<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
+<link rel="stylesheet" type="text/css" media="print" href="../css/print.css" />
+
</head>
<body>
<script>
Modified: logback/trunk/logback-site/src/site/pages/manual/filters.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/filters.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/filters.html Tue Mar 6 20:11:05 2007
@@ -4,6 +4,8 @@
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Chapter 6: Filters</title>
<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
+<link rel="stylesheet" type="text/css" media="print" href="../css/print.css" />
+
</head>
<body>
<script>
Modified: logback/trunk/logback-site/src/site/pages/manual/introduction.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/introduction.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/introduction.html Tue Mar 6 20:11:05 2007
@@ -4,6 +4,8 @@
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Chapter 1: Introduction</title>
<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
+<link rel="stylesheet" type="text/css" media="print" href="../css/print.css" />
+
</head>
<body>
<script>
@@ -206,7 +208,7 @@
</ol>
<a name="BuildingLogback"></a>
- <h3>Building logback</h3>
+ <h2>Building logback</h2>
<!--
@@ -220,20 +222,29 @@
-->
- <p>Like many java applications today, logback relies on <a
- href="http://maven.apache.org"> Maven 2</a> as its build tool. Maven
- 2 is a free open source build tool that requires one or more build
- files names <em>pom.xml</em> which already ship with logback
- distributions.
+ <p>Logback relies on <a href="http://maven.apache.org">Maven2</a> as
+ its build tool. Maven2 is a widely-used open-source build tool.
+ </p>
+
+ <p>Once you have installed Maven2, building the logback project,
+ including all its modules, should be as easy as issuing a <code>mvn
+ package</code> command in a terminal or command window from within
+ the directory where you unarchived the logback distribution
+ file. Maven will automatically download the required external
+ libraries and use them. However, certain artefacts cannot be
+ downloaded from the Maven2 repository. At present, time only the JMS
+ API from from SUN Inc. needs to be downloaded and installed
+ separately into your local repository.
+ </p>
+
+ <p>You can manually download the <a
+ href="http://java.sun.com/products/jms/docs.html">JMS API from
+ Sun</a>. Once you have downloaded the <em>jms.jar</em> file, you can
+ install it in your local Maven 2 repository by issuing the command:
</p>
- <p>Building all logback modules is mostly done by issuing the
- <em>mvn package</em> line in a terminal or command window. Maven
- will automatically download the required external libraries and use
- them. However, certain artefacts cannot be downloaded from the
- Maven2 repository. Libraries such as <code>JMS</code> from SUN Inc.
- need to be downloaded and installed separately into your local
- repository.
+ <p class="source">mvn install:install-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 /
+ -Dpackaging=jar -Dfile=/path/to/jms.jar.file
</p>
<p>Logback distributions contain complete source code such that you
Modified: logback/trunk/logback-site/src/site/pages/manual/joran.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/joran.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/joran.html Tue Mar 6 20:11:05 2007
@@ -4,6 +4,8 @@
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Chapter3: Logback configuration</title>
<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
+<link rel="stylesheet" type="text/css" media="print" href="../css/print.css" />
+
</head>
<body>
<script>
Modified: logback/trunk/logback-site/src/site/pages/manual/layouts.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/layouts.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/layouts.html Tue Mar 6 20:11:05 2007
@@ -720,8 +720,8 @@
<td align="center">
<b>ex</b>{<em>length</em>} <br />
<b>throwable</b>{<em>length</em>} <br />
- <b>ex{length, evaluator-1, ..., evaluator-n}</b>
- <b>throwable{length, evaluator-1, ..., evaluator-n}</b>
+ <b>ex</b>{length, evaluator-1, ..., evaluator-n} <br />
+ <b>throwable</b>{length, evaluator-1, ..., evaluator-n}
</td>
<td>
@@ -948,12 +948,12 @@
<td align="center"><pre>[main.Name ]</pre></td>
</tr>
<tr class="b">
- <td align="center">[%20.-20logger]</td>
+ <td align="center">[%20.20logger]</td>
<td align="center">main.Name</td>
<td align="center"><pre>[ main.Name]</pre></td>
</tr>
<tr class="a">
- <td align="center">[%-10.10logger]</td>
+ <td align="center">[%10.10logger]</td>
<td align="center">main.foo.foo.bar.Name</td>
<td align="center"><pre>[o.bar.Name]</pre></td>
</tr>
@@ -986,7 +986,7 @@
</appender></pre></div>
-
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
<h4>Evaluators</h4>
<p>
@@ -1087,14 +1087,15 @@
}
}</pre></div>
<p>
- This excerpt does nothing too fancy. Five logging requests
- are issued, the third one being different from the others.
+ The above application does nothing too fancy. Five logging
+ requests are issued, the third one being different from the
+ others.
</p>
<p>
- When a logging request is sent, the corresponding logging
- event will pass through the evaluation process. Here,
- the third request will match the evaluation,
- causing its caller data to be displayed.
+ When a logging request is sent, the corresponding logging event
+ will pass through the evaluation process. Here, the third
+ request will match the evaluation criteria, causing its caller
+ data to be displayed.
</p>
<p>
Here is the output of the
@@ -1109,23 +1110,27 @@
0 [main] DEBUG - I know me 4</pre></div>
- <p>
- Of course, one can change the expression to match a real
- world situation. An expression testing logger name and
- request level could also be meaningful: all logging requests of
- level <em>WARN</em> and up, coming from a sensible part of an application
- like a financial transaction module, would have their caller data displayed.
- </p>
- <p><b>Important:</b> With the <em>caller</em> conversion specifier, the data is
- displayed when <em>the expression evaluates to <b>true</b>.</em></p>
- <p>
- Let us look at a different situation. When exceptions are included in
- a logging request, their stack trace is usually displayed. However, in some cases,
- one might want to supress the stack trace of specific exception.
+ <p>One can change the expression to match a real world
+ situation. An expression testing logger name and request level
+ could also be meaningful: all logging requests of level
+ <em>WARN</em> and up, coming from a sensible part of an
+ application like a financial transaction module, would have their
+ caller data displayed.
+ </p>
+
+ <p><b>Important:</b> With the <em>caller</em> conversion
+ specifier, the data is displayed when <em>the expression evaluates
+ to <b>true</b>.</em></p>
+
+ <p>Now, let us look at a different situation. When exceptions are
+ included in a logging request, their stack trace is usually
+ displayed. However, in some cases, one might want to supress the
+ stack trace of specific exception.
</p>
+
<p>The java code shown below creates five log requests, each one
- with an exception. However, we do not want to have the stack trace of the
- third request to be output.</p>
+ with an exception. However, we do not want to have the stack trace
+ of the third request to be output.</p>
<div class="source"><pre>package chapter5;
Modified: logback/trunk/logback-site/src/site/pages/manual/mdc.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/manual/mdc.html (original)
+++ logback/trunk/logback-site/src/site/pages/manual/mdc.html Tue Mar 6 20:11:05 2007
@@ -4,6 +4,8 @@
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Chapter 7: Diagnostic Context</title>
<link rel="stylesheet" type="text/css" media="screen" href="../css/site.css" />
+<link rel="stylesheet" type="text/css" media="print" href="../css/print.css" />
+
</head>
<body>
<script>
Modified: logback/trunk/logback-site/src/site/pages/team.html
==============================================================================
--- logback/trunk/logback-site/src/site/pages/team.html (original)
+++ logback/trunk/logback-site/src/site/pages/team.html Tue Mar 6 20:11:05 2007
@@ -28,11 +28,14 @@
<table>
<tr>
<td><img src="images/jeannoel.gif" alt="Jean-Noel"/></td>
- <td>
- Jean-Noel Charpin has been designing and developing object oriented software
- and decision making systems since 1998. He is particularly interested in
- translating lean manufacturing principles and practices to the software development
- domain in order to improve quality and reliability.
+
+ <td>
+ <p>Jean-Noel Charpin has been designing and developing object
+ oriented software and decision making systems since 1998. He
+ is particularly interested in translating lean manufacturing
+ principles and practices to the software development domain
+ in order to improve quality and reliability.
+ </p>
</td>
</tr>
<tr>
@@ -42,7 +45,7 @@
since 1996. He is the founder of the log4j, slf4j and
logback projects. Ceki enjoys writing software, a task far
more difficult and time-consuming than what it seems at
- first sight. His interests range from cryptography, systems
+ first sight. His interests range from cryptography, system
monitoring and testing to application interoperability.
</p>
Modified: logback/trunk/logback-site/src/site/pages/templates/right.js
==============================================================================
--- logback/trunk/logback-site/src/site/pages/templates/right.js (original)
+++ logback/trunk/logback-site/src/site/pages/templates/right.js Tue Mar 6 20:11:05 2007
@@ -1,6 +1,6 @@
document.write('<p class="menu_header">New and noteworthy</p>')
-document.write('<p class="menu"><a href="10reasons.ppt">10 reasons for migrating</a>')
+document.write('<p class="menu"><a href="'+prefix+'10reasons.ppt">10 reasons for migrating</a>')
document.write('<p class="menu"><a href="http://javablog.smilehouse.com/blog/default/Java/2007/02/02/Writing-rotated-and-compressed-access-logs-with-logback">Writing rotated and compressed access logs</a>')
More information about the logback-dev
mailing list