You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4php-dev@logging.apache.org by ih...@apache.org on 2011/07/15 11:54:31 UTC

svn commit: r1147068 - in /logging/log4php/trunk/src: changes/changes.xml main/php/LoggerAppender.php test/php/configurators/LoggerConfiguratorPhpTest.php

Author: ihabunek
Date: Fri Jul 15 09:54:30 2011
New Revision: 1147068

URL: http://svn.apache.org/viewvc?rev=1147068&view=rev
Log:
LOG4PHP-143: LoggerConfiguratorPhp does not accept integer constants for appender threshold
* Fixed LoggerAppender::setThreshold() to accept integers (currently accepts only strings and LoggerLevel objects)
* Added tests

Modified:
    logging/log4php/trunk/src/changes/changes.xml
    logging/log4php/trunk/src/main/php/LoggerAppender.php
    logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php

Modified: logging/log4php/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/changes/changes.xml?rev=1147068&r1=1147067&r2=1147068&view=diff
==============================================================================
--- logging/log4php/trunk/src/changes/changes.xml (original)
+++ logging/log4php/trunk/src/changes/changes.xml Fri Jul 15 09:54:30 2011
@@ -21,6 +21,7 @@
 	</properties>
 	<body>
 	    <release version="2.2.0" date="SVN">
+	        <action date="2011-07-14" type="fix" issue="LOG4PHP-143" dev="Ivan Habunek" due-to="Justin Cherniak" due-to-email="justin dot cherniak at gmail dot com">LoggerConfiguratorPhp does not accept integer constants for appender threshold</action>
 	    </release>
 	    <release version="2.1.0" date="2011-07-13" description="Stabilizing">
 			<action date="2011-06-01" type="fix" issue="LOG4PHP-138" dev="Christian Grobmeier">Permission denied while renaming log file when hundred of users are accessing the application</action>

Modified: logging/log4php/trunk/src/main/php/LoggerAppender.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/main/php/LoggerAppender.php?rev=1147068&r1=1147067&r2=1147068&view=diff
==============================================================================
--- logging/log4php/trunk/src/main/php/LoggerAppender.php (original)
+++ logging/log4php/trunk/src/main/php/LoggerAppender.php Fri Jul 15 09:54:30 2011
@@ -213,10 +213,10 @@ abstract class LoggerAppender {
 	 * @see LoggerOptionConverter::toLevel()
 	 */
 	public function setThreshold($threshold) {
-		if(is_string($threshold)) {
-			$this->threshold = LoggerOptionConverter::toLevel($threshold, null);
-		} else if($threshold instanceof LoggerLevel) {
+		if($threshold instanceof LoggerLevel) {
 			$this->threshold = $threshold;
+		} else {
+			$this->threshold = LoggerOptionConverter::toLevel($threshold, null);
 		}
 	}
 	

Modified: logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php?rev=1147068&r1=1147067&r2=1147068&view=diff
==============================================================================
--- logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php (original)
+++ logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorPhpTest.php Fri Jul 15 09:54:30 2011
@@ -42,7 +42,7 @@ class TestRenderer implements LoggerRend
 class LoggerConfiguratorPhpTest extends PHPUnit_Framework_TestCase {
 
     protected function setUp() {
-
+		Logger::resetConfiguration();
     }
 
     protected function tearDown() {
@@ -130,4 +130,58 @@ class LoggerConfiguratorPhpTest extends 
         self::assertEquals('test1,test2,test3', $actual);
 
     }
+    
+    /** Tests setting levels and thresholds using the integer constants. */
+    public function testLevelsConstant() {
+        Logger::configure(array (
+            'rootLogger' => array (
+                'level' => (string) LoggerLevel::ERROR,
+                'appenders' => array (
+                    'default', 'filetest'
+                ),
+            ),
+            'appenders' => array (
+                'default' => array (
+                    'class' => 'LoggerAppenderEcho',
+            		'threshold' => LoggerLevel::FATAL
+                )
+            ),
+            
+        ), 'LoggerConfiguratorPhp');
+        
+        
+        $root = Logger::getRootLogger();
+        self::assertEquals(LoggerLevel::getLevelError(), $root->getLevel());
+        
+        $appender = $root->getAppender("default");
+        self::assertTrue($appender instanceof LoggerAppenderEcho);
+		self::assertSame(LoggerLevel::getLevelFatal(), $appender->getThreshold());
+    }
+    
+    /** Tests setting levels and thresholds using the LoggerLevel objects. */
+    public function testLevelsObject() {
+        Logger::configure(array (
+            'rootLogger' => array (
+                'level' => LoggerLevel::getLevelError(),
+                'appenders' => array (
+                    'default', 'filetest'
+                ),
+            ),
+            'appenders' => array (
+                'default' => array (
+                    'class' => 'LoggerAppenderEcho',
+            		'threshold' => LoggerLevel::getLevelFatal()
+                )
+            ),
+            
+        ), 'LoggerConfiguratorPhp');
+        
+        
+        $root = Logger::getRootLogger();
+        self::assertEquals(LoggerLevel::getLevelError(), $root->getLevel());
+        
+        $appender = $root->getAppender("default");
+        self::assertTrue($appender instanceof LoggerAppenderEcho);
+		self::assertSame(LoggerLevel::getLevelFatal(), $appender->getThreshold());
+    }
 }
\ No newline at end of file