r500384 | eross | 2007-01-26 16:22:41 -0600 (Fri, 26 Jan 2007) | 1 line
Bug 17531 - Add "log4j.reset" to property configurator as well as XML/
Joran one
Index: src/java/org/apache/log4j/PropertyConfigurator.java
===================================================================
98a99,103
> /**
> * Makes log4j reset the configuration by setting it to true.
> */
> static final String RESET_KEY = "log4j.reset";
>
410c415,416
< String value = properties.getProperty(DEBUG_KEY);
---
> String debug = properties.getProperty(DEBUG_KEY);
> String reset = properties.getProperty(RESET_KEY);
416,417c422,427
< boolean attachedConsoleApepnder = false;
< if ((value != null) && OptionConverter.toBoolean(value, true)) {
---
> if (OptionConverter.toBoolean(reset, false)) {
> repository.resetConfiguration();
> }
>
> boolean attachedConsoleAppender = false;
> if ((debug != null) && OptionConverter.toBoolean(debug,
true)) {
419c429
< attachedConsoleApepnder = true;
---
> attachedConsoleAppender = true;
445c455
< if (attachedConsoleApepnder) {
---
> if (attachedConsoleAppender) {
Index: tests/src/java/org/apache/log4j/xml/ResetTest.java
===================================================================
2a3,4
> import java.util.Properties;
>
5a8
> import org.apache.log4j.PropertyConfigurator;
12,14c15,39
< public void testNoReset() {
< test("input/xml/resetTest.xml", true);
< test("input/xml/defaultInit.xml", false);
---
> Logger logx;
>
> protected void setUp() {
> LogManager.getLoggerRepository().resetConfiguration();
> initx();
> }
>
> public void testResetXml() {
> test("tests/input/xml/defaultInit.xml", false);
> test("tests/input/xml/resetTest.xml", true);
> }
>
> private void initx() {
> logx = Logger.getLogger("x");
> logx.setLevel(Level.ERROR);
> assertEquals(Level.ERROR, logx.getLevel());
> }
>
> public void testResetProps() {
> Properties p = new Properties();
> p.put("log4j.rootLogger","DEBUG,C");
> p.put("log4j.appender.C","org.apache.log4j.ConsoleAppender");
> p.put("log4j.appender.C","layout=org.apache.log4j.SimpleLayout");
> testProperties(p, false);
> testProperties(p, true);
19,23d43
< LogManager.getLoggerRepository().resetConfiguration();
< Logger l = Logger.getLogger("x");
< l.setLevel(Level.ERROR);
< assertEquals(Level.ERROR, l.getLevel());
<
27c47,62
< assertEquals(null, l.getLevel());
---
> assertEquals("reset=" + reset, null, logx.getLevel());
> else
> assertEquals(Level.ERROR, logx.getLevel());
> }
>
> private void testProperties(Properties p, boolean reset)
> {
> if (reset) {
> p.put("log4j.reset", "true");
> } else {
> p.remove("log4j.reset");
> }
> System.out.println(" --- test " + p);
> PropertyConfigurator.configure(p);
> if (reset)
> assertEquals("reset=" + reset, null, logx.getLevel());
29c64
< assertEquals(Level.ERROR, l.getLevel());
---
> assertEquals(Level.ERROR, logx.getLevel());
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]