if (null == $timer_instance) { $timer_instance = new \Whathood\Timer(); } return $timer_instance; }, 'Zend\\Config\\Reader\\Yaml' => function ($sm) { return new \Zend\Config\Reader\Yaml(array('Spyc', 'YAMLLoadString')); }, 'Whathood\\Config\\Yaml' => function ($sm) { $reader = $sm->get('Zend\\Config\\Reader\\Yaml'); $app_root = getenv("APPLICATION_ROOT"); if (empty($app_root) or $app_root == "") { $app_root = "."; } return $reader->fromFile($app_root . '/../whathood.yml'); }, 'Whathood\\Config' => function ($sm) { $yaml_config = $sm->get('Whathood\\Config\\Yaml'); $config = \Whathood\Config::build($yaml_config); return $config; }, 'Whathood\\Logger' => function ($sm) { $config = $sm->get('Whathood\\Config'); $file_writer = new \Zend\Log\Writer\Stream($config->log_file); $filter = new \Zend\Log\Filter\Priority(Logger::INFO); $file_writer->addFilter($filter); $logger = new \Whathood\Logger(); $logger->addWriter($file_writer); // DO NOT THINK THIS IS WORKING register the logger to handle php errors #\Zend\Log\Logger::registerErrorHandler($logger); #\Zend\Log\Logger::registerExceptionHandler($logger); return $logger; }, 'Whathood\\ConsoleLogger' => function ($sm) { $logger = $sm->get('Whathood\\Logger'); $console_writer = new \Zend\Log\Writer\Stream('php://output');