-
Notifications
You must be signed in to change notification settings - Fork 177
/
Copy pathSymfonyHandler.php
77 lines (61 loc) · 1.88 KB
/
SymfonyHandler.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
declare(strict_types=1);
namespace Sentry\SentryBundle\Monolog;
use Monolog\Formatter\FormatterInterface;
use Monolog\Handler\FormattableHandlerInterface;
use Monolog\Handler\HandlerInterface;
use Monolog\Handler\ProcessableHandlerInterface;
use Monolog\ResettableInterface;
use Sentry\Monolog\Handler;
use Symfony\Component\ErrorHandler\Error\FatalError;
class SymfonyHandler implements HandlerInterface, ProcessableHandlerInterface, FormattableHandlerInterface, ResettableInterface
{
/**
* @var Handler
*/
private $decoratedHandler;
public function __construct(Handler $decoratedHandler)
{
$this->decoratedHandler = $decoratedHandler;
}
public function setFormatter(FormatterInterface $formatter): HandlerInterface
{
return $this->decoratedHandler->setFormatter($formatter);
}
public function getFormatter(): FormatterInterface
{
return $this->decoratedHandler->getFormatter();
}
public function isHandling(array $record): bool
{
return $this->decoratedHandler->isHandling($record);
}
public function handleBatch(array $records): void
{
$this->decoratedHandler->handleBatch($records);
}
public function close(): void
{
$this->decoratedHandler->close();
}
public function pushProcessor(callable $callback): HandlerInterface
{
return $this->decoratedHandler->pushProcessor($callback);
}
public function popProcessor(): callable
{
return $this->decoratedHandler->popProcessor();
}
public function reset(): void
{
$this->decoratedHandler->reset();
}
public function handle(array $record): bool
{
$exception = $record['exception'] ?? null;
if ($exception instanceof FatalError) {
return false;
}
return $this->decoratedHandler->handle($record);
}
}