[jboss-jira] [JBoss JIRA] Commented: (JBAS-7490) cannot use logback-classic-0.9.17 inside a web application

Anton Kraev (JIRA) jira-events at lists.jboss.org
Tue Dec 1 09:56:29 EST 2009


    [ https://jira.jboss.org/jira/browse/JBAS-7490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12497465#action_12497465 ] 

Anton Kraev commented on JBAS-7490:
-----------------------------------

David, our app is structured this way:

All classes obtain loggers similarly:
--------
  protected static final org.slf4j.Logger logger = LoggerFactory.getLogger(Avm.class);
--------

Then, there is code that sets log levels dynamically by reconfiguring logback JoranConfigurator:
--------
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.LoggerContext;
import ch.qos.logback.classic.joran.JoranConfigurator;
import ch.qos.logback.core.joran.spi.JoranException;

LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
JoranConfigurator configurator = new JoranConfigurator();
DBLogAppender appender = new DBLogAppender(this, avm.getSystem());
appender.start();
appender.setContext(lc);
configurator.setContext(lc);
lc.reset();
configurator.doConfigure(new ByteArrayInputStream(avm.getConfigPersistence().getLoggingXml(model).getBytes()));
ch.qos.logback.classic.Logger root = lc.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
root.addAppender(appender);
--------

And a couple of custom appenders/log filters/layouts based again on logback API

We had no idea that it will not work in jboss, so it will be quite a rewrite.

So what you suggest is using org.apache.log4j.Logger APIs everywhere instead of org.slf4j.Logger, and rewrite all appenders/log filters/layouts to use log4j API directly, right?

I am also wondering how portable will it be? We have to support weblogic and webspehere as well... Using logback seems to work fine in weblogic and websphere. And I even don't know if using log4j directly will not be a problem with other app servers.

Thanks!

> cannot use logback-classic-0.9.17 inside a web application
> ----------------------------------------------------------
>
>                 Key: JBAS-7490
>                 URL: https://jira.jboss.org/jira/browse/JBAS-7490
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Logging
>    Affects Versions: JBossAS-5.1.0.GA
>         Environment: Windows XP
> $ java -version
> java version "1.6.0_12"
> Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
> Java HotSpot(TM) Client VM (build 11.2-b01, mixed mode, sharing)
> 16:09:30,299 INFO  [ServerImpl] Starting JBoss (Microcontainer)...
> 16:09:30,299 INFO  [ServerImpl] Release ID: JBoss [The Oracle] 5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)
>            Reporter: Anton Kraev
>            Assignee: David Lloyd
>
> When bundling logback-classic-0.9.17.jar in a web application, the following is reported during startup:
> 2009-11-30 16:11:26,000 ERROR [STDERR] (main) SLF4J: Class path contains multiple SLF4J bindings.
> 2009-11-30 16:11:26,000 ERROR [STDERR] (main) SLF4J: Found binding in [vfszip:/D:/cw/jboss-5.1.0.GA/server/default/deploy/cwf.war/WEB-INF/lib/logback-classic-0.
> 9.17.jar/org/slf4j/impl/StaticLoggerBinder.class]
> 2009-11-30 16:11:26,000 ERROR [STDERR] (main) SLF4J: Found binding in [vfszip:/D:/cw/jboss-5.1.0.GA/common/lib/slf4j-jboss-logging.jar/org/slf4j/impl/StaticLogg
> erBinder.class]
> 2009-11-30 16:11:26,000 ERROR [STDERR] (main) SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
> We need access to logback APIs because we configure logging on the fly (change log levels without restarting the app), therefore we need to ship this jar, which in turn contains a static binding.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list