public function testLoggerMDC()
 {
     LoggerMDC::clear();
     $layout = new LoggerLayoutPattern('{mdc}');
     $message = $layout->formatMessage(new Logger("root"), Logger::INFO, '');
     $this->assertEquals('' . PHP_EOL, $message);
     LoggerMDC::put('foo', 'bar');
     $message = $layout->formatMessage(new Logger("root"), Logger::INFO, '');
     $this->assertEquals('foo=bar' . PHP_EOL, $message);
     LoggerMDC::clear();
     $layout = new LoggerLayoutPattern('{mdc:foo}');
     $message = $layout->formatMessage(new Logger("root"), Logger::INFO, '');
     $this->assertEquals('null' . PHP_EOL, $message);
     LoggerMDC::put('foo', 'bar');
     $message = $layout->formatMessage(new Logger("root"), Logger::INFO, '');
     $this->assertEquals('bar' . PHP_EOL, $message);
 }
 public function testErrorLayout()
 {
     $message = "some-error-message";
     $validMDCField = "mdc1";
     $invalidMDCField = "%";
     LoggerMDC::put($validMDCField, 1);
     LoggerMDC::put($invalidMDCField, 1);
     $event = LoggerTestHelper::getErrorEvent($message);
     $layout = new LoggerLayoutGelf();
     $layout->activateOptions();
     $layout->setLocationInfo(true);
     $actual = $layout->format($event);
     $encodedMessage = json_decode($actual, 1);
     // Is message a valid json
     $this->assertNotNull($encodedMessage);
     // Check basic fields
     $this->assertNotEmpty($encodedMessage["version"]);
     $this->assertNotEmpty($encodedMessage["host"]);
     $this->assertNotEmpty($encodedMessage["short_message"]);
     $this->assertNotEmpty($encodedMessage["full_message"]);
     $this->assertNotEmpty($encodedMessage["timestamp"]);
     $this->assertNotEmpty($encodedMessage["level"]);
     // Check additional fields
     $this->assertNotEmpty($encodedMessage["_facility"]);
     $this->assertNotEmpty($encodedMessage["_thread"]);
     // Check additional location fields
     $this->assertNotEmpty($encodedMessage["_file"]);
     $this->assertNotEmpty($encodedMessage["_line"]);
     $this->assertNotEmpty($encodedMessage["_class"]);
     $this->assertNotEmpty($encodedMessage["_method"]);
     $this->assertInternalType("string", $encodedMessage["version"]);
     $this->assertInternalType("string", $encodedMessage["host"]);
     $this->assertInternalType("string", $encodedMessage["short_message"]);
     $this->assertInternalType("string", $encodedMessage["full_message"]);
     $this->assertInternalType("float", $encodedMessage["timestamp"]);
     $this->assertInternalType("integer", $encodedMessage["level"]);
     $this->assertArrayHasKey("_" . $validMDCField, $encodedMessage);
     $this->assertArrayNotHasKey("_" . $invalidMDCField, $encodedMessage);
     LoggerMDC::clear();
 }
예제 #3
0
 protected function tearDown()
 {
     LoggerMDC::clear();
 }
 public function testMDC()
 {
     LoggerMDC::put('foo', 'bar');
     LoggerMDC::put('bla', 'tra');
     // Entire context
     $converter = new LoggerPatternConverterMDC($this->info);
     $actual = $converter->convert($this->event);
     $expected = 'foo=bar, bla=tra';
     self::assertSame($expected, $actual);
     // Just foo
     $converter = new LoggerPatternConverterMDC($this->info, 'foo');
     $actual = $converter->convert($this->event);
     $expected = 'bar';
     self::assertSame($expected, $actual);
     // Non existant key
     $converter = new LoggerPatternConverterMDC($this->info, 'doesnotexist');
     $actual = $converter->convert($this->event);
     $expected = '';
     self::assertSame($expected, $actual);
     LoggerMDC::clear();
 }
예제 #5
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();
 }
 public function setUp()
 {
     LoggerNDC::clear();
     LoggerMDC::clear();
     parent::setUp();
 }