| <?php |
| /** |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * @category tests |
| * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0 |
| * @link http://logging.apache.org/log4php |
| */ |
| |
| namespace Apache\Log4php\Tests; |
| |
| use Apache\Log4php\Appenders\EchoAppender; |
| use Apache\Log4php\Appenders\NullAppender; |
| use Apache\Log4php\Filters\DenyAllFilter; |
| use Apache\Log4php\Filters\LevelMatchFilter; |
| use Apache\Log4php\Layouts\SimpleLayout; |
| use Apache\Log4php\Level; |
| use Apache\Log4php\Logger; |
| use Apache\Log4php\LoggingEvent; |
| |
| /** |
| * @group appenders |
| */ |
| class AppenderTest extends \PHPUnit_Framework_TestCase |
| { |
| public function testThreshold() |
| { |
| $appender = new EchoAppender("LoggerAppenderTest"); |
| |
| $layout = new SimpleLayout(); |
| $appender->setLayout($layout); |
| |
| $warn = Level::getLevelWarn(); |
| $appender->setThreshold($warn); |
| $appender->activateOptions(); |
| |
| $event = new LoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), Level::getLevelFatal(), "testmessage"); |
| ob_start(); |
| $appender->doAppend($event); |
| $v = ob_get_contents(); |
| ob_end_clean(); |
| $e = "FATAL - testmessage" . PHP_EOL; |
| self::assertEquals($e, $v); |
| |
| $event = new LoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), Level::getLevelError(), "testmessage"); |
| ob_start(); |
| $appender->doAppend($event); |
| $v = ob_get_contents(); |
| ob_end_clean(); |
| $e = "ERROR - testmessage" . PHP_EOL; |
| self::assertEquals($e, $v); |
| |
| $event = new LoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), Level::getLevelWarn(), "testmessage"); |
| ob_start(); |
| $appender->doAppend($event); |
| $v = ob_get_contents(); |
| ob_end_clean(); |
| $e = "WARN - testmessage" . PHP_EOL; |
| self::assertEquals($e, $v); |
| |
| $event = new LoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), Level::getLevelInfo(), "testmessage"); |
| ob_start(); |
| $appender->doAppend($event); |
| $v = ob_get_contents(); |
| ob_end_clean(); |
| $e = ""; |
| self::assertEquals($e, $v); |
| |
| $event = new LoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), Level::getLevelDebug(), "testmessage"); |
| ob_start(); |
| $appender->doAppend($event); |
| $v = ob_get_contents(); |
| ob_end_clean(); |
| $e = ""; |
| self::assertEquals($e, $v); |
| } |
| |
| public function testGetThreshold() |
| { |
| $appender = new EchoAppender("LoggerAppenderTest"); |
| |
| $layout = new SimpleLayout(); |
| $appender->setLayout($layout); |
| |
| $warn = Level::getLevelWarn(); |
| $appender->setThreshold($warn); |
| |
| $a = $appender->getThreshold(); |
| self::assertEquals($warn, $a); |
| } |
| |
| public function testSetStringThreshold() |
| { |
| $appender = new EchoAppender("LoggerAppenderTest"); |
| |
| $layout = new SimpleLayout(); |
| $appender->setLayout($layout); |
| |
| $warn = Level::getLevelWarn(); |
| $appender->setThreshold('WARN'); |
| $a = $appender->getThreshold(); |
| self::assertEquals($warn, $a); |
| |
| $e = Level::getLevelFatal(); |
| $appender->setThreshold('FATAL'); |
| $a = $appender->getThreshold(); |
| self::assertEquals($e, $a); |
| |
| $e = Level::getLevelError(); |
| $appender->setThreshold('ERROR'); |
| $a = $appender->getThreshold(); |
| self::assertEquals($e, $a); |
| |
| $e = Level::getLevelDebug(); |
| $appender->setThreshold('DEBUG'); |
| $a = $appender->getThreshold(); |
| self::assertEquals($e, $a); |
| |
| $e = Level::getLevelInfo(); |
| $appender->setThreshold('INFO'); |
| $a = $appender->getThreshold(); |
| self::assertEquals($e, $a); |
| } |
| |
| public function testSetFilter() |
| { |
| $appender = new EchoAppender("LoggerAppenderTest"); |
| |
| $layout = new SimpleLayout(); |
| $appender->setLayout($layout); |
| |
| $filter = new DenyAllFilter(); |
| $appender->addFilter($filter); |
| |
| $filter2 = new LevelMatchFilter(); |
| $appender->addFilter($filter2); |
| |
| $first = $appender->getFilter(); |
| self::assertEquals($first, $filter); |
| |
| $next = $first->getNext(); |
| self::assertEquals($next, $filter2); |
| |
| $appender->clearFilters(); |
| $nullfilter = $appender->getFilter(); |
| self::assertNull($nullfilter); |
| } |
| |
| public function testInstanciateWithLayout() |
| { |
| $appender = new EchoAppender("LoggerAppenderTest"); |
| |
| $expected = "Apache\\Log4php\\Layouts\\SimpleLayout"; |
| $actual = $appender->getLayout(); |
| $this->assertInstanceof($expected, $actual); |
| } |
| |
| public function testOverwriteLayout() |
| { |
| $layout = new SimpleLayout(); |
| $appender = new EchoAppender("LoggerAppenderTest"); |
| $appender->setLayout($layout); |
| |
| $actual = $appender->getLayout(); |
| $this->assertEquals($layout, $actual); |
| } |
| |
| public function testRequiresNoLayout() |
| { |
| $appender = new NullAppender("LoggerAppenderTest"); |
| |
| $actual = $appender->getLayout(); |
| $this->assertNull($actual); |
| } |
| } |