/var/www/vhosts/ihelp.ro/httpdocs/vendor/monolog/monolog/src/Monolog/Handler
NameSizeModeActions
Curl/-0755rm
FingersCrossed/-0755rm
Slack/-0755rm
SyslogUdp/-0755rm
AbstractHandler.php26370644editdlrm
AbstractProcessingHandler.php14990644editdlrm
AbstractSyslogHandler.php32210644editdlrm
AmqpHandler.php48130644editdlrm
BrowserConsoleHandler.php92370644editdlrm
BufferHandler.php45460644editdlrm
ChromePHPHandler.php51370644editdlrm
CouchDBHandler.php26100644editdlrm
CubeHandler.php54380644editdlrm
DeduplicationHandler.php59420644editdlrm
DoctrineCouchDBHandler.php11500644editdlrm
DynamoDbHandler.php19340644editdlrm
ElasticaHandler.php36700644editdlrm
ElasticsearchHandler.php69530644editdlrm
ErrorLogHandler.php26760644editdlrm
FallbackGroupHandler.php16720644editdlrm
FilterHandler.php71180644editdlrm
FingersCrossedHandler.php82010644editdlrm
FirePHPHandler.php51530644editdlrm
FleepHookHandler.php35230644editdlrm
FlowdockHandler.php34800644editdlrm
FormattableHandlerInterface.php7570644editdlrm
FormattableHandlerTrait.php12680644editdlrm
GelfHandler.php14540644editdlrm
GroupHandler.php32220644editdlrm
Handler.php12430644editdlrm
HandlerInterface.php27860644editdlrm
HandlerWrapper.php33550644editdlrm
IFTTTHandler.php22680644editdlrm
InsightOpsHandler.php20870644editdlrm
LogEntriesHandler.php19060644editdlrm
LogglyHandler.php40870644editdlrm
LogmaticHandler.php26330644editdlrm
MailHandler.php22450644editdlrm
MandrillHandler.php25340644editdlrm
MissingExtensionException.php4730644editdlrm
MongoDBHandler.php23640644editdlrm
NativeMailerHandler.php48970644editdlrm
NewRelicHandler.php58310644editdlrm
NoopHandler.php9080644editdlrm
NullHandler.php13310644editdlrm
OverflowHandler.php43090644editdlrm
PHPConsoleHandler.php122090644editdlrm
ProcessableHandlerInterface.php11850644editdlrm
ProcessableHandlerTrait.php16180644editdlrm
ProcessHandler.php51790644editdlrm
PsrHandler.php23550644editdlrm
PushoverHandler.php80570644editdlrm
RedisHandler.php27410644editdlrm
RedisPubSubHandler.php16830644editdlrm
RollbarHandler.php36010644editdlrm
RotatingFileHandler.php69330644editdlrm
SamplingHandler.php39100644editdlrm
SendGridHandler.php29360644editdlrm
SlackHandler.php69300644editdlrm
SlackWebhookHandler.php39880644editdlrm
SocketHandler.php119950644editdlrm
SqsHandler.php17480644editdlrm
StreamHandler.php65640644editdlrm
SymfonyMailerHandler.php35490644editdlrm
SyslogHandler.php17060644editdlrm
SyslogUdpHandler.php47060644editdlrm
TelegramBotHandler.php89820644editdlrm
TestHandler.php64620644editdlrm
WebRequestRecognizerTrait.php5040644editdlrm
WhatFailureGroupHandler.php18630644editdlrm
ZendMonitorHandler.php28500644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/vendor/monolog/monolog/src/Monolog/Handler/SyslogUdpHandler.php (4706B)
* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Monolog\Handler; use DateTimeInterface; use Monolog\Handler\SyslogUdp\UdpSocket; use Monolog\Level; use Monolog\LogRecord; use Monolog\Utils; /** * A Handler for logging to a remote syslogd server. * * @author Jesper Skovgaard Nielsen * @author Dominik Kukacka */ class SyslogUdpHandler extends AbstractSyslogHandler { const RFC3164 = 0; const RFC5424 = 1; const RFC5424e = 2; /** @var array */ private array $dateFormats = [ self::RFC3164 => 'M d H:i:s', self::RFC5424 => \DateTime::RFC3339, self::RFC5424e => \DateTime::RFC3339_EXTENDED, ]; protected UdpSocket $socket; protected string $ident; /** @var self::RFC* */ protected int $rfc; /** * @param string $host Either IP/hostname or a path to a unix socket (port must be 0 then) * @param int $port Port number, or 0 if $host is a unix socket * @param string|int $facility Either one of the names of the keys in $this->facilities, or a LOG_* facility constant * @param bool $bubble Whether the messages that are handled can bubble up the stack or not * @param string $ident Program name or tag for each log message. * @param int $rfc RFC to format the message for. * @throws MissingExtensionException when there is no socket extension * * @phpstan-param self::RFC* $rfc */ public function __construct(string $host, int $port = 514, string|int $facility = LOG_USER, int|string|Level $level = Level::Debug, bool $bubble = true, string $ident = 'php', int $rfc = self::RFC5424) { if (!extension_loaded('sockets')) { throw new MissingExtensionException('The sockets extension is required to use the SyslogUdpHandler'); } parent::__construct($facility, $level, $bubble); $this->ident = $ident; $this->rfc = $rfc; $this->socket = new UdpSocket($host, $port); } protected function write(LogRecord $record): void { $lines = $this->splitMessageIntoLines($record->formatted); $header = $this->makeCommonSyslogHeader($this->toSyslogPriority($record->level), $record->datetime); foreach ($lines as $line) { $this->socket->write($line, $header); } } public function close(): void { $this->socket->close(); } /** * @param string|string[] $message * @return string[] */ private function splitMessageIntoLines($message): array { if (is_array($message)) { $message = implode("\n", $message); } $lines = preg_split('/$\R?^/m', (string) $message, -1, PREG_SPLIT_NO_EMPTY); if (false === $lines) { $pcreErrorCode = preg_last_error(); throw new \RuntimeException('Could not preg_split: ' . $pcreErrorCode . ' / ' . Utils::pcreLastErrorMessage($pcreErrorCode)); } return $lines; } /** * Make common syslog header (see rfc5424 or rfc3164) */ protected function makeCommonSyslogHeader(int $severity, DateTimeInterface $datetime): string { $priority = $severity + $this->facility; $pid = getmypid(); if (false === $pid) { $pid = '-'; } $hostname = gethostname(); if (false === $hostname) { $hostname = '-'; } if ($this->rfc === self::RFC3164) { // see https://github.com/phpstan/phpstan/issues/5348 // @phpstan-ignore-next-line $dateNew = $datetime->setTimezone(new \DateTimeZone('UTC')); $date = $dateNew->format($this->dateFormats[$this->rfc]); return "<$priority>" . $date . " " . $hostname . " " . $this->ident . "[" . $pid . "]: "; } $date = $datetime->format($this->dateFormats[$this->rfc]); return "<$priority>1 " . $date . " " . $hostname . " " . $this->ident . " " . $pid . " - - "; } /** * Inject your own socket, mainly used for testing */ public function setSocket(UdpSocket $socket): self { $this->socket = $socket; return $this; } }