[prev in list] [next in list] [prev in thread] [next in thread] 

List:       slf4j-user
Subject:    Re: [slf4j-user] SLF4J incorrectly determines that Class path
From:       Ari Meyer <ari.meyer () gmail ! com>
Date:       2009-07-24 1:25:17
Message-ID: 4A690D7D.6020303 () gmail ! com
[Download RAW message or body]

Thanks for the confirmation, Ceki.
Ari

Ceki Gulcu wrote:
> 
> Hello Ari,
> 
> It's a known problem with Weblogic. Please see:
> 
> http://bugzilla.slf4j.org/show_bug.cgi?id=138
> 
> Since only Weblogic seems to suffer from this issue, I am leaving it
> open for the time being.
> 
> BR
> 
> Ari Meyer wrote:
> > Hi,
> > 
> > I get this warning in my Eclipse console (using WTP to connect to 
> > WebLogic 10.3):
> > 
> > SLF4J: Class path contains multiple SLF4J bindings.
> > SLF4J: Found binding in [zip:C:/Documents and 
> > Settings/Owner.ZEN/.m2/repository/org/slf4j/slf4j-log4j12/1.5.8/slf4j-log4j12-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class] \
> >  
> > SLF4J: Found binding in [zip:C:/Documents and 
> > Settings/Owner.ZEN/.m2/repository/org/slf4j/slf4j-log4j12/1.5.8/slf4j-log4j12-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class] \
> >  
> > SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an 
> > explanation.
> > 
> > Somehow, it's seeing multiple bindings, when they are in fact the 
> > same.  I'm not sure how this is happening (I use Maven and the 
> > maven-eclipse-plugin for configuration).  Referencing this code from 
> > LoggerFactory:
> > 
> > private static String STATIC_LOGGER_BINDER_PATH = 
> > "org/slf4j/impl/StaticLoggerBinder.class";
> > 
> > private static void singleImplementationSanityCheck() {
> > try {
> > Enumeration paths = 
> > LoggerFactory.class.getClassLoader().getResources(
> > STATIC_LOGGER_BINDER_PATH);
> > List implementationList = new ArrayList();
> > while (paths.hasMoreElements()) {
> > URL path = (URL) paths.nextElement();
> > implementationList.add(path);
> > }
> > if (implementationList.size() > 1) {
> > Util
> > .reportFailure("Class path contains multiple SLF4J 
> > bindings.");
> > for(int i = 0; i < implementationList.size(); i++) {
> > Util.reportFailure("Found binding in 
> > ["+implementationList.get(i)+"]");
> > }
> > Util.reportFailure("See " + MULTIPLE_BINDINGS_URL
> > + " for an explanation.");
> > }
> > } catch (IOException ioe) {
> > Util.reportFailure("Error getting resources from path", ioe);
> > }
> > }
> > 
> > ... somehow, the Enumeration "paths" must have 2 elements that happen 
> > to be identical -- probably due to my multiple WAR within EAR config 
> > (if I shared my utility JAR at the EAR level, this probably won't 
> > show up).
> > 
> > Simple fix: change implementationList from List to Set -- this way 
> > there will be no duplicates.
> > 
> > Best regards,
> > Ari
> > 
> 

_______________________________________________
user mailing list
user@slf4j.org
http://www.slf4j.org/mailman/listinfo/user


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic