golden hour
/home/doctorbruno/.trash/google-site-kit/third-party/monolog/monolog/src/Monolog/Handler
⬆️ Go Up
Upload
File/Folder
Size
Actions
AbstractHandler.php
2.89 KB
Del
OK
AbstractProcessingHandler.php
2.03 KB
Del
OK
AbstractSyslogHandler.php
3.95 KB
Del
OK
AmqpHandler.php
5.24 KB
Del
OK
BrowserConsoleHandler.php
9.77 KB
Del
OK
BufferHandler.php
5.13 KB
Del
OK
ChromePHPHandler.php
5.56 KB
Del
OK
CouchDBHandler.php
2.19 KB
Del
OK
CubeHandler.php
5.6 KB
Del
OK
Curl
-
Del
OK
DeduplicationHandler.php
6.23 KB
Del
OK
DoctrineCouchDBHandler.php
1.47 KB
Del
OK
DynamoDbHandler.php
2.88 KB
Del
OK
ElasticaHandler.php
3.75 KB
Del
OK
ElasticsearchHandler.php
7.17 KB
Del
OK
ErrorLogHandler.php
2.85 KB
Del
OK
FallbackGroupHandler.php
1.79 KB
Del
OK
FilterHandler.php
7.68 KB
Del
OK
FingersCrossed
-
Del
OK
FingersCrossedHandler.php
9.3 KB
Del
OK
FirePHPHandler.php
5.32 KB
Del
OK
FleepHookHandler.php
3.65 KB
Del
OK
FlowdockHandler.php
3.86 KB
Del
OK
FormattableHandlerInterface.php
1.02 KB
Del
OK
FormattableHandlerTrait.php
1.57 KB
Del
OK
GelfHandler.php
1.72 KB
Del
OK
GroupHandler.php
3.58 KB
Del
OK
Handler.php
1.29 KB
Del
OK
HandlerInterface.php
2.99 KB
Del
OK
HandlerWrapper.php
4.15 KB
Del
OK
IFTTTHandler.php
2.37 KB
Del
OK
InsightOpsHandler.php
2.03 KB
Del
OK
LogEntriesHandler.php
1.88 KB
Del
OK
LogglyHandler.php
4.38 KB
Del
OK
LogmaticHandler.php
2.79 KB
Del
OK
MailHandler.php
2.51 KB
Del
OK
MandrillHandler.php
2.71 KB
Del
OK
MissingExtensionException.php
502 B
Del
OK
MongoDBHandler.php
2.91 KB
Del
OK
NativeMailerHandler.php
5.07 KB
Del
OK
NewRelicHandler.php
6.42 KB
Del
OK
NoopHandler.php
958 B
Del
OK
NullHandler.php
1.51 KB
Del
OK
OverflowHandler.php
5.11 KB
Del
OK
PHPConsoleHandler.php
11.14 KB
Del
OK
ProcessHandler.php
5.17 KB
Del
OK
ProcessableHandlerInterface.php
1.27 KB
Del
OK
ProcessableHandlerTrait.php
1.86 KB
Del
OK
PsrHandler.php
2.8 KB
Del
OK
PushoverHandler.php
7.92 KB
Del
OK
RedisHandler.php
3.21 KB
Del
OK
RedisPubSubHandler.php
2.09 KB
Del
OK
RollbarHandler.php
3.68 KB
Del
OK
RotatingFileHandler.php
6.46 KB
Del
OK
SamplingHandler.php
4.8 KB
Del
OK
SendGridHandler.php
3.04 KB
Del
OK
Slack
-
Del
OK
SlackHandler.php
7.08 KB
Del
OK
SlackWebhookHandler.php
4.19 KB
Del
OK
SocketHandler.php
12.09 KB
Del
OK
SqsHandler.php
1.97 KB
Del
OK
StreamHandler.php
8.57 KB
Del
OK
SwiftMailerHandler.php
4.14 KB
Del
OK
SymfonyMailerHandler.php
4.04 KB
Del
OK
SyslogHandler.php
2.08 KB
Del
OK
SyslogUdp
-
Del
OK
SyslogUdpHandler.php
4.66 KB
Del
OK
TelegramBotHandler.php
8.25 KB
Del
OK
TestHandler.php
6.8 KB
Del
OK
WebRequestRecognizerTrait.php
554 B
Del
OK
WhatFailureGroupHandler.php
1.98 KB
Del
OK
ZendMonitorHandler.php
3.78 KB
Del
OK
Edit: NewRelicHandler.php
<?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 Google\Site_Kit_Dependencies\Monolog\Handler; use Google\Site_Kit_Dependencies\Monolog\Logger; use Google\Site_Kit_Dependencies\Monolog\Utils; use Google\Site_Kit_Dependencies\Monolog\Formatter\NormalizerFormatter; use Google\Site_Kit_Dependencies\Monolog\Formatter\FormatterInterface; /** * Class to record a log on a NewRelic application. * Enabling New Relic High Security mode may prevent capture of useful information. * * This handler requires a NormalizerFormatter to function and expects an array in $record['formatted'] * * @see https://docs.newrelic.com/docs/agents/php-agent * @see https://docs.newrelic.com/docs/accounts-partnerships/accounts/security/high-security */ class NewRelicHandler extends \Google\Site_Kit_Dependencies\Monolog\Handler\AbstractProcessingHandler { /** * Name of the New Relic application that will receive logs from this handler. * * @var ?string */ protected $appName; /** * Name of the current transaction * * @var ?string */ protected $transactionName; /** * Some context and extra data is passed into the handler as arrays of values. Do we send them as is * (useful if we are using the API), or explode them for display on the NewRelic RPM website? * * @var bool */ protected $explodeArrays; /** * {@inheritDoc} * * @param string|null $appName * @param bool $explodeArrays * @param string|null $transactionName */ public function __construct($level = \Google\Site_Kit_Dependencies\Monolog\Logger::ERROR, bool $bubble = \true, ?string $appName = null, bool $explodeArrays = \false, ?string $transactionName = null) { parent::__construct($level, $bubble); $this->appName = $appName; $this->explodeArrays = $explodeArrays; $this->transactionName = $transactionName; } /** * {@inheritDoc} */ protected function write(array $record) : void { if (!$this->isNewRelicEnabled()) { throw new \Google\Site_Kit_Dependencies\Monolog\Handler\MissingExtensionException('The newrelic PHP extension is required to use the NewRelicHandler'); } if ($appName = $this->getAppName($record['context'])) { $this->setNewRelicAppName($appName); } if ($transactionName = $this->getTransactionName($record['context'])) { $this->setNewRelicTransactionName($transactionName); unset($record['formatted']['context']['transaction_name']); } if (isset($record['context']['exception']) && $record['context']['exception'] instanceof \Throwable) { \newrelic_notice_error($record['message'], $record['context']['exception']); unset($record['formatted']['context']['exception']); } else { \newrelic_notice_error($record['message']); } if (isset($record['formatted']['context']) && \is_array($record['formatted']['context'])) { foreach ($record['formatted']['context'] as $key => $parameter) { if (\is_array($parameter) && $this->explodeArrays) { foreach ($parameter as $paramKey => $paramValue) { $this->setNewRelicParameter('context_' . $key . '_' . $paramKey, $paramValue); } } else { $this->setNewRelicParameter('context_' . $key, $parameter); } } } if (isset($record['formatted']['extra']) && \is_array($record['formatted']['extra'])) { foreach ($record['formatted']['extra'] as $key => $parameter) { if (\is_array($parameter) && $this->explodeArrays) { foreach ($parameter as $paramKey => $paramValue) { $this->setNewRelicParameter('extra_' . $key . '_' . $paramKey, $paramValue); } } else { $this->setNewRelicParameter('extra_' . $key, $parameter); } } } } /** * Checks whether the NewRelic extension is enabled in the system. * * @return bool */ protected function isNewRelicEnabled() : bool { return \extension_loaded('newrelic'); } /** * Returns the appname where this log should be sent. Each log can override the default appname, set in this * handler's constructor, by providing the appname in it's context. * * @param mixed[] $context */ protected function getAppName(array $context) : ?string { if (isset($context['appname'])) { return $context['appname']; } return $this->appName; } /** * Returns the name of the current transaction. Each log can override the default transaction name, set in this * handler's constructor, by providing the transaction_name in it's context * * @param mixed[] $context */ protected function getTransactionName(array $context) : ?string { if (isset($context['transaction_name'])) { return $context['transaction_name']; } return $this->transactionName; } /** * Sets the NewRelic application that should receive this log. */ protected function setNewRelicAppName(string $appName) : void { \newrelic_set_appname($appName); } /** * Overwrites the name of the current transaction */ protected function setNewRelicTransactionName(string $transactionName) : void { \newrelic_name_transaction($transactionName); } /** * @param string $key * @param mixed $value */ protected function setNewRelicParameter(string $key, $value) : void { if (null === $value || \is_scalar($value)) { \newrelic_add_custom_parameter($key, $value); } else { \newrelic_add_custom_parameter($key, \Google\Site_Kit_Dependencies\Monolog\Utils::jsonEncode($value, null, \true)); } } /** * {@inheritDoc} */ protected function getDefaultFormatter() : \Google\Site_Kit_Dependencies\Monolog\Formatter\FormatterInterface { return new \Google\Site_Kit_Dependencies\Monolog\Formatter\NormalizerFormatter(); } }
Save