cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrzej Michalec (JIRA)" <>
Subject [jira] Created: (CXF-1981) Inconsistent use of logger delegation via LogUtils
Date Wed, 14 Jan 2009 13:37:04 GMT
Inconsistent use of logger delegation via LogUtils

                 Key: CXF-1981
             Project: CXF
          Issue Type: Bug
    Affects Versions: 2.2
            Reporter: Andrzej Michalec
            Priority: Minor
             Fix For: 2.2

Even after installation of Log4jLogger delegate (via META-INF/cxf/org.apache.cxf.Logger file)
some messages still are logged by java.util.logging -- example:

14 Jan 2009 14:09:05,358 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] INFO  org.apache.cxf.bus.spring.BusApplicationContext
- Refreshing org.apache.cxf.bus.spring.BusApplicationContext@6c826c82: display name [org.apache.cxf.bus.spring.BusApplicationContext@6c826c82];
startup date [Wed Jan 14 14:09:05 CET 2009]; parent:
14 Jan 2009 14:09:05,393 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] INFO  org.apache.cxf.bus.spring.BusApplicationContext
- Bean factory for application context [org.apache.cxf.bus.spring.BusApplicationContext@6c826c82]:
Jan 14, 2009 2:10:03 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Application has thrown exception, unwinding now
	at org.apache.cxf.service.invoker.AbstractInvoker.createFault(
	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(

Review of PhaseInterceptorChain class shows that some log messages are passed via delegating
logger and other via direct call to LogUtils:

public class PhaseInterceptorChain implements InterceptorChain {
    private static final Logger LOG = LogUtils.getL7dLogger(PhaseInterceptorChain.class);

    public void add(Interceptor i, boolean force) {
            if (LOG.isLoggable(Level.FINE)) {
                LOG.fine("Adding interceptor " + i + " to phase " + phaseName);

    public synchronized boolean doIntercept(Message message) {
                        if (LOG.isLoggable(Level.FINE)) { 
                            LogUtils.log(LOG, Level.FINE,
                                         "Application has thrown exception, unwinding now",
                        } else if (LOG.isLoggable(Level.INFO)) {

Workaround is to install SFL4J delegating JUL to Log4j however I guess it would be better
clean up the code. I think that use of LogUtils.log() should be forbidden and enforcement
could be done via checkstyle (marking this method as depreciaded first) -or- introduction
of AOP with aspect checking calls to illegal method.


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

View raw message