svn commit: r1385 - logback/trunk/logback-site/src/site/pages/manual

Author: ceki Date: Fri Mar 2 22:17:10 2007 New Revision: 1385 Added: logback/trunk/logback-site/src/site/pages/manual/index_menu.js Modified: 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 Log: The chpater index is now displayed on the right menu 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 Fri Mar 2 22:17:10 2007 @@ -16,44 +16,18 @@ </script> </div> + <div id="right"> - <script src="../templates/right.js"></script> + <script src="index_menu.js"></script> </div> + <div id="content"> - <h2>Chapter 4: Appenders</h2> - <div class="author"> - Authors: Ceki Gülcü, Sébastien Pennec - </div> - <table> - <tr> - <td valign="top" align="top"> - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - <img alt="Creative Commons License" - style="border-width: 0" - src="http://creativecommons.org/images/public/somerights20.png" /> - </a> - </td> - <td> - <p>Copyright © 2000-2006, QOS.ch</p> + <h1>Chapter 4: Appenders</h1> - <p> - <!--Creative Commons License--> - This work is licensed under a - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - Creative Commons - Attribution-NonCommercial-ShareAlike 2.5 - License - </a>. - <!--/Creative Commons License--> - </p> - </td> - </tr> - </table> - - <div class="highlight"> + <script src="../templates/creative.js"></script> + + <div class="highlight"> <p> In order to run the examples in this chapter, you need to make sure that certain jar files are present on the @@ -63,7 +37,7 @@ </p> </div> - <h2>What is an Appender</h2> + <h2>What is an Appender?</h2> <p> Logback delegates the task of writing a logging event to appenders. 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 Fri Mar 2 22:17:10 2007 @@ -14,58 +14,26 @@ <script src="../templates/left.js"></script> </div> <div id="right"> - <script src="../templates/right.js"></script> + <script src="index_menu.js"></script> </div> <div id="content"> - <h2>Chapter 2: Architecture</h2> - <div class="author"> - Authors: Ceki Gülcü, Sébastien Pennec - </div> + <h1>Chapter 2: Architecture</h1> - <table> - <tr> - <td valign="top" align="top"> - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - <img alt="Creative Commons License" - style="border-width: 0" - src="http://creativecommons.org/images/public/somerights20.png" /> - </a> - </td> - <td> - <p>Copyright © 2000-2006, QOS.ch</p> - - <p> - <!--Creative Commons License--> - This work is licensed under a - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - Creative Commons - Attribution-NonCommercial-ShareAlike 2.5 - License - </a> - . - <!--/Creative Commons License--> - </p> - </td> - </tr> - </table> + <script src="../templates/creative.js"></script> - <h2>Logback architecture</h2> + <h2>Logback's architecture</h2> - <p> - Logback's basic architecture is sufficiently generic so as to + <p>Logback's basic architecture is sufficiently generic so as to apply under different circumstances. At present time, logback is divided into three modules, Core, Classic and Access. </p> - <p> - The <em>core</em> module lays the groundwork for the other two + <p>The <em>core</em> module lays the groundwork for the other two modules. The <em>classic</em> module extends <em>core</em>. The - classic module corresponds to a significantly improved - version of log4j. Logback-classic natively implements the <a + classic module corresponds to a significantly improved version + of log4j. Logback-classic natively implements the <a href="http://www.slf4j.org">SLF4J API</a> so that you can readily switch back and forth between logback and other logging systems such as log4j or JDK14 Logging. The third module called 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 Fri Mar 2 22:17:10 2007 @@ -14,165 +14,135 @@ <script src="../templates/left.js"></script> </div> <div id="right"> - <script src="../templates/right.js"></script> + <script src="index_menu.js"></script> </div> <div id="content"> - <h2>Chapter 8: Context Selector</h2> - <div class="author"> - Authors: Ceki Gülcü, Sébastien Pennec - </div> - - <table> - <tr> - <td valign="top" align="top"> - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - <img alt="Creative Commons License" - style="border-width: 0" - src="http://creativecommons.org/images/public/somerights20.png" /> - </a> - </td> - <td> - <p>Copyright © 2000-2006, QOS.ch</p> - - <p> - <!--Creative Commons License--> - This work is licensed under a - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - Creative Commons - Attribution-NonCommercial-ShareAlike 2.5 - License - </a>. - <!--/Creative Commons License--> - </p> - </td> - </tr> - </table> - -<h3>Introduction</h3> + <h2>Chapter 8: Context Selectors</h2> -<p> -When working with several Web applications, all running on one server, the -multiplications of <code>LoggerContext</code> objects might reveal itself -a tricky issue. -</p> - -<p> -Logback provides a simple yet powerful way of dealing with multiple -contexts, without corruption of data, nor collusion between context -instances. -</p> - -<p> -One thing we know is that JNDI environments are independant. Thus -setting environment variables in each application will allow a given component -to know which application it is dealing with at the moment. This is basically -the mechanism that uses logback to provide easy access to the right -<code>LoggerContext</code> instance. -</p> - -<p> -The component that manages the different contexts is a -<a href="../xref/ch/qos/logback/classic/selector/ContextSelector.html"> -ContextSelector</a> -implementation. The JNDI-specific implementation is called -<a href="../xref/ch/qos/logback/classic/selector/ContextJNDISelector.html"> -ContextJNDISelector</a>. -</p> - -<p> -Each Web application provides two environment variables. One that specifies -the application's <code>LoggerContext</code> name, and one that provides the -path to the xml file that will be used to configure the context. -</p> + <script src="../templates/creative.js"></script> + <h3>Introduction</h3> -<h3>The server side</h3> - -<h4>Configuring Tomcat</h4> - -<p> -First, place the logback jars (that is logback-classic-<em>VERSION</em>.jar, -logback-core-<em>VERSION</em>.jar and slf4j-api-<em>VERSION</em>.jar) in the -server's shared class directory. In Tomcat, this directory is -<em>TOMCAT_HOME/common/lib/</em>. -</p> - -<p> -The next step is to let logback know that it will have to use JNDI to manage -the context instances. This is done thanks to a System Property. When launching -Tomcat, make sure that the <em>logback.ContextSelector</em> property is -set with the <em>JNDI</em> value. This can be done by editing the -<em>TOMCAT_HOME/bin/catalina.sh</em> or <em>TOMCAT_HOME/bin/catalina.bat</em> -file, and adding the following line to the java options: -</p> - -<div class="source"><pre>-Dlogback.ContextSelector=JNDI</pre></div> - -<h4>Configuring Jetty</h4> - -<p> -Configuring Jetty requires first to enable the use of JNDI. This is not a big -deal, since the Jetty distribution provides the configuration files needed to -achieve this task. The only thing to do is launch Jetty with the following command: -</p> - -<div class="source"><pre>java -jar start.jar etc/jetty.xml etc/jetty-plus.xml</pre></div> - -<p> -Note that you will need to install your appplications in the -<em>JETTY_HOME/webapps-plus</em> directory. -</p> - -<p>In Jetty, the server shared class directory is <em>JETTY_HOME/lib/</em>. -This is where you will need to place the logback jars -(that is logback-classic-<em>VERSION</em>.jar, -logback-core-<em>VERSION</em>.jar and slf4j-api-<em>VERSION</em>.jar). -</p> - -<p> -The next step is to let logback know that it will have to use JNDI to manage -the context instances. This is done thanks to a System Property. -In Jetty, adding an environment variable is done by adding the following -xml element in the <em>JETTY_HOME/etc/jetty.xml</em> configuration file, -nested in a <em>Configuration</em> element: -</p> + <p> + When working with several Web applications, all running on one + server, the multiplications of <code>LoggerContext</code> objects + might reveal itself a tricky issue. + </p> + + <p>Logback provides a simple yet powerful way of dealing with + multiple contexts, without corruption of data, nor collusion + between context instances. + </p> + + <p>One thing we know is that JNDI environments are + independant. Thus setting environment variables in each + application will allow a given component to know which application + it is dealing with at the moment. This is basically the mechanism + that uses logback to provide easy access to the right + <code>LoggerContext</code> instance. + </p> + + <p>The component that manages the different contexts is a <a + href="../xref/ch/qos/logback/classic/selector/ContextSelector.html"> + ContextSelector</a> implementation. The JNDI-specific + implementation is called <a + href="../xref/ch/qos/logback/classic/selector/ContextJNDISelector.html"> + ContextJNDISelector</a>. + </p> + + <p>Each Web application provides two environment variables. One + that specifies the application's <code>LoggerContext</code> name, + and one that provides the path to the xml file that will be used + to configure the context. + </p> + + + <h3>The server side</h3> + + <h4>Configuring Tomcat</h4> + + <p>First, place the logback jars (that is + logback-classic-<em>VERSION</em>.jar, + logback-core-<em>VERSION</em>.jar and slf4j-api-<em>VERSION</em>.jar) + in the server's shared class directory. In Tomcat, this directory is + <em>TOMCAT_HOME/common/lib/</em>. + </p> + + <p>The next step is to let logback know that it will have to use + JNDI to manage the context instances. This is done thanks to a + System Property. When launching Tomcat, make sure that the + <em>logback.ContextSelector</em> property is set with the + <em>JNDI</em> value. This can be done by editing the + <em>TOMCAT_HOME/bin/catalina.sh</em> or + <em>TOMCAT_HOME/bin/catalina.bat</em> file, and adding the + following line to the java options: + </p> + + <div class="source"><pre>-Dlogback.ContextSelector=JNDI</pre></div> + + <h4>Configuring Jetty</h4> + + <p>Configuring Jetty requires first to enable the use of + JNDI. This is not a big deal, since the Jetty distribution + provides the configuration files needed to achieve this task. The + only thing to do is launch Jetty with the following command: + </p> + + <div class="source"><pre>java -jar start.jar etc/jetty.xml etc/jetty-plus.xml</pre></div> + + <p>Note that you will need to install your appplications in the + <em>JETTY_HOME/webapps-plus</em> directory. + </p> + + <p>In Jetty, the server shared class directory is + <em>JETTY_HOME/lib/</em>. This is where you will need to place + the logback jars (that is logback-classic-<em>VERSION</em>.jar, + logback-core-<em>VERSION</em>.jar and + slf4j-api-<em>VERSION</em>.jar). + </p> + + <p>The next step is to let logback know that it will have to use + JNDI to manage the context instances. This is done thanks to a + System Property. In Jetty, adding an environment variable is done + by adding the following xml element in the + <em>JETTY_HOME/etc/jetty.xml</em> configuration file, nested in a + <em>Configuration</em> element: + </p> <div class="source"><pre><Call class="java.lang.System" name="setProperty"> <Arg>logback.ContextSelector</Arg> <Arg>JNDI</Arg> </Call></pre></div> -<p> -Be aware that adding a <em>-Dlogback.ContextSelector=JNDI</em> to the java -command when starting the server will not work. By doing this, the -<code>LoggerFactory</code> instanciated by the server for its internal logging -will try to use JNDI, when only the Web applications should attempt to retrieve -their <code>LoggerContext</code> this way. -</p> - -<h3>Configuring each Web application</h3> - -<p> -While each Web application will need the logback jars to compile, they need not -nor should be placed within the Web application's WAR file, except if you are -using Jetty. -</p> - -<p>This is due to <a href="http://docs.codehaus.org/display/JETTY/Classloading"> -Jetty's internal Classloading mechanism</a>. -Consequently, the <em>logback-classic-VERSION.jar</em> -and <em>slf4j-api-VERSION.jar</em> files should also be placed in the <em>WEB-INF/lib/</em> -directory of your webapps when running Jetty. -</p> - -<p> -In each Web application's <em>web.xml</em> file, two JNDI environment entries -are needed. The first one specifies the desired name of the application's -<code>LoggerContext</code>. It takes the following form: -</p> + <p>Be aware that adding a <em>-Dlogback.ContextSelector=JNDI</em> + to the java command when starting the server will not work. By + doing this, the <code>LoggerFactory</code> instanciated by the + server for its internal logging will try to use JNDI, when only the + Web applications should attempt to retrieve their + <code>LoggerContext</code> this way. + </p> + + <h3>Configuring each Web application</h3> + + <p>While each Web application will need the logback jars to + compile, they need not nor should be placed within the Web + application's WAR file, except if you are using Jetty. + </p> + + <p>This is due to <a + href="http://docs.codehaus.org/display/JETTY/Classloading"> Jetty's + internal Classloading mechanism</a>. Consequently, the + <em>logback-classic-VERSION.jar</em> and + <em>slf4j-api-VERSION.jar</em> files should also be placed in the + <em>WEB-INF/lib/</em> directory of your webapps when running Jetty. + </p> + + <p>In each Web application's <em>web.xml</em> file, two JNDI + environment entries are needed. The first one specifies the desired + name of the application's <code>LoggerContext</code>. It takes the + following form: + </p> <div class="source"><pre><env-entry> <description>JNDI logging context for this app</description> @@ -181,10 +151,9 @@ <env-entry-value>ContextApp-A</env-entry-value> </env-entry></pre></div> -<p> -The second JNDI entry will lead logback to the application's own xml configuration -file. It can be declared as shown below: -</p> + <p>The second JNDI entry will lead logback to the application's own + xml configuration file. It can be declared as shown below: + </p> <div class="source"><pre><env-entry> <description>URL for configuring logback context</description> @@ -193,17 +162,17 @@ <env-entry-value>logback-app-A.xml</env-entry-value> </env-entry></pre></div> -<p> -Specifying only the name of the file will lead logback to search for it in -the Web application's <em>WEB-INF/classes/</em> directory. -</p> - -<p> -When the Web application is recycled or shutdown, it is very often -useful to recycle the associated <code>LoggerContext</code>. This can -be done by installing a <code>ServletContextListener</code> which will -detach the context from the <code>ContextSelector</code> and shut it down. -</p> + <p>Specifying only the name of the file will lead logback to search + for it in the Web application's <em>WEB-INF/classes/</em> + directory.</p> + + <p> + When the Web application is recycled or shutdown, it is very often + useful to recycle the associated <code>LoggerContext</code>. This + can be done by installing a <code>ServletContextListener</code> + which will detach the context from the <code>ContextSelector</code> + and shut it down. + </p> <p> The <a href="../xref/ch/qos/logback/classic/selector/servlet/ContextDetachingSCL.html"> @@ -217,33 +186,33 @@ </listener</pre></div> -<p> -Using the <code>ContextJNDISelector</code> might slow down your -application, because of the JNDI call that is issued each time -a <code>LoggerContext</code> is required. To prevent the cost -of this call, logback ships with a <code>LoggerContextFilter</code> -component. This filter is a <code>javax.servlet.Filter</code> implementation -that gets the environment-specific <code>LoggerContext</code> and sets it -in a <code>ThreadLocal</code> variable. Each time -the <code>ContextSelector</code> will be called to provide the -Web application's own <code>LoggerContext</code>, it will first check -if the <code>ThreadLocal</code> variable is set. If it is, then the call -to the JNDI environment will not be issued. The <code>LoggerContextFilter</code> -class increases the performances by a wide margin. -</p> - -<p> -Like all servlet filters, the -<a href="../xref/ch/qos/logback/classic/selector/servlet/LoggerContextFilter.html"> -<code>LoggerContextFilter</code></a> can act -before and after the Web application's process. This allows the filter -to set the <code>ThreadLocal</code> variable at the beginning of the process -and to remove it once the Web application has finished processing the request. -This behaviour permits the thread to be recycled for use by another Web -application and still provide the correct <code>LoggerContext</code>. -</p> + <p>Using the <code>ContextJNDISelector</code> might slow down your + application, because of the JNDI call that is issued each time a + <code>LoggerContext</code> is required. To prevent the cost of this + call, logback ships with a <code>LoggerContextFilter</code> + component. This filter is a <code>javax.servlet.Filter</code> + implementation that gets the environment-specific + <code>LoggerContext</code> and sets it in a <code>ThreadLocal</code> + variable. Each time the <code>ContextSelector</code> will be called + to provide the Web application's own <code>LoggerContext</code>, it + will first check if the <code>ThreadLocal</code> variable is set. If + it is, then the call to the JNDI environment will not be issued. The + <code>LoggerContextFilter</code> class increases the performances by + a wide margin. + </p> + + <p>Like all servlet filters, the <a + href="../xref/ch/qos/logback/classic/selector/servlet/LoggerContextFilter.html"> + <code>LoggerContextFilter</code></a> can act before and after the + Web application's process. This allows the filter to set the + <code>ThreadLocal</code> variable at the beginning of the process + and to remove it once the Web application has finished processing + the request. This behaviour permits the thread to be recycled for + use by another Web application and still provide the correct + <code>LoggerContext</code>. + </p> -<p>The <code>LoggerContextFilter</code> can be used by adding the following + <p>The <code>LoggerContextFilter</code> can be used by adding the following lines to your Web application's <em>web.xml</em> file. </p> @@ -265,25 +234,25 @@ <div class="source"><pre><display-name>Name_Of_My_WebApp</display-name></pre></div> -<p> -We recommend that you name logback configuration resources uniquely. In -particualar, avoid naming the logback configuration resource as -<em>logback.xml</em> for a non-default logger context. + <p>We recommend that you name logback configuration resources + uniquely. In particualar, avoid naming the logback configuration + resource as <em>logback.xml</em> for a non-default logger context. + </p> + + <p>While trying to configure the Web application logback would + search for the resource <em>logback.xml</em> using the thread + context classloader. Thus, it would first attempt to locate + <em>logback.xml</em> file using the classloader specific to the Web + application. However, if the file <em>logback.xml</em> did not + exist there (if you forgot to put a custom one in + <em>WEB-INF/classes</em>), and if the file <em>logback.xml</em> + existed higher up in the classloader tree, we could end up in a + situation where the logger context for your Web application would be + configured using the same file as that used to configure the default + context. Such involuntary sharing of the same configuration by + multiple repositories will result in corrupt log output. </p> -<p> -While trying to configure the Web application logback would search for -the resource <em>logback.xml</em> using the thread context classloader. Thus, -it would first attempt to locate <em>logback.xml</em> file using the -classloader specific to the Web application. However, if the file -<em>logback.xml</em> did not exist there (if you forgot to put a custom one in -<em>WEB-INF/classes</em>), and if the file <em>logback.xml</em> existed higher up in the -classloader tree, we could end up in a situation where the logger -context for your Web application would be configured using the same -file as that used to configure the default context. Such -involuntary sharing of the same configuration by multiple repositories -will result in corrupt log output. -</p> <script src="../templates/footer.js"></script> </div> </body> 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 Fri Mar 2 22:17:10 2007 @@ -14,51 +14,24 @@ <script src="../templates/left.js"></script> </div> <div id="right"> - <script src="../templates/right.js"></script> + <script src="index_menu.js"></script> </div> <div id="content"> - <h2>Chapter 6: Filter chains</h2> - <div class="author"> - Authors: Ceki Gülcü, Sébastien Pennec - </div> + <h1>Chapter 6: Filter chains</h1> + + <script src="../templates/creative.js"></script> - <table> - <tr> - <td valign="top" align="top"> - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - <img alt="Creative Commons License" - style="border-width: 0" - src="http://creativecommons.org/images/public/somerights20.png" /> - </a> - </td> - <td> - <p>Copyright © 2000-2006, QOS.ch</p> - - <p> - <!--Creative Commons License--> - This work is licensed under a - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - Creative Commons - Attribution-NonCommercial-ShareAlike 2.5 - License - </a>. - <!--/Creative Commons License--> - </p> - </td> - </tr> - </table> - <p> - As we have seen, logback has several built-in ways for filtering log requests, - including the context-wide filter, logger-level selection rule and appender filters. - These provide high performance filtering for the most commonly encountered - cases. These filters are largely inspired from Linux ipchains or - iptables as they are called in more recent Linux kernels. - Logback filters are based on ternary logic allowing them to be assembled or chained - together to compose an arbitrarily complex filtering policy. + <p>As we have seen, logback has several built-in ways for + filtering log requests, including the context-wide filter, + logger-level selection rule and appender filters. These provide + high performance filtering for the most commonly encountered + cases. These filters are largely inspired from Linux ipchains or + iptables as they are called in more recent Linux kernels. + Logback filters are based on ternary logic allowing them to be + assembled or chained together to compose an arbitrarily complex + filtering policy. </p> <div class="highlight"> Added: logback/trunk/logback-site/src/site/pages/manual/index_menu.js ============================================================================== --- (empty file) +++ logback/trunk/logback-site/src/site/pages/manual/index_menu.js Fri Mar 2 22:17:10 2007 @@ -0,0 +1,11 @@ + +document.write('<p class="menu_header">Manual</p>') +document.write('<p class="menu"><a href="introduction.html"><b>Ch1: Introduction to logback</b></a></p>'); +document.write('<p class="menu"><a href="architecture.html"><b>Ch2: Architecture</b></a>'); +document.write('<p class="menu"><a href="joran.html"><b>Ch3: Logback configuration with Joran</b></a>'); +document.write('<p class="menu"><a href="appenders.html"><b>Ch4: Appenders</b></a>'); +document.write('<p class="menu"><a href="layouts.html"><b>Ch5: Layouts</b></a>'); +document.write('<p class="menu"><a href="filters.html"><b>Ch6: Filter chains</b></a>'); +document.write('<p class="menu"><a href="mdc.html"><b>Ch7: Diagnostic Contexts</b></a>'); +document.write('<p class="menu"><a href="contextSelector.html"><b>Ch8: Context Selectors</b></a>'); + 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 Fri Mar 2 22:17:10 2007 @@ -14,7 +14,7 @@ <script src="../templates/left.js"></script> </div> <div id="right"> - <script src="../templates/right.js"></script> + <script src="index_menu.js"></script> </div> <div id="content"> 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 Fri Mar 2 22:17:10 2007 @@ -14,43 +14,13 @@ <script src="../templates/left.js"></script> </div> <div id="right"> - <script src="../templates/right.js"></script> + <script src="index_menu.js"></script> </div> <div id="content"> - <h2>Chapter 3: Logback configuration with Joran</h2> - <div class="author"> - Authors: Ceki Gülcü, Sébastien Pennec - </div> - - <table> - <tr> - <td valign="top" align="top"> - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - <img alt="Creative Commons License" - style="border-width: 0" - src="http://creativecommons.org/images/public/somerights20.png" /> - </a> - </td> - <td> - <p>Copyright © 2000-2006, QOS.ch</p> - - <p> - <!--Creative Commons License--> - This work is licensed under a - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - Creative Commons - Attribution-NonCommercial-ShareAlike 2.5 - License - </a> - . - <!--/Creative Commons License--> - </p> - </td> - </tr> - </table> + <h1>Chapter 3: Logback configuration with Joran</h1> + + <script src="../templates/creative.js"></script> <div class="highlight"> <p> 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 Fri Mar 2 22:17:10 2007 @@ -16,7 +16,7 @@ <script src="../templates/left.js"></script> </div> <div id="right"> - <script src="../templates/right.js"></script> + <script src="index_menu.js"></script> </div> <div id="content"> 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 Fri Mar 2 22:17:10 2007 @@ -14,52 +14,26 @@ <script src="../templates/left.js"></script> </div> <div id="right"> - <script src="../templates/right.js"></script> + <script src="index_menu.js"></script> </div> <div id="content"> - <h2>Chapter 7: Diagnostic Context</h2> - <div class="author"> - Authors: Ceki Gülcü, Sébastien Pennec - </div> - - <table> - <tr> - <td valign="top" align="top"> - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - <img alt="Creative Commons License" - style="border-width: 0" - src="http://creativecommons.org/images/public/somerights20.png" /> - </a> - </td> - <td> - <p>Copyright © 2000-2006, QOS.ch</p> - - <p> - <!--Creative Commons License--> - This work is licensed under a - <a rel="license" - href="http://creativecommons.org/licenses/by-nc-sa/2.5/"> - Creative Commons - Attribution-NonCommercial-ShareAlike 2.5 - License - </a>. - <!--/Creative Commons License--> - </p> - </td> - </tr> - </table> - - <p> - One of the design goals of logback is to audit and debug complex distributed applications. - Most real-world distributed systems need to deal with multiple clients simultaneously. - In a typical multithreaded implementation of such a system, different threads will handle - different clients. A possible but discouraged approach to differentiate the logging output of - one client from another consists of instantiating a new and separate logger for each client. - This technique promotes the proliferation of loggers and considerably increases - their management overhead. + + <h1>Chapter 7: Diagnostic Contexts</h1> + + <script src="../templates/creative.js"></script> + + <p>One of the design goals of logback is to audit and debug + complex distributed applications. Most real-world distributed + systems need to deal with multiple clients simultaneously. In a + typical multithreaded implementation of such a system, different + threads will handle different clients. A possible but discouraged + approach to differentiate the logging output of one client from + another consists of instantiating a new and separate logger for + each client. This technique promotes the proliferation of loggers + and considerably increases their management overhead. </p> - <div class="highlight"> + + <div class="highlight"> <p> In order to run the examples in this chapter, you need to make sure that certain jar files are present on the
participants (1)
-
noreply.ceki@qos.ch