/var/www/cobraambalaj/vendor/monolog/monolog/src/Monolog/Handler
NameSizeModeActions
Curl/-0755rm
FingersCrossed/-0755rm
Slack/-0755rm
SyslogUdp/-0755rm
AbstractHandler.php22870644editdlrm
AbstractProcessingHandler.php14330644editdlrm
AbstractSyslogHandler.php35840644editdlrm
AmqpHandler.php40380644editdlrm
BrowserConsoleHandler.php76220644editdlrm
BufferHandler.php46740644editdlrm
ChromePHPHandler.php52520644editdlrm
CouchDBHandler.php20320644editdlrm
CubeHandler.php48490644editdlrm
DeduplicationHandler.php56950644editdlrm
DoctrineCouchDBHandler.php10980644editdlrm
DynamoDbHandler.php24600644editdlrm
ElasticaHandler.php34230644editdlrm
ElasticsearchHandler.php54700644editdlrm
ErrorLogHandler.php25120644editdlrm
FallbackGroupHandler.php13850644editdlrm
FilterHandler.php59370644editdlrm
FingersCrossedHandler.php77160644editdlrm
FirePHPHandler.php48970644editdlrm
FleepHookHandler.php33190644editdlrm
FlowdockHandler.php32540644editdlrm
FormattableHandlerInterface.php8450644editdlrm
FormattableHandlerTrait.php12810644editdlrm
GelfHandler.php16220644editdlrm
GroupHandler.php30770644editdlrm
Handler.php10290644editdlrm
HandlerInterface.php27780644editdlrm
HandlerWrapper.php33580644editdlrm
IFTTTHandler.php21950644editdlrm
InsightOpsHandler.php18950644editdlrm
LogEntriesHandler.php17140644editdlrm
LogglyHandler.php42400644editdlrm
LogmaticHandler.php25020644editdlrm
MailHandler.php20660644editdlrm
MandrillHandler.php27000644editdlrm
MissingExtensionException.php4730644editdlrm
MongoDBHandler.php26720644editdlrm
NativeMailerHandler.php51650644editdlrm
NewRelicHandler.php63660644editdlrm
NoopHandler.php8800644editdlrm
NullHandler.php11420644editdlrm
OverflowHandler.php49350644editdlrm
PHPConsoleHandler.php102100644editdlrm
ProcessableHandlerInterface.php10780644editdlrm
ProcessableHandlerTrait.php14940644editdlrm
ProcessHandler.php54230644editdlrm
PsrHandler.php26510644editdlrm
PushoverHandler.php70250644editdlrm
RedisHandler.php30050644editdlrm
RedisPubSubHandler.php19520644editdlrm
RollbarHandler.php35500644editdlrm
RotatingFileHandler.php61850644editdlrm
SamplingHandler.php39880644editdlrm
SendGridHandler.php29000644editdlrm
SlackHandler.php66640644editdlrm
SlackWebhookHandler.php40290644editdlrm
SocketHandler.php99420644editdlrm
SqsHandler.php17830644editdlrm
StreamHandler.php54350644editdlrm
SwiftMailerHandler.php33620644editdlrm
SyslogHandler.php20030644editdlrm
SyslogUdpHandler.php38520644editdlrm
TelegramBotHandler.php53050644editdlrm
TestHandler.php57660644editdlrm
WebRequestRecognizerTrait.php5240644editdlrm
WhatFailureGroupHandler.php15330644editdlrm
ZendMonitorHandler.php31850644editdlrm
Edit: /var/www/cobraambalaj/vendor/monolog/monolog/src/Monolog/Handler/SamplingHandler.php (3988B)
* * 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\FormatterInterface; /** * Sampling handler * * A sampled event stream can be useful for logging high frequency events in * a production environment where you only need an idea of what is happening * and are not concerned with capturing every occurrence. Since the decision to * handle or not handle a particular event is determined randomly, the * resulting sampled log is not guaranteed to contain 1/N of the events that * occurred in the application, but based on the Law of large numbers, it will * tend to be close to this ratio with a large number of attempts. * * @author Bryan Davis * @author Kunal Mehta */ class SamplingHandler extends AbstractHandler implements ProcessableHandlerInterface, FormattableHandlerInterface { use ProcessableHandlerTrait; /** * @var callable|HandlerInterface $handler */ protected $handler; /** * @var int $factor */ protected $factor; /** * @psalm-param HandlerInterface|callable(array, HandlerInterface): HandlerInterface $handler * * @param callable|HandlerInterface $handler Handler or factory callable($record|null, $samplingHandler). * @param int $factor Sample factor (e.g. 10 means every ~10th record is sampled) */ public function __construct($handler, int $factor) { parent::__construct(); $this->handler = $handler; $this->factor = $factor; if (!$this->handler instanceof HandlerInterface && !is_callable($this->handler)) { throw new \RuntimeException("The given handler (".json_encode($this->handler).") is not a callable nor a Monolog\Handler\HandlerInterface object"); } } public function isHandling(array $record): bool { return $this->getHandler($record)->isHandling($record); } public function handle(array $record): bool { if ($this->isHandling($record) && mt_rand(1, $this->factor) === 1) { if ($this->processors) { $record = $this->processRecord($record); } $this->getHandler($record)->handle($record); } return false === $this->bubble; } /** * Return the nested handler * * If the handler was provided as a factory callable, this will trigger the handler's instantiation. * * @return HandlerInterface */ public function getHandler(array $record = null) { if (!$this->handler instanceof HandlerInterface) { $this->handler = ($this->handler)($record, $this); if (!$this->handler instanceof HandlerInterface) { throw new \RuntimeException("The factory callable should return a HandlerInterface"); } } return $this->handler; } /** * {@inheritdoc} */ public function setFormatter(FormatterInterface $formatter): HandlerInterface { $handler = $this->getHandler(); if ($handler instanceof FormattableHandlerInterface) { $handler->setFormatter($formatter); return $this; } throw new \UnexpectedValueException('The nested handler of type '.get_class($handler).' does not support formatters.'); } /** * {@inheritdoc} */ public function getFormatter(): FormatterInterface { $handler = $this->getHandler(); if ($handler instanceof FormattableHandlerInterface) { return $handler->getFormatter(); } throw new \UnexpectedValueException('The nested handler of type '.get_class($handler).' does not support formatters.'); } }