[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