/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/FirePHPHandler.php (5153B)
* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Monolog\Handler; use Monolog\Formatter\WildfireFormatter; use Monolog\Formatter\FormatterInterface; use Monolog\LogRecord; /** * Simple FirePHP Handler (http://www.firephp.org/), which uses the Wildfire protocol. * * @author Eric Clemmons (@ericclemmons) */ class FirePHPHandler extends AbstractProcessingHandler { use WebRequestRecognizerTrait; /** * WildFire JSON header message format */ protected const PROTOCOL_URI = 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2'; /** * FirePHP structure for parsing messages & their presentation */ protected const STRUCTURE_URI = 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1'; /** * Must reference a "known" plugin, otherwise headers won't display in FirePHP */ protected const PLUGIN_URI = 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3'; /** * Header prefix for Wildfire to recognize & parse headers */ protected const HEADER_PREFIX = 'X-Wf'; /** * Whether or not Wildfire vendor-specific headers have been generated & sent yet */ protected static bool $initialized = false; /** * Shared static message index between potentially multiple handlers */ protected static int $messageIndex = 1; protected static bool $sendHeaders = true; /** * Base header creation function used by init headers & record headers * * @param array $meta Wildfire Plugin, Protocol & Structure Indexes * @param string $message Log message * * @return array Complete header string ready for the client as key and message as value * * @phpstan-return non-empty-array */ protected function createHeader(array $meta, string $message): array { $header = sprintf('%s-%s', static::HEADER_PREFIX, join('-', $meta)); return [$header => $message]; } /** * Creates message header from record * * @return array * * @phpstan-return non-empty-array * * @see createHeader() */ protected function createRecordHeader(LogRecord $record): array { // Wildfire is extensible to support multiple protocols & plugins in a single request, // but we're not taking advantage of that (yet), so we're using "1" for simplicity's sake. return $this->createHeader( [1, 1, 1, self::$messageIndex++], $record->formatted ); } /** * @inheritDoc */ protected function getDefaultFormatter(): FormatterInterface { return new WildfireFormatter(); } /** * Wildfire initialization headers to enable message parsing * * @see createHeader() * @see sendHeader() * * @return array */ protected function getInitHeaders(): array { // Initial payload consists of required headers for Wildfire return array_merge( $this->createHeader(['Protocol', 1], static::PROTOCOL_URI), $this->createHeader([1, 'Structure', 1], static::STRUCTURE_URI), $this->createHeader([1, 'Plugin', 1], static::PLUGIN_URI) ); } /** * Send header string to the client */ protected function sendHeader(string $header, string $content): void { if (!headers_sent() && self::$sendHeaders) { header(sprintf('%s: %s', $header, $content)); } } /** * Creates & sends header for a record, ensuring init headers have been sent prior * * @see sendHeader() * @see sendInitHeaders() */ protected function write(LogRecord $record): void { if (!self::$sendHeaders || !$this->isWebRequest()) { return; } // WildFire-specific headers must be sent prior to any messages if (!self::$initialized) { self::$initialized = true; self::$sendHeaders = $this->headersAccepted(); if (!self::$sendHeaders) { return; } foreach ($this->getInitHeaders() as $header => $content) { $this->sendHeader($header, $content); } } $header = $this->createRecordHeader($record); if (trim(current($header)) !== '') { $this->sendHeader(key($header), current($header)); } } /** * Verifies if the headers are accepted by the current user agent */ protected function headersAccepted(): bool { if (isset($_SERVER['HTTP_USER_AGENT']) && 1 === preg_match('{\bFirePHP/\d+\.\d+\b}', $_SERVER['HTTP_USER_AGENT'])) { return true; } return isset($_SERVER['HTTP_X_FIREPHP_VERSION']); } }