ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
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
12namespace Monolog\Handler;
13
14use Gelf\Message;
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}
Serializes a log message to GELF.
testConstruct()
@covers Monolog\Handler\GelfHandler::__construct
Handler to send messages to a Graylog2 (http://www.graylog2.org) server.
Definition: GelfHandler.php:28
Monolog log channel.
Definition: Logger.php:28
const WARNING
Exceptional occurrences that are not errors.
Definition: Logger.php:52
const DEBUG
Detailed debug information.
Definition: Logger.php:32
getRecord($level=Logger::WARNING, $message='test', $context=array())
Definition: TestCase.php:19