Btw.
Class.forName("org.slf4j.impl.StaticLoggerBinder");does not work. Jetty also does that to check if slf4j is available. The problem is that pax logging does not even export this package. So my proposal would be to completely switch to slf4j and not test for anything in the setup. If people want j.u.l. then they can use the slf4j adapter for it. That would bring our code in line with camel and karaf. Another question is of course when to do such a change. I am not sure if we should switch right now. Christian Am 16.03.2012 15:48, schrieb Daniel Kulp:
I'm -1 for this change for 2 reasons: 1) This breaks existing logging configuration and thus cannot be pulled back onto the other branches. Users may already have j.u.l configs that would no longer work. 2) Performance issues - the Slf4jLogger does a LOT more work than the j.u.l loggers and thus we should only use this as a last resort, not the default which this change pretty much entails. Dan On Friday, March 16, 2012 02:38:18 PM [email protected] wrote:Author: ningjiang Date: Fri Mar 16 14:38:18 2012 New Revision: 1301549 URL: http://svn.apache.org/viewvc?rev=1301549&view=rev Log: Merged revisions 1301539 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1301539 | ningjiang | 2012-03-16 22:18:01 +0800 (Fri, 16 Mar 2012) | 1 line CXF-4180 LogUtils should default to CXF's Slf4jLogger if it can't find Log4J or JCL driver ........ Modified: cxf/branches/2.5.x-fixes/ (props changed) cxf/branches/2.5.x-fixes/common/common/src/main/java/org/apache/cxf/commo n/logging/LogUtils.java Propchange: cxf/branches/2.5.x-fixes/ -------------------------------------------------------------------------- ---- svn:mergeinfo = /cxf/trunk:1301539 Propchange: cxf/branches/2.5.x-fixes/ -------------------------------------------------------------------------- ---- Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.5.x-fixes/common/common/src/main/java/org/apache/cxf/commo n/logging/LogUtils.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/common/common/src/m ain/java/org/apache/cxf/common/logging/LogUtils.java?rev=1301549&r1=130154 8&r2=1301549&view=diff ========================================================================= ===== --- cxf/branches/2.5.x-fixes/common/common/src/main/java/org/apache/cxf/commo n/logging/LogUtils.java (original) +++ cxf/branches/2.5.x-fixes/common/common/src/main/java/org/apache/cxf/commo n/logging/LogUtils.java Fri Mar 16 14:38:18 2012 @@ -97,17 +97,8 @@ public final class LogUtils { } if (StringUtils.isEmpty(cname)) { Class.forName("org.slf4j.impl.StaticLoggerBinder"); - Class<?> cls = Class.forName("org.slf4j.LoggerFactory"); - Class<?> fcls = cls.getMethod("getILoggerFactory").invoke(null).getClass(); - if (fcls.getName().contains("Log4j")) { - cname = "org.apache.cxf.common.logging.Log4jLogger"; - } else if (fcls.getName().contains("JCL")) { - cls = Class.forName("org.apache.commons.logging.LogFactory"); - fcls = cls.getMethod("getFactory").invoke(null).getClass(); - if (fcls.getName().contains("Log4j")) { - cname = "org.apache.cxf.common.logging.Log4jLogger"; - } - } + // using the Slf4jLogger directly + cname = "org.apache.cxf.common.logging.Slf4jLogger"; } if (!StringUtils.isEmpty(cname)) { try {
-- Christian Schneider http://www.liquid-reality.de Open Source Architect Talend Application Integration Division http://www.talend.com
