PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.8.2
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.8.2
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / vendor / prefixed / symfony / error-handler / BufferingLogger.php
matomo / app / vendor / prefixed / symfony / error-handler Last commit date
Error 1 year ago ErrorEnhancer 1 year ago ErrorRenderer 1 year ago Exception 1 year ago Internal 2 years ago Resources 1 year ago BufferingLogger.php 1 year ago Debug.php 1 year ago DebugClassLoader.php 1 year ago ErrorHandler.php 1 year ago LICENSE 2 years ago README.md 2 years ago ThrowableUtils.php 2 years ago
BufferingLogger.php
63 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11 namespace Matomo\Dependencies\Symfony\Component\ErrorHandler;
12
13 use Matomo\Dependencies\Psr\Log\AbstractLogger;
14 /**
15 * A buffering logger that stacks logs for later.
16 *
17 * @author Nicolas Grekas <p@tchwork.com>
18 */
19 class BufferingLogger extends AbstractLogger
20 {
21 private $logs = [];
22 public function log($level, $message, array $context = []) : void
23 {
24 $this->logs[] = [$level, $message, $context];
25 }
26 public function cleanLogs() : array
27 {
28 $logs = $this->logs;
29 $this->logs = [];
30 return $logs;
31 }
32 /**
33 * @return array
34 */
35 public function __sleep()
36 {
37 throw new \BadMethodCallException('Cannot serialize ' . __CLASS__);
38 }
39 public function __wakeup()
40 {
41 throw new \BadMethodCallException('Cannot unserialize ' . __CLASS__);
42 }
43 public function __destruct()
44 {
45 foreach ($this->logs as [$level, $message, $context]) {
46 if (\false !== strpos($message, '{')) {
47 foreach ($context as $key => $val) {
48 if (null === $val || \is_scalar($val) || \is_object($val) && \is_callable([$val, '__toString'])) {
49 $message = str_replace("{{$key}}", $val, $message);
50 } elseif ($val instanceof \DateTimeInterface) {
51 $message = str_replace("{{$key}}", $val->format(\DateTime::RFC3339), $message);
52 } elseif (\is_object($val)) {
53 $message = str_replace("{{$key}}", '[object ' . \get_class($val) . ']', $message);
54 } else {
55 $message = str_replace("{{$key}}", '[' . \gettype($val) . ']', $message);
56 }
57 }
58 }
59 error_log(sprintf('%s [%s] %s', date(\DateTime::RFC3339), $level, $message));
60 }
61 }
62 }
63