Property changes on: C:\svn-store\apache.org\commons\log4j\trunk ___________________________________________________________________ Name: svn:ignore - goEnv* dist build.properties target surefire* cobertura.ser .classpath .project .settings log4j.i* + goEnv* dist build.properties target surefire* cobertura.ser .classpath .project .settings log4j.i* bin Index: C:/svn-store/apache.org/commons/log4j/trunk/tests/src/java/org/apache/log4j/LoggerTestCase.java =================================================================== --- C:/svn-store/apache.org/commons/log4j/trunk/tests/src/java/org/apache/log4j/LoggerTestCase.java (revision 636954) +++ C:/svn-store/apache.org/commons/log4j/trunk/tests/src/java/org/apache/log4j/LoggerTestCase.java (working copy) @@ -355,6 +355,31 @@ assertEquals("Message 1", event.getMessage()); } + /** + * Tests logger.error(Object). + * @since 1.2.16 + */ + public void testError() { + VectorAppender appender = new VectorAppender(); + appender.activateOptions(); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + root.setLevel(Level.FATAL); + + Logger errorLogger = Logger.getLogger("com.example.Error"); + errorLogger.setLevel(Level.ERROR); + + errorLogger.error("Message 1"); + root.error("Discarded Message"); + root.error("Discarded Message"); + + Vector msgs = appender.getVector(); + assertEquals(1, msgs.size()); + LoggingEvent event = (LoggingEvent) msgs.elementAt(0); + assertEquals(Level.ERROR, event.getLevel()); + assertEquals("Message 1", event.getMessage()); + } + /** * Tests logger.trace(Object, Exception). * @since 1.2.12 @@ -399,6 +424,42 @@ assertFalse(root.isTraceEnabled()); } + /** + * Tests isErrorEnabled. + * @since 1.2.16 + */ + public void testIsWarnEnabled() { + VectorAppender appender = new VectorAppender(); + appender.activateOptions(); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + root.setLevel(Level.FATAL); + + Logger warnLogger = Logger.getLogger("com.example.WarnLogger"); + warnLogger.setLevel(Level.WARN); + + assertTrue(warnLogger.isWarnEnabled()); + assertFalse(root.isWarnEnabled()); + } + + /** + * Tests isErrorEnabled. + * @since 1.2.16 + */ + public void testIsErrorEnabled() { + VectorAppender appender = new VectorAppender(); + appender.activateOptions(); + Logger root = Logger.getRootLogger(); + root.addAppender(appender); + root.setLevel(Level.FATAL); + + Logger errorLogger = Logger.getLogger("com.example.ErrorLogger"); + errorLogger.setLevel(Level.ERROR); + + assertTrue(errorLogger.isErrorEnabled()); + assertFalse(root.isErrorEnabled()); + } + private static final class CountingHierarchyEventListener implements HierarchyEventListener { private int addEventCount; private int removeEventCount; Index: C:/svn-store/apache.org/commons/log4j/trunk/src/main/java/org/apache/log4j/Logger.java =================================================================== --- C:/svn-store/apache.org/commons/log4j/trunk/src/main/java/org/apache/log4j/Logger.java (revision 636954) +++ C:/svn-store/apache.org/commons/log4j/trunk/src/main/java/org/apache/log4j/Logger.java (working copy) @@ -210,4 +210,34 @@ return Level.TRACE.isGreaterOrEqual(this.getEffectiveLevel()); } + /** + * Check whether this category is enabled for the ERROR Level. + * @since 1.2.16 + * + * @return boolean - true if this category is enabled for level + * ERROR, false otherwise. + */ + public boolean isErrorEnabled() { + if (repository.isDisabled(Level.ERROR_INT)) { + return false; + } + + return Level.ERROR.isGreaterOrEqual(this.getEffectiveLevel()); + } + + /** + * Check whether this category is enabled for the ERROR Level. + * @since 1.2.16 + * + * @return boolean - true if this category is enabled for level + * ERROR, false otherwise. + */ + public boolean isWarnEnabled() { + if (repository.isDisabled(Level.WARN_INT)) { + return false; + } + + return Level.WARN.isGreaterOrEqual(this.getEffectiveLevel()); + } + }