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);
        }
 }


Reply via email to