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 gr...@apache.org on 2010/05/04 06:47:26 UTC

svn commit: r940724 - in /logging/log4php/trunk/src: changes/ main/php/appenders/ test/php/ test/php/appenders/ test/php/configurators/ test/php/renderers/

Author: grobmeier
Date: Tue May  4 04:47:25 2010
New Revision: 940724

URL: http://svn.apache.org/viewvc?rev=940724&view=rev
Log:
LOG4PHP-108: improved add html line break. Patch by Ivan Habunek - thanks!

Modified:
    logging/log4php/trunk/src/changes/changes.xml
    logging/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php
    logging/log4php/trunk/src/test/php/LoggerAppenderTest.php
    logging/log4php/trunk/src/test/php/LoggerTest.php
    logging/log4php/trunk/src/test/php/appenders/LoggerAppenderEchoTest.php
    logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php
    logging/log4php/trunk/src/test/php/configurators/test6.properties
    logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php

Modified: logging/log4php/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/changes/changes.xml?rev=940724&r1=940723&r2=940724&view=diff
==============================================================================
--- logging/log4php/trunk/src/changes/changes.xml (original)
+++ logging/log4php/trunk/src/changes/changes.xml Tue May  4 04:47:25 2010
@@ -26,7 +26,7 @@
   	<release version="2.1" description="Stabilizing">
   		<action type="update" issue="LOG4PHP-109" by="Vladimir Gorej">patch for Throwable information associated with logging event</action>
   		<action type="update" issue="LOG4PHP-111" by="Ivan Habunek">Documentation: Problem using a custom ConversionPattern</action>
-  		<action type="update" issue="LOG4PHP-108" by="Florian Platzer, Christian Grobmeier">Add HTML line break to LoggerAppenderEcho output</action>
+  		<action type="update" issue="LOG4PHP-108" by="Florian Platzer, Christian Grobmeier, Ivan Habunek">Add HTML line break to LoggerAppenderEcho output</action>
   		<action type="update" by="Ivan Habunek">Included new LoggerLayoutPattern tests</action>
   		<action type="fix" issue="LOG4PHP-103" by="Moritz Schmidt">Exception when using more than one LoggerAppenderFile</action>
   		<action type="fix" issue="LOG4PHP-102" by="Ivan Habunek">LoggerLayoutPattern fails tests</action>

Modified: logging/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php?rev=940724&r1=940723&r2=940724&view=diff
==============================================================================
--- logging/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php (original)
+++ logging/log4php/trunk/src/main/php/appenders/LoggerAppenderEcho.php Tue May  4 04:47:25 2010
@@ -44,8 +44,11 @@ class LoggerAppenderEcho extends LoggerA
 	/** boolean used internally to mark first append */
 	private $firstAppend = true;
 	
-	/** @var boolean type-safe (bool) (true: -1, 1, true; false: 0, false) */
-	private $htmlLineBreak = true;
+	/** 
+	 * If set to true, a <br /> element will be inserted before each line
+	 * break in the logged message. Default value is false. @var boolean 
+	 */
+	private $htmlLineBreaks = false;
 
 	public function __construct($name = '') {
 		parent::__construct($name);
@@ -65,10 +68,6 @@ class LoggerAppenderEcho extends LoggerA
 		if($this->closed != true) {
 			if(!$this->firstAppend) {
 				echo $this->layout->getFooter();
-				
-				if($this->htmlLineBreak) {
-					echo '<br />';
-				}
 			}
 		}
 		$this->closed = true;
@@ -80,20 +79,21 @@ class LoggerAppenderEcho extends LoggerA
 				echo $this->layout->getHeader();
 				$this->firstAppend = false;
 			}
-			echo $this->layout->format($event);
+			$text = $this->layout->format($event);
 			
-			if($this->htmlLineBreak) {
-					echo '<br />';
+			if ($this->htmlLineBreaks) {
+				$text = nl2br($text);
 			}
+			echo $text;
 		} 
 	}
 	
-	public function setHtmlLineBreak($value) {
-		$this->htmlLineBreak = LoggerOptionConverter::toBoolean($value, true);
+	public function setHtmlLineBreaks($value) {
+		$this->htmlLineBreaks = LoggerOptionConverter::toBoolean($value, false);
 	}
 
-	public function getHtmlLineBreak() {
-		return $this->htmlLineBreak;
+	public function getHtmlLineBreaks() {
+		return $this->htmlLineBreaks;
 	}
 }
 

Modified: logging/log4php/trunk/src/test/php/LoggerAppenderTest.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/LoggerAppenderTest.php?rev=940724&r1=940723&r2=940724&view=diff
==============================================================================
--- logging/log4php/trunk/src/test/php/LoggerAppenderTest.php (original)
+++ logging/log4php/trunk/src/test/php/LoggerAppenderTest.php Tue May  4 04:47:25 2010
@@ -40,7 +40,7 @@ class LoggerAppenderTest extends PHPUnit
 		$appender->doAppend($event);
 		$v = ob_get_contents();
 		ob_end_clean();
-		$e = "FATAL - testmessage" . PHP_EOL. "<br />";
+		$e = "FATAL - testmessage" . PHP_EOL;
 		self::assertEquals($e, $v);
 		
 		$event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
@@ -48,7 +48,7 @@ class LoggerAppenderTest extends PHPUnit
 		$appender->doAppend($event);
 		$v = ob_get_contents();
 		ob_end_clean();
-		$e = "ERROR - testmessage" . PHP_EOL. "<br />";
+		$e = "ERROR - testmessage" . PHP_EOL;
 		self::assertEquals($e, $v);
 		
 		$event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage");
@@ -56,7 +56,7 @@ class LoggerAppenderTest extends PHPUnit
 		$appender->doAppend($event);
 		$v = ob_get_contents();
 		ob_end_clean();
-		$e = "WARN - testmessage" . PHP_EOL. "<br />";
+		$e = "WARN - testmessage" . PHP_EOL;
 		self::assertEquals($e, $v);
 		
 		$event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelInfo(), "testmessage");

Modified: logging/log4php/trunk/src/test/php/LoggerTest.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/LoggerTest.php?rev=940724&r1=940723&r2=940724&view=diff
==============================================================================
--- logging/log4php/trunk/src/test/php/LoggerTest.php (original)
+++ logging/log4php/trunk/src/test/php/LoggerTest.php Tue May  4 04:47:25 2010
@@ -65,11 +65,11 @@ class LoggerTest extends PHPUnit_Framewo
 		$v = ob_get_contents();
 		ob_end_clean();
 		
-		$e = 'INFO - this is an info'.PHP_EOL. "<br />";
-		$e .= 'WARN - this is a warning'.PHP_EOL. "<br />";
-		$e .= 'ERROR - this is an error'.PHP_EOL. "<br />";
-		$e .= 'DEBUG - this is a debug message'.PHP_EOL. "<br />";
-		$e .= 'FATAL - this is a fatal message'.PHP_EOL. "<br />";
+		$e = 'INFO - this is an info'.PHP_EOL;
+		$e .= 'WARN - this is a warning'.PHP_EOL;
+		$e .= 'ERROR - this is an error'.PHP_EOL;
+		$e .= 'DEBUG - this is a debug message'.PHP_EOL;
+		$e .= 'FATAL - this is a fatal message'.PHP_EOL;
 		
 		self::assertEquals($v, $e);
 	}

Modified: logging/log4php/trunk/src/test/php/appenders/LoggerAppenderEchoTest.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/appenders/LoggerAppenderEchoTest.php?rev=940724&r1=940723&r2=940724&view=diff
==============================================================================
--- logging/log4php/trunk/src/test/php/appenders/LoggerAppenderEchoTest.php (original)
+++ logging/log4php/trunk/src/test/php/appenders/LoggerAppenderEchoTest.php Tue May  4 04:47:25 2010
@@ -22,7 +22,6 @@
  * @version    SVN: $Id$
  * @link       http://logging.apache.org/log4php
  */
-
 class LoggerAppenderEchoTest extends PHPUnit_Framework_TestCase {
 
 	public function testEcho() {
@@ -33,7 +32,7 @@ class LoggerAppenderEchoTest extends PHP
 		$appender->activateOptions();
 		$event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
 		
-		$expected = "ERROR - testmessage" . PHP_EOL . "<br />";
+		$expected = "ERROR - testmessage" . PHP_EOL;
 		ob_start();
 		$appender->append($event);
 		$actual = ob_get_clean();
@@ -41,20 +40,31 @@ class LoggerAppenderEchoTest extends PHP
 		self::assertEquals($expected, $actual);
 	}
 	
-	public function testEchoNoHtml() {
+	public function testEchoHtml() {
 		$appender = new LoggerAppenderEcho("myname ");
+		$appender->setHtmlLineBreaks(true);
 		
-		$appender->setHtmlLineBreak(false);
 		$layout = new LoggerLayoutSimple();
 		$appender->setLayout($layout);
 		$appender->activateOptions();
+		
+		// Single line message
 		$event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
 		
-		$expected = "ERROR - testmessage" . PHP_EOL;
+		$expected = "ERROR - testmessage<br />" . PHP_EOL;
 		ob_start();
 		$appender->append($event);
 		$actual = ob_get_clean();
+		self::assertEquals($expected, $actual);
 		
+		// Multi-line message
+		$msg = "This message\nis in several lines\r\nto test various line breaks.";
+		$expected = "ERROR - This message<br />\nis in several lines<br />\r\nto test various line breaks.<br />" . PHP_EOL;
+		
+		$event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), $msg);
+		ob_start();
+		$appender->append($event);
+		$actual = ob_get_clean();
 		self::assertEquals($expected, $actual);
 	}
 

Modified: logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php?rev=940724&r1=940723&r2=940724&view=diff
==============================================================================
--- logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php (original)
+++ logging/log4php/trunk/src/test/php/configurators/LoggerConfiguratorIniTest.php Tue May  4 04:47:25 2010
@@ -154,16 +154,11 @@ class LoggerConfiguratorIniTest extends 
         $this->assertTrue($l->getAppender('test51')->getLayout() instanceof LoggerLayoutTTCC);
     }
     
-    public function testConfigureNoHtmlBreak() {
+    public function testConfigureHtmlBreaks() {
         Logger :: configure('configurators/test6.properties');
         $root = Logger :: getRootLogger();
-        self :: assertEquals(LoggerLevel :: getLevelWarn(), $root->getLevel());
         $appender = $root->getAppender("default");
         self :: assertTrue($appender instanceof LoggerAppenderEcho);
-        $layout = $appender->getLayout();
-        self :: assertTrue($layout instanceof LoggerLayoutSimple);
-        
-        self :: assertFalse($appender->getHtmlLineBreak());
-        
+        self :: assertTrue($appender->getHtmlLineBreaks());
     }
 }
\ No newline at end of file

Modified: logging/log4php/trunk/src/test/php/configurators/test6.properties
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/configurators/test6.properties?rev=940724&r1=940723&r2=940724&view=diff
==============================================================================
--- logging/log4php/trunk/src/test/php/configurators/test6.properties (original)
+++ logging/log4php/trunk/src/test/php/configurators/test6.properties Tue May  4 04:47:25 2010
@@ -14,11 +14,8 @@
 ; limitations under the License.
 ;
 log4php.appender.default = LoggerAppenderEcho
-log4php.appender.default.htmlLineBreak = "false" 
+log4php.appender.default.htmlLineBreaks = "true" 
 log4php.appender.default.layout = LoggerLayoutSimple
 
-log4php.logger.tracer = TRACE, default
-log4php.additivity.tracer= "false"
-log4php.additivity.mylogger= "false"
-log4php.logger.mylogger = INFO, default
-log4php.rootLogger = WARN, default
+log4php.rootLogger = DEBUG, default
+

Modified: logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php
URL: http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php?rev=940724&r1=940723&r2=940724&view=diff
==============================================================================
--- logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php (original)
+++ logging/log4php/trunk/src/test/php/renderers/LoggerRendererMapTest.php Tue May  4 04:47:25 2010
@@ -79,6 +79,6 @@ class LoggerRendererMapTest extends PHPU
         $v = ob_get_contents();
         ob_end_clean();
 
-        self::assertEquals("ERROR - test1,test2,test3" . PHP_EOL. "<br />", $v);
+        self::assertEquals("ERROR - test1,test2,test3" . PHP_EOL, $v);
 	}
 }