[
https://jira.jboss.org/jira/browse/JBAS-7490?page=com.atlassian.jira.plug...
]
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