Exemple #1
1
 public function __construct()
 {
     parent::__construct('Mesamatrix CLI', \Mesamatrix::$config->getValue('info', 'version'));
     $dispatcher = new EventDispatcher();
     // Install CLI logger
     $dispatcher->addListener(ConsoleEvents::COMMAND, function (ConsoleCommandEvent $e) {
         $logger = new \Monolog\Logger('cli.' . $e->getCommand()->getName(), \Mesamatrix::$logger->getHandlers());
         $logger->pushHandler(new \Symfony\Bridge\Monolog\Handler\ConsoleHandler($e->getOutput()));
         \Mesamatrix::$logger = $logger;
     });
     $this->setDispatcher($dispatcher);
 }
Exemple #2
0
 public static function init()
 {
     date_default_timezone_set('UTC');
     $dir = str_replace("\\", '/', __DIR__);
     self::$serverRoot = implode('/', array_slice(explode('/', $dir), 0, -1));
     self::$autoloader = (require self::path('vendor/autoload.php'));
     self::$logger = new Logger('logger');
     self::$logger->pushHandler(new ErrorLogHandler(ErrorLogHandler::OPERATING_SYSTEM, Logger::NOTICE));
     ErrorHandler::register(self::$logger);
     self::$configDir = self::path('config');
     self::$config = new \Mesamatrix\Config(self::$configDir);
     // attempt to create the private dir
     $privateDir = self::path(self::$config->getValue('info', 'private_dir'));
     if (!is_dir($privateDir)) {
         mkdir($privateDir);
     }
     // register the log file
     $logLevel = self::$config->getValue('info', 'log_level', Logger::WARNING);
     $logPath = $privateDir . '/mesamatrix.log';
     if (!file_exists($logPath) && is_dir($privateDir)) {
         touch($logPath);
     }
     if (is_writable($logPath)) {
         self::$logger->popHandler();
         self::$logger->pushHandler(new StreamHandler($logPath, $logLevel));
     } else {
         self::$logger->error('Error log ' . $logPath . ' is not writable!');
     }
     if ($logLevel < Logger::INFO) {
         ini_set('error_reporting', E_ALL);
         ini_set('display_errors', 1);
     }
     // initialise request
     self::$request = HTTPRequest::createFromGlobals();
     self::$logger->debug('Base initialisation complete');
 }