cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Diego Delgado Roda <>
Subject Apache CXF log separation
Date Mon, 20 Jun 2016 15:46:29 GMT

I'll try to explain my situation as well as I can. given that I have little experience in
Apache CXF in particular and in web application programming in general.

I built and deployed a JAX-RS REST API as a WAR into my WSO2 Application Server (WSO2 AS).
This WSO2 AS runs an Apache CXF 2.7.6 environment which contains the needed dependencies to
run my REST API.
Under WSO2 AS this CXF is configured to send log messages to Log4j framework. This can be
verified in the following message of the WSO2 AS server startup log:

12:32:55.087 [localhost-startStop-1] DEBUG org.apache.cxf.common.logging.LogUtils[<clinit>:140]
- Using org.apache.cxf.common.logging.Log4jLogger for logging.

The problem arises when I want to use the SLF4J / Logback framework to log my REST API. The
achieve that I put the needed dependencies under WEB-INF/lib.
During the server startup one thing changes, the CXF framework now detects my SLF4J / logback
framework and sends its log messages to my appenders configured in WEB-INF/classes/logback.xml.
Again, this can be verified in the following message of the WSO2 AS server startup log:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [bundleresource://460.fwk1889868818:1/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/Diego/wso2as-5.2.1/repository/deployment/server/webapps/MYAPP_JAX-RS_1.0.0/WEB-INF/lib/logback-classic-1.1.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
22:01:13.232 [localhost-startStop-1] DEBUG org.apache.cxf.common.logging.LogUtils[<clinit>:140]
- Using org.apache.cxf.common.logging.Slf4jLogger for logging.

The problem is that now my logback appenders are mixed with org.apache.cxf DEBUG log messages
and my REST API log messages. So the purpose of isolate my REST API logs are not possible
using this SLF4J / Logback approach.

My question is if it's possible to make WEB-INF/lib only visible to my REST API class and
not to the CXF Servlet or CXF Framework in general. Or maybe I'm not taking the right approach
to manage the log separation?

DISCLAIMER: Aquest missatge pot contenir informaci? confidencial. Si vost? no n'?s el destinatari,
si us plau, esborri'l i faci'ns-ho saber immediatament a la seg?ent adre?a:
Si el destinatari d'aquest missatge no consent la utilitzaci? del correu electr?nic via Internet
i la gravaci? de missatges, li preguem que ens ho comuniqui immediatament.

DISCLAIMER: Este mensaje puede contener informaci?n confidencial. Si usted no es el destinatario
del mensaje, por favor b?rrelo y notif?quenoslo inmediatamente a la siguiente direcci?n:
Si el destinatario de este mensaje no consintiera la utilizaci?n del correo electr?nico v?a
Internet y la grabaci?n de los mensajes, rogamos lo ponga en nuestro conocimiento de forma

DISCLAIMER: Privileged/Confidential Information may be contained in this message. If you are
not the addressee indicated in this message you should destroy this message, and notify us
immediately to the following address: If the addressee of this message
does not consent to the use of Internet e-mail and message recording, please notify us immediately.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message