Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
post-date
/
wp-content
/
plugins
/
flexible-shipping
/
vendor_prefixed
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
:
SyslogHandler.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare (strict_types=1); /* * 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 FSVendor\Monolog\Handler; use FSVendor\Monolog\Logger; use FSVendor\Monolog\Utils; /** * Logs to syslog service. * * usage example: * * $log = new Logger('application'); * $syslog = new SyslogHandler('myfacility', 'local6'); * $formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%"); * $syslog->setFormatter($formatter); * $log->pushHandler($syslog); * * @author Sven Paulus <sven@karlsruhe.org> */ class SyslogHandler extends \FSVendor\Monolog\Handler\AbstractSyslogHandler { /** @var string */ protected $ident; /** @var int */ protected $logopts; /** * @param string $ident * @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant * @param int $logopts Option flags for the openlog() call, defaults to LOG_PID */ public function __construct(string $ident, $facility = \LOG_USER, $level = \FSVendor\Monolog\Logger::DEBUG, bool $bubble = \true, int $logopts = \LOG_PID) { parent::__construct($facility, $level, $bubble); $this->ident = $ident; $this->logopts = $logopts; } /** * {@inheritDoc} */ public function close() : void { \closelog(); } /** * {@inheritDoc} */ protected function write(array $record) : void { if (!\openlog($this->ident, $this->logopts, $this->facility)) { throw new \LogicException('Can\'t open syslog for ident "' . $this->ident . '" and facility "' . $this->facility . '"' . \FSVendor\Monolog\Utils::getRecordMessageForException($record)); } \syslog($this->logLevels[$record['level']], (string) $record['formatted']); } }