ILIAS  release_5-2 Revision v5.2.25-18-g3f80b82851
GelfHandlerLegacyTest.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the Monolog package.
5  *
6  * (c) Jordi Boggiano <j.boggiano@seld.be>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11 
12 namespace Monolog\Handler;
13 
14 use Gelf\Message;
16 use Monolog\Logger;
18 
20 {
21  public function setUp()
22  {
23  if (!class_exists('Gelf\MessagePublisher') || !class_exists('Gelf\Message')) {
24  $this->markTestSkipped("mlehner/gelf-php not installed");
25  }
26 
27  require_once __DIR__ . '/GelfMockMessagePublisher.php';
28  }
29 
33  public function testConstruct()
34  {
35  $handler = new GelfHandler($this->getMessagePublisher());
36  $this->assertInstanceOf('Monolog\Handler\GelfHandler', $handler);
37  }
38 
39  protected function getHandler($messagePublisher)
40  {
41  $handler = new GelfHandler($messagePublisher);
42 
43  return $handler;
44  }
45 
46  protected function getMessagePublisher()
47  {
48  return new GelfMockMessagePublisher('localhost');
49  }
50 
51  public function testDebug()
52  {
53  $messagePublisher = $this->getMessagePublisher();
54  $handler = $this->getHandler($messagePublisher);
55 
56  $record = $this->getRecord(Logger::DEBUG, "A test debug message");
57  $handler->handle($record);
58 
59  $this->assertEquals(7, $messagePublisher->lastMessage->getLevel());
60  $this->assertEquals('test', $messagePublisher->lastMessage->getFacility());
61  $this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage());
62  $this->assertEquals(null, $messagePublisher->lastMessage->getFullMessage());
63  }
64 
65  public function testWarning()
66  {
67  $messagePublisher = $this->getMessagePublisher();
68  $handler = $this->getHandler($messagePublisher);
69 
70  $record = $this->getRecord(Logger::WARNING, "A test warning message");
71  $handler->handle($record);
72 
73  $this->assertEquals(4, $messagePublisher->lastMessage->getLevel());
74  $this->assertEquals('test', $messagePublisher->lastMessage->getFacility());
75  $this->assertEquals($record['message'], $messagePublisher->lastMessage->getShortMessage());
76  $this->assertEquals(null, $messagePublisher->lastMessage->getFullMessage());
77  }
78 
80  {
81  $messagePublisher = $this->getMessagePublisher();
82  $handler = $this->getHandler($messagePublisher);
83 
84  $handler->setFormatter(new GelfMessageFormatter('mysystem', 'EXT', 'CTX'));
85 
86  $record = $this->getRecord(Logger::WARNING, "A test warning message");
87  $record['extra']['blarg'] = 'yep';
88  $record['context']['from'] = 'logger';
89  $handler->handle($record);
90 
91  $this->assertEquals('mysystem', $messagePublisher->lastMessage->getHost());
92  $this->assertArrayHasKey('_EXTblarg', $messagePublisher->lastMessage->toArray());
93  $this->assertArrayHasKey('_CTXfrom', $messagePublisher->lastMessage->toArray());
94  }
95 }
const DEBUG
Detailed debug information.
Definition: Logger.php:32
Serializes a log message to GELF.
getRecord($level=Logger::WARNING, $message='test', $context=array())
Definition: TestCase.php:19
Handler to send messages to a Graylog2 (http://www.graylog2.org) server.
Definition: GelfHandler.php:27
const WARNING
Exceptional occurrences that are not errors.
Definition: Logger.php:52