array( 'appenders' => array('default'), ), 'appenders' => array( 'default' => array( 'class' => 'LoggerAppenderEcho', 'layout' => array( 'class' => 'LoggerLayoutSimple' ), ) ) ); private $config2 = array( 'rootLogger' => array( 'appenders' => array('default'), ), 'appenders' => array( 'default' => array( 'class' => 'LoggerAppenderEcho', 'layout' => array( 'class' => 'LoggerLayoutSimple' ), 'params' => array( 'htmlLineBreaks' => true ) ) ) ); private $config3 = array( 'rootLogger' => array( 'appenders' => array('default'), ), 'appenders' => array( 'default' => array( 'class' => 'LoggerAppenderEcho', 'layout' => array( 'class' => 'LoggerLayoutSimple' ), 'params' => array( 'htmlLineBreaks' => 'foo' ) ) ) ); public function testAppend() { Logger::configure($this->config1); $log = Logger::getRootLogger(); $hlb = $log->getAppender('default')->getHtmlLineBreaks(); $this->assertSame(false, $hlb); ob_start(); $log->info("This is a test"); $log->debug("And this too"); $actual = ob_get_clean(); $expected = "INFO - This is a test" . PHP_EOL . "DEBUG - And this too". PHP_EOL; $this->assertSame($expected, $actual); } public function testHtmlLineBreaks() { Logger::configure($this->config2); $log = Logger::getRootLogger(); $hlb = $log->getAppender('default')->getHtmlLineBreaks(); $this->assertSame(true, $hlb); ob_start(); $log->info("This is a test" . PHP_EOL . "With more than one line"); $log->debug("And this too"); $actual = ob_get_clean(); $expected = "INFO - This is a test
" . PHP_EOL . "With more than one line
" . PHP_EOL . "DEBUG - And this too
" . PHP_EOL; $this->assertSame($expected, $actual); } // public function testHtmlLineBreaksInvalidOption() { // Logger::configure($this->config3); // } public function testEcho() { $appender = new LoggerAppenderEcho("myname "); $layout = new LoggerLayoutSimple(); $appender->setLayout($layout); $appender->activateOptions(); $event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage"); $expected = "ERROR - testmessage" . PHP_EOL; ob_start(); $appender->append($event); $actual = ob_get_clean(); self::assertEquals($expected, $actual); } public function testRequiresLayout() { $appender = new LoggerAppenderEcho(); self::assertTrue($appender->requiresLayout()); } public function testEchoHtml() { $appender = new LoggerAppenderEcho("myname "); $appender->setHtmlLineBreaks(true); $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; 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
\nis in several lines
\r\nto test various line breaks.
" . 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); } }