<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/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>SLF4J</title>
    <link rel="stylesheet" type="text/css" media="screen" href="css/site.css" />
  </head>
  <body>
    
    <script type="text/javascript">prefix='';</script>

    <script src="templates/header.js" type="text/javascript"></script>
    <div id="left">
      <noscript>Please turn on Javascript to view this menu</noscript>
      <script src="templates/left.js" type="text/javascript"></script>
    </div>
    <!--
      <div id="right">
      <script src="templates/right.js" type="text/javascript"></script>
      </div>
    -->
    <div id="content">
  

 <h1>Simple Logging Facade for Java (SLF4J)</h1>

  <p>The Simple Logging Facade for Java (SLF4J) serves as a simple
  facade or abstraction for various logging frameworks
  (e.g. java.util.logging, logback, log4j) allowing the end user to
  plug in the desired logging framework at <em>deployment</em>
  time. </p>

  <p>Before you start using SLF4J, we highly recommend that you read
  the two-page <a href="manual.html">SLF4J user manual</a>. 
  </p>

  <p>Note that SLF4J-enabling your library implies the addition of
  only a single mandatory dependency, namely <em>slf4j-api.jar</em>.
  If no binding is found on the class path, then SLF4J will default to
  a no-operation implementation.
  </p>

  <p>In case you wish to migrate your Java source files to SLF4J,
  consider our <a href="migrator.html">migrator tool</a> which can
  migrate your project to use the SLF4J API in just a few minutes.</p>

  <p>In case an externally-maintained component you depend on uses a
  logging API other than SLF4J, such as commons logging, log4j or
  java.util.logging, have a look at SLF4J's binary-support for <a
  href="legacy.html">legacy APIs</a>.
  </p>

  <h3>Projects depending on SLF4J</h3>
 
  <p>Here is a non-exhaustive list of projects known to depend on
  SLF4J, in alphabetical order:
  </p>
 
  <table border="0">
    <tr>
      <td valign="top">
        <ul>
          <li><a href="http://activemq.apache.org/">Apache ActiveMQ</a></li>
          <li><a href="http://arhiva.apache.org/">Apache Archiva</a></li>
          <li><a href="http://camel.apache.org/">Apache Camel</a></li>
          <li><a href="http://directory.apache.org/">Apache Directory</a></li>
          <li><a href="http://mina.apache.org/ftpserver/">Apache FTPServer</a></li>
          <li><a href="http://geronimo.apache.org/">Apache Geronimo</a></li>
          <li><a href="http://incubator.apache.org/graffito/">Apache Graffito</a></li>
          <li><a href="http://jackrabbit.apache.org/">Apache Jackrabbit</a></li>
          <li><a href="http://mina.apache.org/">Apache Mina</a></li>
          <li><a href="http://cwiki.apache.org/qpid/">Apache Qpid</a></li>
          <li><a href="http://servicemix.apache.org/">Apache ServiceMix</a></li>
        </ul>
      </td>
 
      <td valign="top">
        <ul>
          <li><a href="http://incubator.apache.org/sling/site/index.html">Apache Sling</a></li>
          <li><a href="http://lucene.apache.org/solr/">Apache Solr</a></li>
          <li><a href="http://tapestry.apache.org/">Apache Tapestry</a></li>
          <li><a href="http://incubator.apache.org/wicket/">Apache Wicket</a></li>
          <li><a href="http://aperture.sourceforge.net/">Aperture</a></li>
          <li><a href="http://apogee.nuxeo.org/">Apogee</a></li>
          <li><a href="http://www.jfrog.org/sites/artifactory/latest/">Artifactory</a></li>
          <li><a href="http://docs.safehaus.org/display/ASYNCWEB/Home">AsyncWeb</a></li>
          <li><a href="http://www.bitronix.be/">Bitronix</a></li>
          <li><a href="http://www.dbunit.org/">DbUnit</a></li>
          <li><a href="http://displaytag.sourceforge.net/11/">Display tag</a></li>

        </ul>
 
      </td>
 
      <td valign="top">
        <ul>
          <li><a href="http://ehcache.org/">Ehcache</a></li>
          <li><a href="http://groovy.codehaus.org/GMaven">GMaven</a></li>
          <li><a href="http://www.gradle.org/">Gradle</a></li>
          <li><a href="http://www.icegreen.com/greenmail/">GreenMail</a></li>
          <li><a href="http://gumtree.codehaus.org/">GumTree</a></li>
          <li><a href="http://www.h2database.com/">H2 Database</a></li>
          <li><a href="http://ha-jdbc.sourceforge.net/">HA-JDBC</a></li>
          <li><a href="http://www.hibernate.org/">Hibernate</a></li>
          <li><a href="http://code.google.com/p/igenko/">Igenko</a></li>
          <li><a href="http://jabsorb.org/">Jabsorb</a></li>
          <li><a href="http://jetty.mortbay.org/">Jetty v6</a></li>
        </ul>
      </td>
    </tr>
    
    <tr>
 
      <td valign="top">
        <ul>
          <li><a href="http://www.topmind.biz/html/index.php">jLynx</a></li>
          <li><a href="http://code.google.com/p/jmesa/">JMesa</a></li>
          <li><a href="http://www.artofsolving.com/opensource/jodconverter">JODConverter</a></li>
          <li><a href="http://jtrac.info/dependencies.html">JTrac</a></li>
          <li><a href="http://jwebunit.sourceforge.net/2.x/">JWebUnit 2.x</a></li>
          <li><a href="http://www.jquantlib.org/index.php/Main_Page">JQuantLib</a></li>
          <li><a href="http://www.liferay.com/web/guest/home">LIFERAY</a></li>
          <li><a href="http://liftweb.net/">Lift</a></li>
          <li><a href="http://log4jdbc.sourceforge.net">log4jdbc</a></li>
          <li><a href="http://www.magnolia.info/en/magnolia.html">Magnolia</a></li>
          <li><a href="http://mrcp4j.sourceforge.net/">MRCP4J</a></li>
        </ul>
      </td>
 
 
      <td valign="top">
        <ul>
          <li><a href="http://www.mindquarry.com/">Mindquarry</a></li>
          <li><a href="http://mugshot.org/">Mugshot</a></li>
          <li><a href="http://mule.codehaus.org/display/MULE/Home">Mule</a></li>
          <li><a href="http://nexus.sonatype.org/repository.html">Nexus</a></li>
          <li><a href="http://www.novocode.com/naf/">Novocode</a></li>
          <li><a href="http://www.unidata.ucar.edu/software/netcdf-java/">NetCDF</a></li>
          <li><a href="http://code.google.com/p/openmeetings/">OpenMeetings</a></li>
          <li><a href="http://www.openrdf.org/">OpenRDF</a></li>
          <li><a href="http://docs.safehaus.org/display/PENROSE/Home">Penrose</a></li>
          <li><a href="http://pzfilereader.sourceforge.net/">PZFileReader</a></li>
          <li><a href="http://www.quartz-scheduler.org/">Quartz Scheduler</a></li>
        </ul>
      </td>
 
      <td valign="top">
        <ul>
          <li><a href="http://www.quickfixj.org/">QuickFIX/J</a></li>
          <li><a href="http://sonar.codehaus.org/">Sonar</a></li>
          <li><a href="http://smsj.sourceforge.net/dependencies.html">SMSJ</a></li>
          <li><a href="http://www.springframework.org/osgi">Spring-OSGi</a></li>
          <li><a href="http://static.springsource.org/s2-dmserver/2.0.x/user-guide/htmlsingle/user-guide.html">SpringSource dm Server&#8482;</a></li>
          <li><a href="http://streambase.com/">StreamBase</a></li>
          <li><a href="http://www.timefinder.de/">TimeFinder</a></li>
          <li><a href="http://www.wtfigo.org/index.html">WTFIGO</a></li>
          <li><a href="http://yaslibrary.sourceforge.net/index.shtml">YASL</a></li>
          <li><a href="http://xooctory.xoocode.org/">Xooctory</a></li>
          <li><a href="http://xwiki.org">XWiki</a></li>
        </ul>
      </td>
    </tr>
  </table>

  <script src="templates/footer.js" type="text/javascript"></script>
</div>
</body>
</html>
