config = $configArray; } /** * Returns an instance of Monolog with all configured handlers * added. The Monolog instance will be given $name. * @param $name * @return Logger */ public function getFor($name) { $handlers = $this->getHandlers(self::KEY_AlwaysLoaded); $handlers = array_merge($handlers, $this->getHandlers($name)); return new Logger($name, $handlers); } protected function getHandlers($key) { $handlers = array(); // They key is expected to either be an array or // a callable function that returns an array if (isset($this->config[$key])) { if (is_callable($this->config[$key])) { $handlers = call_user_func($this->config[$key]); } elseif(is_array($this->config[$key])) { $handlers = $this->config[$key]; } } return $handlers; } }