Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
modules
/
src
/
Monolog
/
Handler
:
GelfHandler.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?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 Google\Site_Kit_Dependencies\Monolog\Handler; use Google\Site_Kit_Dependencies\Gelf\IMessagePublisher; use Google\Site_Kit_Dependencies\Gelf\PublisherInterface; use Google\Site_Kit_Dependencies\Gelf\Publisher; use InvalidArgumentException; use Google\Site_Kit_Dependencies\Monolog\Logger; use Google\Site_Kit_Dependencies\Monolog\Formatter\GelfMessageFormatter; /** * Handler to send messages to a Graylog2 (http://www.graylog2.org) server * * @author Matt Lehner <mlehner@gmail.com> * @author Benjamin Zikarsky <benjamin@zikarsky.de> */ class GelfHandler extends \Google\Site_Kit_Dependencies\Monolog\Handler\AbstractProcessingHandler { /** * @var Publisher|PublisherInterface|IMessagePublisher the publisher object that sends the message to the server */ protected $publisher; /** * @param PublisherInterface|IMessagePublisher|Publisher $publisher a publisher object * @param int $level The minimum logging level at which this handler will be triggered * @param bool $bubble Whether the messages that are handled can bubble up the stack or not */ public function __construct($publisher, $level = \Google\Site_Kit_Dependencies\Monolog\Logger::DEBUG, $bubble = \true) { parent::__construct($level, $bubble); if (!$publisher instanceof \Google\Site_Kit_Dependencies\Gelf\Publisher && !$publisher instanceof \Google\Site_Kit_Dependencies\Gelf\IMessagePublisher && !$publisher instanceof \Google\Site_Kit_Dependencies\Gelf\PublisherInterface) { throw new \InvalidArgumentException('Invalid publisher, expected a Gelf\\Publisher, Gelf\\IMessagePublisher or Gelf\\PublisherInterface instance'); } $this->publisher = $publisher; } /** * {@inheritdoc} */ protected function write(array $record) { $this->publisher->publish($record['formatted']); } /** * {@inheritDoc} */ protected function getDefaultFormatter() { return new \Google\Site_Kit_Dependencies\Monolog\Formatter\GelfMessageFormatter(); } }