public function testDecide()
 {
     $filter = new LoggerFilterDenyAll();
     $events = array(LoggerTestHelper::getTraceEvent(), LoggerTestHelper::getDebugEvent(), LoggerTestHelper::getInfoEvent(), LoggerTestHelper::getWarnEvent(), LoggerTestHelper::getErrorEvent(), LoggerTestHelper::getFatalEvent());
     foreach ($events as $event) {
         $actual = $filter->decide($event);
         self::assertEquals(LoggerFilter::DENY, $actual);
     }
 }
 protected function setUp()
 {
     if (!extension_loaded('mongo')) {
         $this->markTestSkipped('The Mongo extension is not available.');
     } else {
         $this->appender = new LoggerAppenderMongoDB('mongo_appender');
         $this->event = LoggerTestHelper::getErrorEvent('mongo logging event', 'test_mongo');
     }
 }
 public function testActivationDoesNotCreateTheFile()
 {
     $path = PHPUNIT_TEMP_DIR . "/doesnotexisthopefully.log";
     @unlink($path);
     $appender = new LoggerAppenderFile();
     $appender->setFile($path);
     $appender->activateOptions();
     self::assertFalse(file_exists($path));
     $event = LoggerTestHelper::getInfoEvent('bla');
     $appender->append($event);
     self::assertTrue(file_exists($path));
 }
Exemplo n.º 4
0
 public function testMDC()
 {
     LoggerMDC::put('foo', 'bar');
     LoggerMDC::put('bla', 'tra');
     $event = LoggerTestHelper::getErrorEvent("testmessage");
     $layout = new LoggerLayoutXml();
     $layout->activateOptions();
     $actual = $layout->format($event);
     $thread = $event->getThreadName();
     $timestamp = number_format($event->getTimeStamp() * 1000, 0, '', '');
     $expected = "<log4php:event logger=\"test\" level=\"ERROR\" thread=\"{$thread}\" timestamp=\"{$timestamp}\">" . PHP_EOL . "<log4php:message><![CDATA[testmessage]]></log4php:message>" . PHP_EOL . "<log4php:properties>" . PHP_EOL . "<log4php:data name=\"foo\" value=\"bar\" />" . PHP_EOL . "<log4php:data name=\"bla\" value=\"tra\" />" . PHP_EOL . "</log4php:properties>" . PHP_EOL . "<log4php:locationInfo class=\"LoggerLoggingEvent\" file=\"NA\" line=\"NA\" " . "method=\"getLocationInformation\" />" . PHP_EOL . "</log4php:event>" . PHP_EOL;
     self::assertEquals($expected, $actual);
     LoggerMDC::clear();
 }
Exemplo n.º 5
0
 public function testComplexLayout()
 {
     $config = LoggerTestHelper::getEchoPatternConfig($this->pattern);
     Logger::configure($config);
     ob_start();
     $log = Logger::getLogger('LoggerTest');
     $log->error("my message");
     $line = __LINE__;
     $actual = ob_get_contents();
     ob_end_clean();
     $file = __FILE__;
     $class = __CLASS__;
     $method = __FUNCTION__;
     $expected = "ERROR  LoggerTest: my message from {$class}::{$method}() in {$file} at {$line}" . PHP_EOL;
     self::assertSame($expected, $actual);
     Logger::resetConfiguration();
 }
 public function testSimpleLogging()
 {
     $appender = $this->createRolloverAppender();
     $event = LoggerTestHelper::getWarnEvent("my message123");
     for ($i = 0; $i < 1000; $i++) {
         $appender->append($event);
     }
     $appender->append(LoggerTestHelper::getWarnEvent("my messageXYZ"));
     $appender->close();
     $file = PHPUNIT_TEMP_DIR . '/TEST-rolling.txt';
     $data = file($file);
     $line = $data[count($data) - 1];
     $e = "WARN - my messageXYZ" . PHP_EOL;
     self::assertEquals($e, $line);
     $file = PHPUNIT_TEMP_DIR . '/TEST-rolling.txt.1';
     $this->checkFileContent($file);
     $file = PHPUNIT_TEMP_DIR . '/TEST-rolling.txt.2';
     $this->checkFileContent($file);
     // Should not roll over three times
     $this->assertFalse(file_exists(PHPUNIT_TEMP_DIR . '/TEST-rolling.txt.3'));
 }
Exemplo n.º 7
0
 public function testPatterns()
 {
     // Create some data to test with
     LoggerMDC::put('key1', 'valueofkey1');
     LoggerMDC::put('key2', 'valueofkey2');
     LoggerMDC::put(3, 'valueofkey3');
     $expected = array('key1' => 'valueofkey1', 'key2' => 'valueofkey2', 3 => 'valueofkey3');
     $actual = LoggerMDC::getMap();
     self::assertSame($expected, $actual);
     $event = LoggerTestHelper::getInfoEvent("Test message");
     // Pattern with 1 key
     $actual = $this->formatEvent($event, $this->pattern1);
     $expected = "INFO  test: valueofkey1 Test message";
     self::assertEquals($expected, $actual);
     // Pattern with 2 keys
     $actual = $this->formatEvent($event, $this->pattern2);
     $expected = "INFO  test: valueofkey1 valueofkey2 Test message";
     self::assertEquals($expected, $actual);
     // Pattern with 3 keys (one numeric)
     $actual = $this->formatEvent($event, $this->pattern3);
     $expected = "INFO  test: valueofkey1 valueofkey2 valueofkey3 Test message";
     self::assertEquals($expected, $actual);
     // Pattern with non-existant key
     $actual = $this->formatEvent($event, $this->pattern4);
     $expected = "INFO  test:  Test message";
     self::assertEquals($expected, $actual);
     // Pattern with an empty key
     $actual = $this->formatEvent($event, $this->pattern5);
     $expected = "INFO  test: key1=valueofkey1, key2=valueofkey2, 3=valueofkey3 Test message";
     self::assertEquals($expected, $actual);
     // Test key removal
     LoggerMDC::remove('key1');
     $value = LoggerMDC::get('key1');
     self::assertEquals('', $value);
     // Pattern with 1 key, now removed
     $actual = $this->formatEvent($event, $this->pattern1);
     $expected = "INFO  test:  Test message";
     self::assertEquals($expected, $actual);
 }
 public function testFormattingPadRight()
 {
     $event = LoggerTestHelper::getInfoEvent('0');
     $info = new LoggerFormattingInfo();
     $info->min = 5;
     $info->padLeft = false;
     $converter = new LoggerPatternConverterMessage($info);
     $actual = "";
     $converter->format($actual, $event);
     $expected = "0    ";
     self::assertSame($expected, $actual);
 }
 public function testDenyConfig()
 {
     $config = LoggerTestHelper::getEchoConfig();
     // Add filter which denies INFO events
     $config['appenders']['default']['filters'] = array(array('class' => 'LoggerFilterLevelMatch', 'params' => array('levelToMatch' => 'info', 'acceptOnMatch' => false)));
     Logger::configure($config);
     $logger = Logger::getRootLogger();
     ob_start();
     $logger->trace('Test');
     $logger->debug('Test');
     $logger->info('Test');
     $logger->warn('Test');
     $logger->error('Test');
     $logger->fatal('Test');
     $actual = ob_get_clean();
     // Should log all except info
     $expected = "TRACE - Test" . PHP_EOL . "DEBUG - Test" . PHP_EOL . "WARN - Test" . PHP_EOL . "ERROR - Test" . PHP_EOL . "FATAL - Test" . PHP_EOL;
     $this->assertSame($expected, $actual);
 }
 public function testChangedDateFormat()
 {
     $event = LoggerTestHelper::getWarnEvent("my message");
     $appender = new LoggerAppenderDailyFile();
     $appender->setDatePattern('Y');
     $appender->setFile(PHPUNIT_TEMP_DIR . '/TEST-daily.txt.%s');
     $appender->activateOptions();
     $appender->append($event);
     $appender->close();
     $actual = file_get_contents(PHPUNIT_TEMP_DIR . '/TEST-daily.txt.' . date("Y"));
     $expected = "WARN - my message" . PHP_EOL;
     self::assertEquals($expected, $actual);
 }
 public function testAppend()
 {
     /** @var $appender LoggerAppenderGraylog2 */
     $appender = $this->getMock('LoggerAppenderGraylog2', array('createConnection', 'closeConnection'));
     $fp = fopen("php://temp", "w+");
     $appender->expects($this->once())->method('createConnection')->will($this->returnValue($fp));
     $appender->expects($this->once())->method('closeConnection')->will($this->returnValue(true));
     $shortMessage = "Some logging event";
     $event = LoggerTestHelper::getDebugEvent($shortMessage);
     $appender->doAppend($event);
     rewind($fp);
     $message = stream_get_contents($fp);
     $this->assertNotEmpty($message);
 }
 public function testNonUnicodeCharsReplacement()
 {
     $invalidUtf8String = str_repeat(chr(193), 10);
     $event = LoggerTestHelper::getErrorEvent($invalidUtf8String);
     $layout = new LoggerLayoutGelf();
     $layout->activateOptions();
     $this->assertEquals(str_repeat("?", mb_strlen($invalidUtf8String)), $layout->getShortMessage($event));
 }