summaryrefslogtreecommitdiffstats
path: root/src/Monolog/Handler/Handler.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Monolog/Handler/Handler.php')
-rw-r--r--src/Monolog/Handler/Handler.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/Monolog/Handler/Handler.php b/src/Monolog/Handler/Handler.php
new file mode 100644
index 0000000..347e7b7
--- /dev/null
+++ b/src/Monolog/Handler/Handler.php
@@ -0,0 +1,53 @@
+<?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 Monolog\Handler;
+
+/**
+ * Base Handler class providing basic close() support as well as handleBatch
+ *
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ */
+abstract class Handler implements HandlerInterface
+{
+ /**
+ * {@inheritdoc}
+ */
+ public function handleBatch(array $records)
+ {
+ foreach ($records as $record) {
+ $this->handle($record);
+ }
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function close()
+ {
+ }
+
+ public function __destruct()
+ {
+ try {
+ $this->close();
+ } catch (\Throwable $e) {
+ // do nothing
+ }
+ }
+
+ public function __sleep()
+ {
+ $this->close();
+
+ return array_keys(get_object_vars($this));
+ }
+}