[ https://issues.apache.org/jira/browse/SLING-3421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chetan Mehrotra updated SLING-3421: ----------------------------------- Description: If you configure a logger wrongly, which eg results in this stacktrace: {code} 2014-02-28 11:59:17 ERROR LogbackManager Error occurred while configuring Logback java.lang.IllegalArgumentException: Cannot format given Object as a Date at java.text.DateFormat.format(DateFormat.java:281) at java.text.Format.format(Format.java:140) at java.text.MessageFormat.subformat(MessageFormat.java:1288) at java.text.MessageFormat.format(MessageFormat.java:836) at java.text.Format.format(Format.java:140) at java.text.MessageFormat.format(MessageFormat.java:812) at org.apache.sling.commons.log.logback.internal.LogConfig.createLayout(LogConfig.java:124) at org.apache.sling.commons.log.logback.internal.util.LoggerSpecificEncoder.addLogConfig(LoggerSpecificEncoder.java:72) at org.apache.sling.commons.log.logback.internal.LogConfigManager.onResetComplete(LogConfigManager.java:283) at org.apache.sling.commons.log.logback.internal.LogbackManager.fireResetCompleteListeners(LogbackManager.java:266) at org.apache.sling.commons.log.logback.internal.OsgiInternalAction$ConfigCompleteListener.inPlay(OsgiInternalAction.java:158) at ch.qos.logback.core.joran.spi.InterpretationContext.fireInPlay(InterpretationContext.java:183) at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:61) at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149) at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135) at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99) at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49) at org.apache.sling.commons.log.logback.internal.LogbackManager$DefaultCallback.perform(LogbackManager.java:574) at org.apache.sling.commons.log.logback.internal.LogbackManager.configure(LogbackManager.java:322) at org.apache.sling.commons.log.logback.internal.LogbackManager.configure(LogbackManager.java:303) at org.apache.sling.commons.log.logback.internal.LogbackManager.access$200(LogbackManager.java:51) at org.apache.sling.commons.log.logback.internal.LogbackManager$1.run(LogbackManager.java:251) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:695) {code} logback initialization stops completely and no other logger will be honored. I think the logback initialization should continue and just mark the failing one prominently, instead of completely stopping. was: If you configure a logger wrongly, which eg results in this stacktrace: {code} java.io.IOException: Bad file descriptor at java.io.FileOutputStream.writeBytes(Native Method) at java.io.FileOutputStream.write(FileOutputStream.java:282) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) at ch.qos.logback.core.recovery.ResilientOutputStreamBase.flush(ResilientOutputStreamBase.java:79) at org.apache.sling.commons.log.logback.internal.util.LoggerSpecificEncoder.doEncode(LoggerSpecificEncoder.java:46) at org.apache.sling.commons.log.logback.internal.util.LoggerSpecificEncoder.doEncode(LoggerSpecificEncoder.java:34) at ch.qos.logback.core.OutputStreamAppender.writeOut(OutputStreamAppender.java:188) at ch.qos.logback.core.FileAppender.writeOut(FileAppender.java:206) at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:212) at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:175) at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:103) at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:88) at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:48) at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:273) at ch.qos.logback.classic.Logger.callAppenders(Logger.java:260) at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:442) at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:396) at ch.qos.logback.classic.Logger.log(Logger.java:788) at org.eclipse.jetty.util.log.JettyAwareLogger.log(JettyAwareLogger.java:620) {code} logback initialization stops completely and no other logger will be honored. I think the logback initialization should continue and just mark the failing one prominently, instead of completely stopping. > logback initialization does not initialize correct loggers if there's a > single false one > ---------------------------------------------------------------------------------------- > > Key: SLING-3421 > URL: https://issues.apache.org/jira/browse/SLING-3421 > Project: Sling > Issue Type: Bug > Components: Commons > Reporter: Stefan Egli > Assignee: Chetan Mehrotra > > If you configure a logger wrongly, which eg results in this stacktrace: > {code} > 2014-02-28 11:59:17 ERROR LogbackManager Error occurred while configuring > Logback > java.lang.IllegalArgumentException: Cannot format given Object as a Date > at java.text.DateFormat.format(DateFormat.java:281) > at java.text.Format.format(Format.java:140) > at java.text.MessageFormat.subformat(MessageFormat.java:1288) > at java.text.MessageFormat.format(MessageFormat.java:836) > at java.text.Format.format(Format.java:140) > at java.text.MessageFormat.format(MessageFormat.java:812) > at > org.apache.sling.commons.log.logback.internal.LogConfig.createLayout(LogConfig.java:124) > at > org.apache.sling.commons.log.logback.internal.util.LoggerSpecificEncoder.addLogConfig(LoggerSpecificEncoder.java:72) > at > org.apache.sling.commons.log.logback.internal.LogConfigManager.onResetComplete(LogConfigManager.java:283) > at > org.apache.sling.commons.log.logback.internal.LogbackManager.fireResetCompleteListeners(LogbackManager.java:266) > at > org.apache.sling.commons.log.logback.internal.OsgiInternalAction$ConfigCompleteListener.inPlay(OsgiInternalAction.java:158) > at > ch.qos.logback.core.joran.spi.InterpretationContext.fireInPlay(InterpretationContext.java:183) > at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:61) > at > ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:149) > at > ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:135) > at > ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:99) > at > ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:49) > at > org.apache.sling.commons.log.logback.internal.LogbackManager$DefaultCallback.perform(LogbackManager.java:574) > at > org.apache.sling.commons.log.logback.internal.LogbackManager.configure(LogbackManager.java:322) > at > org.apache.sling.commons.log.logback.internal.LogbackManager.configure(LogbackManager.java:303) > at > org.apache.sling.commons.log.logback.internal.LogbackManager.access$200(LogbackManager.java:51) > at > org.apache.sling.commons.log.logback.internal.LogbackManager$1.run(LogbackManager.java:251) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) > at java.util.concurrent.FutureTask.run(FutureTask.java:138) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) > at java.lang.Thread.run(Thread.java:695) > {code} > logback initialization stops completely and no other logger will be honored. > I think the logback initialization should continue and just mark the failing > one prominently, instead of completely stopping. -- This message was sent by Atlassian JIRA (v6.1.5#6160)