Author: ceki Date: Sun Jun 8 16:25:02 2008 New Revision: 1063 Removed: slf4j/trunk/slf4j-site/src/site/images.src/bindings.png slf4j/trunk/slf4j-site/src/site/images.src/bridging.png Modified: slf4j/trunk/jcl-over-slf4j/pom.xml slf4j/trunk/jcl104-over-slf4j/pom.xml slf4j/trunk/jul-to-slf4j/pom.xml slf4j/trunk/jul-to-slf4j/src/main/java/org/slf4j/bridge/SLF4JBridgeHandler.java slf4j/trunk/log4j-over-slf4j/pom.xml slf4j/trunk/osgi-over-slf4j/pom.xml slf4j/trunk/pom.xml slf4j/trunk/slf4j-api/pom.xml slf4j/trunk/slf4j-jcl/pom.xml slf4j/trunk/slf4j-jdk14/pom.xml slf4j/trunk/slf4j-log4j12/pom.xml slf4j/trunk/slf4j-migrator/pom.xml slf4j/trunk/slf4j-nop/pom.xml slf4j/trunk/slf4j-osgi-integration-test/pom.xml slf4j/trunk/slf4j-osgi-test-bundle/pom.xml slf4j/trunk/slf4j-simple/pom.xml slf4j/trunk/slf4j-site/pom.xml slf4j/trunk/slf4j-site/src/site/pages/docs.html slf4j/trunk/slf4j-site/src/site/pages/index.html slf4j/trunk/slf4j-site/src/site/pages/log4j-over-slf4j.html slf4j/trunk/slf4j-site/src/site/pages/manual.html slf4j/trunk/slf4j-site/src/site/pages/templates/footer.js slf4j/trunk/slf4j-site/src/site/resources/images/bindings.png slf4j/trunk/slf4j-site/src/site/resources/images/bridging.png
Log: - preparing release 1.5.2 - improvements to documentation Modified: slf4j/trunk/jcl-over-slf4j/pom.xml ============================================================================== --- slf4j/trunk/jcl-over-slf4j/pom.xml (original) +++ slf4j/trunk/jcl-over-slf4j/pom.xml Sun Jun 8 16:25:02 2008 @@ -3,7 +3,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/jcl104-over-slf4j/pom.xml ============================================================================== --- slf4j/trunk/jcl104-over-slf4j/pom.xml (original) +++ slf4j/trunk/jcl104-over-slf4j/pom.xml Sun Jun 8 16:25:02 2008 @@ -3,7 +3,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/jul-to-slf4j/pom.xml ============================================================================== --- slf4j/trunk/jul-to-slf4j/pom.xml (original) +++ slf4j/trunk/jul-to-slf4j/pom.xml Sun Jun 8 16:25:02 2008 @@ -6,7 +6,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/jul-to-slf4j/src/main/java/org/slf4j/bridge/SLF4JBridgeHandler.java ============================================================================== --- slf4j/trunk/jul-to-slf4j/src/main/java/org/slf4j/bridge/SLF4JBridgeHandler.java (original) +++ slf4j/trunk/jul-to-slf4j/src/main/java/org/slf4j/bridge/SLF4JBridgeHandler.java Sun Jun 8 16:25:02 2008 @@ -63,8 +63,8 @@ * Usage: * * <pre> - * // once during initialization time of your application - * SLF4JHandler.install(handler); + * // call only once during initialization time of your application + * SLF4JHandler.install(); * * // usual pattern: get a Logger and then log a message * java.util.logging.Logger julLogger = java.util.logging.Logger.getLogger("org.wombat"); Modified: slf4j/trunk/log4j-over-slf4j/pom.xml ============================================================================== --- slf4j/trunk/log4j-over-slf4j/pom.xml (original) +++ slf4j/trunk/log4j-over-slf4j/pom.xml Sun Jun 8 16:25:02 2008 @@ -5,7 +5,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/osgi-over-slf4j/pom.xml ============================================================================== --- slf4j/trunk/osgi-over-slf4j/pom.xml (original) +++ slf4j/trunk/osgi-over-slf4j/pom.xml Sun Jun 8 16:25:02 2008 @@ -3,7 +3,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/pom.xml ============================================================================== --- slf4j/trunk/pom.xml (original) +++ slf4j/trunk/pom.xml Sun Jun 8 16:25:02 2008 @@ -5,7 +5,7 @@ <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> <packaging>pom</packaging> <name>SLF4J</name> Modified: slf4j/trunk/slf4j-api/pom.xml ============================================================================== --- slf4j/trunk/slf4j-api/pom.xml (original) +++ slf4j/trunk/slf4j-api/pom.xml Sun Jun 8 16:25:02 2008 @@ -5,7 +5,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-jcl/pom.xml ============================================================================== --- slf4j/trunk/slf4j-jcl/pom.xml (original) +++ slf4j/trunk/slf4j-jcl/pom.xml Sun Jun 8 16:25:02 2008 @@ -3,7 +3,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-jdk14/pom.xml ============================================================================== --- slf4j/trunk/slf4j-jdk14/pom.xml (original) +++ slf4j/trunk/slf4j-jdk14/pom.xml Sun Jun 8 16:25:02 2008 @@ -6,7 +6,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-log4j12/pom.xml ============================================================================== --- slf4j/trunk/slf4j-log4j12/pom.xml (original) +++ slf4j/trunk/slf4j-log4j12/pom.xml Sun Jun 8 16:25:02 2008 @@ -6,7 +6,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-migrator/pom.xml ============================================================================== --- slf4j/trunk/slf4j-migrator/pom.xml (original) +++ slf4j/trunk/slf4j-migrator/pom.xml Sun Jun 8 16:25:02 2008 @@ -7,7 +7,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-nop/pom.xml ============================================================================== --- slf4j/trunk/slf4j-nop/pom.xml (original) +++ slf4j/trunk/slf4j-nop/pom.xml Sun Jun 8 16:25:02 2008 @@ -6,7 +6,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-osgi-integration-test/pom.xml ============================================================================== --- slf4j/trunk/slf4j-osgi-integration-test/pom.xml (original) +++ slf4j/trunk/slf4j-osgi-integration-test/pom.xml Sun Jun 8 16:25:02 2008 @@ -6,7 +6,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-osgi-test-bundle/pom.xml ============================================================================== --- slf4j/trunk/slf4j-osgi-test-bundle/pom.xml (original) +++ slf4j/trunk/slf4j-osgi-test-bundle/pom.xml Sun Jun 8 16:25:02 2008 @@ -6,7 +6,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-simple/pom.xml ============================================================================== --- slf4j/trunk/slf4j-simple/pom.xml (original) +++ slf4j/trunk/slf4j-simple/pom.xml Sun Jun 8 16:25:02 2008 @@ -3,7 +3,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-site/pom.xml ============================================================================== --- slf4j/trunk/slf4j-site/pom.xml (original) +++ slf4j/trunk/slf4j-site/pom.xml Sun Jun 8 16:25:02 2008 @@ -5,7 +5,7 @@ <parent> <groupId>org.slf4j</groupId> <artifactId>slf4j-parent</artifactId> - <version>1.5.1</version> + <version>1.5.2</version> </parent> <modelVersion>4.0.0</modelVersion> Modified: slf4j/trunk/slf4j-site/src/site/pages/docs.html ============================================================================== --- slf4j/trunk/slf4j-site/src/site/pages/docs.html (original) +++ slf4j/trunk/slf4j-site/src/site/pages/docs.html Sun Jun 8 16:25:02 2008 @@ -27,6 +27,7 @@ <ul> <li><a href="manual.html">User manual</a></li> <li><a href="faq.html">FAQ</a></li> + <li><a href="legacy.html">Bridging legacy APIs</a></li> <li><a href="migrator.html">SLF4J migrator</a></li> <li><a href="log4j-over-slf4j.html">log4j-over-slf4j</a></li> <li><a href="api/index.html">javadocs</a></li> Modified: slf4j/trunk/slf4j-site/src/site/pages/index.html ============================================================================== --- slf4j/trunk/slf4j-site/src/site/pages/index.html (original) +++ slf4j/trunk/slf4j-site/src/site/pages/index.html Sun Jun 8 16:25:02 2008 @@ -25,9 +25,10 @@ <p>The Simple Logging Facade for Java or (SLF4J) is intended to serve as a simple facade for various logging APIs allowing to the end-user to plug in the desired implementation at - <em>deployment</em> time. SLF4J also allows for a <a - href="manual.html#gradual">gradual migration path</a> away from - Jakarta Commons Logging (JCL). + <em>deployment</em> time. SLF4J also supports a <a + href="legacy.html">bridging legacy APIs</a> as well as a <a + href="migrator.html">source code migration tool</a>. + </p> <p>SLF4J API offers an advanced abstraction of various logging Modified: slf4j/trunk/slf4j-site/src/site/pages/log4j-over-slf4j.html ============================================================================== --- slf4j/trunk/slf4j-site/src/site/pages/log4j-over-slf4j.html (original) +++ slf4j/trunk/slf4j-site/src/site/pages/log4j-over-slf4j.html Sun Jun 8 16:25:02 2008 @@ -23,80 +23,10 @@ <h2>Log4j over SLF4J</h2> - <p>Recent versions of SLF4J ship with a module called - <em>log4j-over-slf4j</em>. It allows log4j users to migrate - existing applications to SLF4J without changing <em>a single line - of code</em> but simply by replacing the <em>log4j.jar</em> file - with <em>log4j-over-slf4j.jar</em>, as described below. - </p> - - <h3>How does it work?</h3> - - <p>The log4j-over-slf4j module contains replacements of most - widely used log4j classes, namely - <code>org.apache.log4j.Category</code>, - <code>org.apache.log4j.Logger</code>, - <code>org.apache.log4j.Priority</code>, - <code>org.apache.log4j.Level</code>, - <code>org.apache.log4j.MDC</code>, and - <code>org.apache.log4j.BasicConfigurator</code>. These replacement - classes redirect all work to their corresponding SLF4J classes. - </p> - - <p>To use log4j-over-slf4j in your own application, the first step - is to locate and then to replace <em>log4j.jar</em> with - <em>log4j-over-slf4j.jar</em>. Note that you still need an SLF4J - binding and its dependencies for log4j-over-slf4j to work - properly. - </p> - - <p> - In most situtations, replacing a jar file is all it takes in - order to migrate from log4j to SLF4J. - </p> - - <p>Note that as a result of this migration, log4j configuration - files will no longer be picked up. If you need to migrate your - log4j.properties file to logback, the <a - href="http://logback.qos.ch/translator/">log4j translator</a> - might be of help. For configuring logback, please refer to <a - href="http://logback.qos.ch/manual/index.html">its manual</a>. - </p> - <p>We are happy to report that several applications are - successfully using log4j-over-slf4j in production. - </p> + <p>This chapter has been moved <a + href="legacy.html#log4j-over-slf4j">elsewhhere</a>.</p> - - <h3>When does it not work?</h3> - - <p>The <em>log4j-over-slf4j</em> module will not work when the - application calls log4j components that are not present in the - bridge. For example, direct references to log4j appenders, - filters or PropertyConfigurator are not supported by - log4j-over-slf4j. While the number of cases where - log4j-over-slf4j is insufficient is not completely negligible, in - the vast majority of cases where log4j is configured through a - configuration file, be it <em>log4j.properties</em> or - <em>log4j.xml</em>, log4j-over-slf4j is enough in order to migrate - your application to SLF4J. - </p> - - <h3>What about the overhead?</h3> - - <p>There overhead of using log4j-over-slf4j instead of log4j - directly is relatively small. Given that log4j-over-slf4j - immediately delegates all work to SLF4J, the CPU overhead should - be negligible, in the order of a few <em>nanoseconds</em>. There - is a memory overhead corresponding to an entry in a hashmap per - logger, which should be usually acceptable even for very large - applications consisting of several thousand loggers. Moreover, if - you choose logback as your underlying logging system, and given - that logback is both much faster and more memory-efficient than - log4j, the gains made by using logback should compensate for the - overhead of using log4j-over-slf4j instead of log4j directly. - </p> - <script src="templates/footer.js"></script> </div> Modified: slf4j/trunk/slf4j-site/src/site/pages/manual.html ============================================================================== --- slf4j/trunk/slf4j-site/src/site/pages/manual.html (original) +++ slf4j/trunk/slf4j-site/src/site/pages/manual.html Sun Jun 8 16:25:02 2008 @@ -61,36 +61,47 @@ <h2>Swapping implementations at deployment time</h2> - <p>SLF4J supports multiple logging systems, namely, NOP, - Simple, log4j version 1.2, JDK 1.4 logging, - JCL and logback. The SLF4J distribution ships with several jar - files <em>slf4j-nop.jar</em>, <em>slf4j-simple.jar</em>, - <em>slf4j-log4j12.jar</em>, <em>slf4j-log4j13.jar</em>, - <em>slf4j-jdk14.jar</em> and <em>slf4j-jcl.jar</em>. Each of - these jar files is hardwired <em>at compile-time</em> to use - just one implementation, that is NOP, Simple, log4j version - 1.2, JDK 1.4 logging, and repectively - JCL. <span style="color:#D22">As of SLF4J version 1.1.0, all of the - bindings shipped with SLF4J depend on <em>slf4j-api.jar</em> - which must be present on the class path for the binding to - function properly.</span> </p> + <p>SLF4J supports multiple logging systems, namely, NOP, Simple, + log4j version 1.2, JDK 1.4 logging, JCL and logback. The SLF4J + distribution ships with several jar files + <em>slf4j-nop.jar</em>, <em>slf4j-simple.jar</em>, + <em>slf4j-log4j12.jar</em>, <em>slf4j-log4j13.jar</em>, + <em>slf4j-jdk14.jar</em> and <em>slf4j-jcl.jar</em>. Each of + these jar files is hardwired <em>at compile-time</em> to use + just one implementation, that is NOP, Simple, log4j version 1.2, + JDK 1.4 logging, and repectively JCL. <span + style="color:#D22">As of SLF4J version 1.1.0, all of the + bindings shipped with SLF4J depend on <em>slf4j-api.jar</em> + which must be present on the class path for the binding to + function properly.</span> The figure below illustrates the + general idea. + </p> + + <p> </p> + + <p><a href="images/bindings.png"> + <img border="1" src="images/bindings.png" alt="click to enlarge" width="500"/> + </a></p> + + <p> </p> <h2>Small applications</h2> <p>Small applications where configuring a fully-fledged logging systems can be somewhat of an overkill, can drop in - <em> <em>slf4j-api.jar+</em>slf4j-simple.jar</em> instead of a binding for a - fully-fledged logging system. </p> + <em> <em>slf4j-api.jar+</em>slf4j-simple.jar</em> instead of a + binding for a fully-fledged logging system. + </p> <h2>Libraries</h2> <p>Authors of widely-distributed components and libraries may code against the SLF4J interface in order to avoid imposing an - logging system on the end-user. At deployment - time, the end-user may choose the desired logging system by inserting the corresponding jar file in her - classpath. This stupid, simple and robust approach avoids many - of the painful bugs associated with dynamic discovery - processes. + logging system on the end-user. At deployment time, the + end-user may choose the desired logging system by inserting + the corresponding jar file in her classpath. This stupid, + simple and robust approach avoids many of the painful bugs + associated with dynamic discovery processes. </p> <h2>Simplicity</h2> @@ -131,10 +142,9 @@ computational overhead. </p> - <a name="mdc"> - </a> - - <h2>Mapped Diagnostic Context (MDC) support</h2> + + <h2><a name="mdc" href="#mdc">Mapped Diagnostic Context (MDC) + support</a></h2> <p>As of version 1.4.1, SLF4J supports MDC, or mapped diagnosic context. If the underlying logging system offers MDC @@ -156,80 +166,18 @@ <p>For more information on MDC please see the <a href="http://logback.qos.ch/manual/mdc.html">chapter on MDC</a> in the logback manual. + </p> - <a name="gradual"> - </a> + <h2><a name="gradual" href="#gradual">Gradual migration to + SLF4J from Jakarta Commons Logging (JCL)</a></h2> - <h2>Gradual migration to SLF4J from Jakarta Commons Logging - (JCL)</h2> - - <h2><em>jcl-over-slf4j.jar</em></h2> - <p>To ease migration to SLF4J from JCL, recent SLF4J - distributions include the jar file - <em>jcl-over-slf4j.jar</em>. This jar file is intended as a - drop-in replacement for JCL version 1.0.4. It implements the - public API of JCL but using SLF4J underneath, hence the name - "JCL over SLF4J." - </p> - - <p>Our JCL over SLF4J implementation will allow you to migrate - to SLF4J gradually, especially if some of the libraries your - software depends on continue to use JCL for the foreseeable - future. You can immediately enjoy the benefits of SLF4J's - reliability and preserve backward compatibility at the same - time. Just replace <em>commons-logging.jar</em> with - <em>jcl-over-slf4j.jar</em>. Subsequently, the selection of - the underlying logging system will be done by SLF4J instead of - JCL but without the class loader headaches. The underlying - logging system can be any of NOP, simple, jdk14 logging, log4j - or logback. Any existing dependency on commons-logging - therefore becomes less of an issue. - </p> - - <h2><em>slf4j-jcl.jar</em></h2> - - <p>Some of our users after having switched to SLF4J API - realize that in some contexts the use of JCL is mandatory and - their use of SLF4J can be a problem. For this uncommon but - important case, SLF4J offers a JCL binding, found in the file - <em>slf4j-jcl.jar</em>. The JCL binding will delegate all - logging calls made through SLF4J API to JCL. Thus, if for some - reason an existing application <em>must</em> use JCL, your - part of that application can still code against the SLF4J API - in a manner transparent to the larger application - environment. Your choice of SLF4J API will be invisible to the - rest of the application which can continue to use JCL. - </p> - - <h2><em>jcl-over-slf4j.jar</em> should not be confused with - <em>slf4j-jcl.jar</em></h2> - + <p>This section has been moved <a + href="legacy.html#jcl-over-slf4j">elsewhere</a>.</p> - <p>JCL-over-SLF4J, i.e. <em>jcl-over-slf4j.jar</em>, comes - in handy in situations where JCL needs to be supported for - backward compatibility reasons. It can be used to fix problems - associated with JCL, without necessarily adopting the SLF4J - API, a decision which can be deferred to a later time. - </p> - - <p>On the other hand, <em>slf4j-jcl.jar</em> is useful <strong>after</strong> you have already adopted the SLF4J API for your component - which needs to be embedded in a larger application environment - where JCL is a formal requirement. Your software component can - still use SLF4J API without disrupting the larger - application. Indeed, <em>slf4j-jcl.jar</em> will delegate all - logging decisions to JCL so that the dependency on SLF4J API - by your component will be transparent to the larger whole. </p> - - <p>Please note that <em>jcl-over-slf4j.jar</em> and - <em>slf4j-jcl.jar</em> cannot be deployed at the same - time. The former jar file will cause JCL to delegate the - choice of the logging system to SLF4J and the latter jar file - will cause SLF4J to delegate the choice of the logging system - to JCL, resulting in an infinite loop. - </p> - - <a name="summary"><h2>Executive summary</h2></a> + <h2><a name="summary" href="#summary">Executive + summary</a> + </h2> <table class="bodyTable" cellspacing="4" cellpadding="4"> <tr> @@ -246,7 +194,7 @@ </tr> - <tr class="b"> + <tr class="alt"> <td>Fail-fast operation</td> <td>Assuming the appropriate jar file is available on the classpath, under no circumstances will SLF4J cause your @@ -277,19 +225,31 @@ </tr> - <tr class="b"> - <td>Easy migration path</td> + <tr class="alt"> + <td>Bridging legacy logging APIs</td> <td> <p>The implementation of JCL over SLF4J, i.e <em>jcl-over-slf4j.jar</em>, will allow your project to migrate to SLF4J piecemeal, without breaking - compatibility with existing software using JCL. + compatibility with existing software using + JCL. Similarly, log4j-over-slf4j.jar and jul-to-slf4j + modules will allow you to redirect log4j and + respectively java.util.logging calls to SLF4J. </p> </td> </tr> <tr class="a"> + <td>Migrate your source code</td> + <td>The <a href="migrator.html">slf4j-migrator</a> utility + can help you migrate your source to use SLF4J. + </td> + </tr> + + + + <tr class="alt"> <td>Support for formated log messages</td> <td>All SLF4J adapters support formated log messages with Modified: slf4j/trunk/slf4j-site/src/site/pages/templates/footer.js ============================================================================== --- slf4j/trunk/slf4j-site/src/site/pages/templates/footer.js (original) +++ slf4j/trunk/slf4j-site/src/site/pages/templates/footer.js Sun Jun 8 16:25:02 2008 @@ -1,5 +1,5 @@ document.write('<p class="footer">') -document.write('Copyright © 2004-2007 <a href="http://www.qos.ch/">QOS.ch</a>') +document.write('Copyright © 2004-2008 <a href="http://www.qos.ch/">QOS.ch</a>') document.write('</p>') Modified: slf4j/trunk/slf4j-site/src/site/resources/images/bindings.png ============================================================================== Binary files. No diff available. Modified: slf4j/trunk/slf4j-site/src/site/resources/images/bridging.png ============================================================================== Binary files. No diff available. _______________________________________________ dev mailing list dev@slf4j.org http://www.slf4j.org/mailman/listinfo/dev