From 9d5fd2281e37e302a96c62fdca0bb65a63a65160 Mon Sep 17 00:00:00 2001 From: David Harrigan Date: Fri, 10 Sep 2010 23:45:47 +0100 Subject: [PATCH] Add in the modified files for LBCORE-154 into the commit. -=david=- --- .../classic/joran/JoranConfiguratorTest.java | 39 +++++++++++++++++--- .../core/joran/action/AppenderRefAction.java | 2 +- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/logback-classic/src/test/java/ch/qos/logback/classic/joran/JoranConfiguratorTest.java b/logback-classic/src/test/java/ch/qos/logback/classic/joran/JoranConfiguratorTest.java index 6512023..911baa5 100644 --- a/logback-classic/src/test/java/ch/qos/logback/classic/joran/JoranConfiguratorTest.java +++ b/logback-classic/src/test/java/ch/qos/logback/classic/joran/JoranConfiguratorTest.java @@ -111,6 +111,36 @@ public class JoranConfiguratorTest { } @Test + public void appenderRefSettingBySystemProperty() throws JoranException { + final String propertyName = "logback.appenderRef"; + System.setProperty(propertyName, "INFO"); + configure(ClassicTestConstants.JORAN_INPUT_PREFIX + + "appenderRefByProperty.xml"); + final Logger logger = loggerContext + .getLogger("ch.qos.logback.classic.joran"); + final ListAppender listAppender = (ListAppender) logger.getAppender("INFO"); + assertEquals(0, listAppender.list.size()); + final String msg = "hello world"; + logger.info(msg); + assertEquals(1, listAppender.list.size()); + System.clearProperty(propertyName); + } + + @Test + public void appenderRefSettingBySystemPropertyDefault() throws JoranException { + configure(ClassicTestConstants.JORAN_INPUT_PREFIX + + "appenderRefByPropertyDefault.xml"); + final Logger logger = loggerContext + .getLogger("ch.qos.logback.classic.joran"); + final ListAppender listAppender = (ListAppender) logger + .getAppender("CONSOLE"); + assertEquals(0, listAppender.list.size()); + final String msg = "hello world"; + logger.info(msg); + assertEquals(1, listAppender.list.size()); + } + + @Test public void statusListener() throws JoranException { configure(ClassicTestConstants.JORAN_INPUT_PREFIX + "statusListener.xml"); // StatusPrinter.print(loggerContext); @@ -300,9 +330,11 @@ public class JoranConfiguratorTest { + "encoderCharset.xml"; configure(configFileAsStr); - ConsoleAppender consoleAppender = (ConsoleAppender) root.getAppender("CONSOLE"); + ConsoleAppender consoleAppender = (ConsoleAppender) root + .getAppender("CONSOLE"); assertNotNull(consoleAppender); - LayoutWrappingEncoder encoder = (LayoutWrappingEncoder) consoleAppender.getEncoder(); + LayoutWrappingEncoder encoder = (LayoutWrappingEncoder) consoleAppender + .getEncoder(); assertEquals("UTF-8", encoder.getCharset().displayName()); @@ -310,7 +342,4 @@ public class JoranConfiguratorTest { assertTrue(checker.isErrorFree()); } - - - } diff --git a/logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderRefAction.java b/logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderRefAction.java index 8923f3b..7e82bbb 100644 --- a/logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderRefAction.java +++ b/logback-core/src/main/java/ch/qos/logback/core/joran/action/AppenderRefAction.java @@ -46,7 +46,7 @@ public class AppenderRefAction extends Action { AppenderAttachable appenderAttachable = (AppenderAttachable) o; - String appenderName = attributes.getValue(ActionConst.REF_ATTRIBUTE); + String appenderName = ec.subst(attributes.getValue(ActionConst.REF_ATTRIBUTE)); if (OptionHelper.isEmpty(appenderName)) { // print a meaningful error message and return -- 1.7.1