. */ namespace SP\Providers\Log; use DI\Container; use DI\DependencyException; use DI\NotFoundException; use Monolog\Handler\SyslogUdpHandler; use Monolog\Logger; use SP\Core\Events\Event; use SP\Core\Exceptions\InvalidClassException; use SplSubject; /** * Class RemoteSyslogHandler * * @package SP\Providers\Log */ final class RemoteSyslogHandler extends LoggerBase { /** * Devuelve los eventos que implementa el observador * * @return array */ public function getEvents(): array { return LogInterface::EVENTS; } /** * Devuelve los eventos que implementa el observador en formato cadena * * @return string */ public function getEventsString(): string { return $this->events; } /** * Receive update from subject * * @link http://php.net/manual/en/splobserver.update.php * * @param SplSubject $subject
* The SplSubject notifying the observer of an update. *
* * @return void * @throws InvalidClassException * @since 5.1.0 */ public function update(SplSubject $subject) { $this->updateEvent('update', new Event($subject)); } /** * @param Container $dic * * @throws DependencyException * @throws NotFoundException */ protected function initialize(Container $dic) { parent::initialize($dic); $configData = $this->config->getConfigData(); $this->logger->pushHandler( new SyslogUdpHandler( $configData->getSyslogServer(), $configData->getSyslogPort(), LOG_USER, Logger::DEBUG, true, 'syspass' ) ); } }