Exemple #1
0
 public function testLoggingMethods()
 {
     Logger::emergency("Test logger!");
     Logger::alert("Test logger!");
     Logger::critical("Test logger!");
     Logger::error("Test logger!");
     Logger::warning("Test logger!");
     Logger::notice("Test logger!");
     Logger::info("Test logger!");
     Logger::debug("Test logger!");
     $this->assertStringEqualsFile(vfsStream::url("logs/file.log"), $this->log);
 }
Exemple #2
0
 /**
  *
  * @return ajumamoro\Store
  */
 public static function getInstance()
 {
     $delay = 30;
     while (self::$instance === null) {
         try {
             self::$instance = self::factory();
             self::$instance->init();
         } catch (exceptions\BrokerConnectionException $e) {
             Logger::alert("{$e->getMessage()}. Retrying in {$delay} seconds.");
             sleep($delay);
             $delay *= 2;
         }
     }
     Logger::info("Succesfully connected to broker");
     return self::$instance;
 }
Exemple #3
0
 public function run($options)
 {
     if (isset($options['config'])) {
         Config::readPath($options['config'], 'ajumamoro');
     }
     if ($options['daemon'] === true) {
         ClearIce::output("Starting ajumamoro daemon ... ");
         Logger::init(Config::get('ajumamoro:log_file', './ajumamoro.log'), 'ajumamoro');
         if ($this->checkExistingInstance() === false) {
             $pid = $this->startDaemon($options);
             ClearIce::output($pid > 0 ? "OK [PID:{$pid}]\n" : "Failed\n");
         } else {
             ClearIce::output("Failed\nAn instance already exists.\n");
         }
     } else {
         Logger::init('php://output', 'ajumamoro');
         Runner::mainLoop();
     }
 }
Exemple #4
0
 public static function init($namespace)
 {
     self::$namespace = $namespace;
     self::$prefix = Config::get('app.prefix');
     self::$prefix = (self::$prefix == '' ? '' : '/') . self::$prefix;
     self::setupAutoloader();
     logger\Logger::init('logs/app.log');
     Config::readPath(self::$configPath, 'ntentan');
     kaikai\Cache::init();
     panie\InjectionContainer::bind(ModelClassResolverInterface::class)->to(ClassNameResolver::class);
     panie\InjectionContainer::bind(ModelJoinerInterface::class)->to(ClassNameResolver::class);
     panie\InjectionContainer::bind(TableNameResolverInterface::class)->to(nibii\Resolver::class);
     panie\InjectionContainer::bind(ComponentResolverInterface::class)->to(ClassNameResolver::class);
     panie\InjectionContainer::bind(ControllerClassResolverInterface::class)->to(ClassNameResolver::class);
     panie\InjectionContainer::bind(controllers\RouterInterface::class)->to(DefaultRouter::class);
     if (Config::get('ntentan:db.driver')) {
         panie\InjectionContainer::bind(DriverAdapter::class)->to(Resolver::getDriverAdapterClassName());
         panie\InjectionContainer::bind(atiaa\Driver::class)->to(atiaa\Db::getDefaultDriverClassName());
     }
     Controller::setComponentResolverParameters(['type' => 'component', 'namespaces' => [$namespace, 'controllers\\components']]);
     nibii\RecordWrapper::setComponentResolverParameters(['type' => 'behaviour', 'namespaces' => [$namespace, 'nibii\\behaviours']]);
     controllers\ModelBinderRegister::setDefaultBinderClass(controllers\model_binders\DefaultModelBinder::class);
     controllers\ModelBinderRegister::register(utils\filesystem\UploadedFile::class, controllers\model_binders\UploadedFileBinder::class);
 }
Exemple #5
0
 public function log($message, $level = self::LOG_INFO)
 {
     \ntentan\logger\Logger::log($level, $message);
 }
Exemple #6
0
 public static function getNextJob()
 {
     $broker = Broker::getInstance();
     $jobInfo = $broker->get();
     if (file_exists($jobInfo['path'])) {
         require_once $jobInfo['path'];
     }
     if (!class_exists($jobInfo['class'])) {
         Logger::error("Class {$jobInfo['class']} for scheduled job not found");
         return false;
     }
     $job = unserialize($jobInfo['object']);
     if (is_object($job) && is_a($job, '\\ajumamoro\\Job')) {
         $job->setId($jobInfo['id']);
         return $job;
     } else {
         Logger::error("Scheduled job is not of type \\ajumamoro\\Job.");
         return false;
     }
 }