add logging; fix caching
[pharext/pharext.org] / app / Github / Logger.php
diff --git a/app/Github/Logger.php b/app/Github/Logger.php
new file mode 100644 (file)
index 0000000..d90e824
--- /dev/null
@@ -0,0 +1,22 @@
+<?php
+
+namespace app\Github;
+
+use app\Config;
+
+class Logger extends \Monolog\Logger
+{
+       function __construct(Config $config) {
+               $channel = $config->github->log;
+               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);
+               }
+       }
+}