there's been a pretty good debate over on Solr Dev about this. My preference would either be SLF4J or Log4j. Commons logging has a lot of known issues with the way it handles classloading, and even the creators only recommend it's use in certain situations. I would recommend we go to SLF4J, but Log4j is good too. Do we know what Hadoop uses? That would be the other preference.

On May 10, 2008, at 3:39 PM, Sean Owen (JIRA) wrote:

Standardize on java.util.logging, Commons Logging, log4j?
---------------------------------------------------------

                Key: MAHOUT-52
                URL: https://issues.apache.org/jira/browse/MAHOUT-52
            Project: Mahout
         Issue Type: Improvement
           Reporter: Sean Owen
           Priority: Minor


I see the log4j and Commons Logging .jars in the lib/ directory. log4j isn't used; Commons Logging is used in one class (Parametered). My code just used java.util.logging directly.

I figure we should standardize on one approach to logging. I personally think they're all just about the same; the only real best practice is using one system.

I have always just used java.util.logging since it is built into Java 1.4+. Commons Logging offers an extra layer of abstraction and lets you switch between java.util.logging and log4j underneath. That's cool, but I've not found it compelling enough to want to add another layer and another .jar file.

But, I guess log4j is present because hadoop uses it directly? The .jar seems to have a dependency on it.

In that case maybe we are better off using Commons Logging to let us integrate with log4j logging that Hadoop uses, and leave open the possibility of other callers using java.util.logging underneath.

If that's cool I can switch my code to use Commons Logging.

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Reply via email to