cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Kulp (JIRA)" <j...@apache.org>
Subject [jira] Reopened: (CXF-1981) Inconsistent use of logger delegation via LogUtils
Date Wed, 21 Jan 2009 22:39:59 GMT

     [ https://issues.apache.org/jira/browse/CXF-1981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Daniel Kulp reopened CXF-1981:
------------------------------


I'm re-opening this as the proper fix is to figure out why LogUtils.log(...) isn't sending
it to the right logger.   

There are MANY places in the code that use LogUtils.log(...).   The main reason is to get
the stack traces correct if printing stack traces.   That method (or the Log4j delegator)
need to be fixed.

> Inconsistent use of logger delegation via LogUtils
> --------------------------------------------------
>
>                 Key: CXF-1981
>                 URL: https://issues.apache.org/jira/browse/CXF-1981
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.2
>            Reporter: Andrzej Michalec
>            Assignee: Sean O'Callaghan
>            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: org.springframework.web.context.support.XmlWebApplicationContext@6abe6abe
> 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]:
org.springframework.beans.factory.support.DefaultListableBeanFactory@75d275d2
> ...
> Jan 14, 2009 2:10:03 PM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Application has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault
> 	at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:148)
> 	at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:114)
> ...
> 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", ex);
>                         } 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.
> cheers,
> andy

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


Mime
View raw message