
Hi, I've inherited an existing application. One of the first things I did was to move it from java.util.logging to logback using the excellent SLF4J migration tool. It works fine with an console appender, but when I try to use Janino in the logback.xml I run into trouble. When I add this to the logback.xml: <if condition='!property("myapp.log.dir").isEmpty()'> ... </if> Then I get "Failed to parse condition [!property("callisto.log.dir").isEmpty()] org.codehaus.janino.JaninoRuntimeException: Trying to add an auxiliary class "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts" while another class with the same name is already loaded". I've used this approach before, so I suspect it's something to do with GWT and the intellij GWT pluging doing something funny with the class loader. Has anyone seen this before, or got an idea where to start looking for a solution? There is a potention suggested fix here: http://jira.codehaus.org/browse/JANINO-159 But it requires a change in logback... if it's related. Thanks David P.S. Full stack trace below 11:59:24,293 |-ERROR in ch.qos.logback.core.joran.conditional.IfAction - Failed to parse condition [!property("callisto.log.dir").isEmpty()] org.codehaus.janino.JaninoRuntimeException: Trying to add an auxiliary class "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts" while another class with the same name is already loaded at org.codehaus.janino.JaninoRuntimeException: Trying to add an auxiliary class "ch.qos.logback.core.joran.conditional.PropertyWrapperForScripts" while another class with the same name is already loaded at at org.codehaus.janino.SimpleCompiler$AuxiliaryClassLoader.addAuxiliaryClass(SimpleCompiler.java:266) at at org.codehaus.janino.SimpleCompiler$AuxiliaryClassLoader.access$200(SimpleCompiler.java:245) at at org.codehaus.janino.SimpleCompiler.classToType(SimpleCompiler.java:346) at at org.codehaus.janino.ClassBodyEvaluator.addPackageMemberClassDeclaration(ClassBodyEvaluator.java:286) at at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:212) at at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:194) at at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:80) at at org.codehaus.commons.compiler.Cookable.cook(Cookable.java:72) at at ch.qos.logback.core.joran.conditional.PropertyEvalScriptBuilder.build(PropertyEvalScriptBuilder.java:50) at at ch.qos.logback.core.joran.conditional.IfAction.begin(IfAction.java:67) at at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:275) at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:147) at at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:129) at at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99) at at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49) at at ch.qos.logback.classic.util.ContextInitializer.configureByResource(ContextInitializer.java:75) at at ch.qos.logback.classic.util.ContextInitializer.autoConfig(ContextInitializer.java:148) at at org.slf4j.impl.StaticLoggerBinder.init(StaticLoggerBinder.java:85) at at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:55) at at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) at at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:107) at at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:295) at at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:269) at at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156) at at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132) at at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351) at at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:270) at at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:543) at at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) at at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220) at at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:513) at at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at at com.google.gwt.dev.shell.jetty.JettyLauncher$WebAppContextWithReload.doStart(JettyLauncher.java:468) at at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at at org.mortbay.jetty.handler.RequestLogHandler.doStart(RequestLogHandler.java:115) at at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at at org.mortbay.jetty.Server.doStart(Server.java:222) at at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at at com.google.gwt.dev.shell.jetty.JettyLauncher.start(JettyLauncher.java:672) at at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509) at at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068) at at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811) at at com.google.gwt.dev.DevMode.main(DevMode.java:311) at at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at at java.lang.reflect.Method.invoke(Method.java:597) at at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) -- View this message in context: http://logback.10977.n7.nabble.com/JaninoRuntimeException-Trying-to-add-an-a... Sent from the Users mailing list archive at Nabble.com.