logger: add
[pharext/pharext.org] / app / Logger.php
diff --git a/app/Logger.php b/app/Logger.php
new file mode 100644 (file)
index 0000000..51e4803
--- /dev/null
@@ -0,0 +1,21 @@
+<?php
+
+namespace app;
+
+use app\Config;
+
+class Logger extends \Monolog\Logger
+{
+       function __construct(Config $config, $channel) {
+               parent::__construct($channel);
+               foreach ($config->log->$channel as $logger) {
+                       $reflection = new \ReflectionClass("Monolog\\Handler\\" . $logger->handler);
+                       if (!empty($logger->args)) {
+                               $handler = $reflection->newInstanceArgs($logger->args->toArray());
+                       } else {
+                               $handler = $reflection->newInstance();
+                       }
+                       $this->pushHandler($handler);
+               }
+       }
+}