Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>In chronological order of api apperance (as far as I know):</p> <ul> <li>Log4j because most everybody uses it (in my experience)</li> <li>Commons Logging because open source projects use it (so they can integrate with whatever logging framework is used in the integrated solution); especially valid if you're an API/Framework/OSS and you rely on other packages that use Commons Logging.</li> <li>Commons Logging because you don't want to "lock down" to a particular logging framework (so instead you lock down to what Commons Logging gives you instead) - I don't think it is sensible to decide using this point as the reason.</li> <li>Java logging because you don't want to add in an extra jar.</li> <li>SLF4j because it's newer than Commons Logging and provides parameterized logging:</li> </ul> <hr> <pre><code>logger.debug("The entry is {}.", entry); //which expands effectively to if (logger.isDebugEnabled()){ // Note that it's actually *more* efficient than this - see Huxi's comment below... logger.debug("The entry is " + entry + "."); } </code></pre> <ul> <li>Logback because it's newer than log4j and again, supports parameterized logging, as it implements SLF4j directly</li> <li>SLF4j/Logback because it's written by the same guy who did log4j, so he's made it better (according to <a href="https://stackoverflow.com/questions/354837/whats-up-with-logging-in-java#356038">Ken G</a> - thanks. It seems to fit when looking at <a href="http://www.slf4j.org/news.html" rel="nofollow noreferrer">their earlier news posts</a>)</li> <li>SLF4j because they also publish a log4j adapter so you don't have to "switch out" log4j in older code - just make log4j.properties use SLF4j and it's configuration</li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload