/** * Get application Log (lazy-loaded) * @return Slim_Log */ public function getLog() { if (!isset($this->log)) { $this->log = new Slim_Log(); $this->log->setEnabled($this->config('log.enable')); $logger = $this->config('log.logger'); if ($logger) { $this->log->setLogger($logger); } else { $this->log->setLogger(new Slim_Logger($this->config('log.path'), $this->config('log.level'))); } } return $this->log; }
/** * Initialize Slim * * This instantiates the Slim application using the provided * application settings if available. This also: * * - Sets a default Not Found handler * - Sets a default Error handler * - Sets the view class * * Legacy Support: * * To support applications built with an older version of Slim, * this method's argument may also be a string (the name of a View class) * or an instance of a View class or subclass. * * @param array|string|Slim_View $viewClass An array of settings; * The name of a View class; * A View class or subclass instance; * @return void */ public static function init( $userSettings = array() ) { //Legacy support if ( is_string($userSettings) || $userSettings instanceof Slim_View ) { $settings = array('view' => $userSettings); } else { $settings = (array)$userSettings; } self::$app = new Slim($settings); self::notFound(array('Slim', 'defaultNotFound')); self::error(array('Slim', 'defaultError')); self::view(Slim::config('view')); if ( Slim::config('log.enable') === true ) { $logger = Slim::config('log.logger'); if ( empty($logger) ) { Slim_Log::setLogger(new Slim_Logger(Slim::config('log.path'), Slim::config('log.level'))); } else { Slim_Log::setLogger($logger); } } }
/** * Initialize Slim * * This instantiates the Slim application using the provided * application settings if available. * * Legacy Support: * * To support applications built with an older version of Slim, * this method's argument may also be a string (the name of a View class) * or an instance of a View class or subclass. * * @param array|string|Slim_View $viewClass An array of settings; * The name of a View class; * A View class or subclass instance; * @return void */ public static function init($userSettings = array()) { //Legacy support if (is_string($userSettings) || $userSettings instanceof Slim_View) { $settings = array('view' => $userSettings); } else { $settings = (array) $userSettings; } //Init app self::$app = new Slim($settings); //Init Not Found and Error handlers self::notFound(array('Slim', 'defaultNotFound')); self::error(array('Slim', 'defaultError')); //Init view self::view(Slim::config('view')); //Init logging if (Slim::config('log.enable') === true) { $logger = Slim::config('log.logger'); if (empty($logger)) { Slim_Log::setLogger(new Slim_Logger(Slim::config('log.path'), Slim::config('log.level'))); } else { Slim_Log::setLogger($logger); } } //Start session if not already started if (session_id() === '') { $sessionHandler = Slim::config('session.handler'); if ($sessionHandler instanceof Slim_Session_Handler) { $sessionHandler->register(); } session_start(); if (isset($_COOKIE[session_id()])) { Slim::deleteCookie(session_id()); } session_regenerate_id(true); } //Init flash messaging self::$app->flash = new Slim_Session_Flash(self::config('session.flash_key')); self::view()->setData('flash', self::$app->flash); //Determine mode if (isset($_ENV['SLIM_MODE'])) { self::$app->mode = (string) $_ENV['SLIM_MODE']; } else { $configMode = Slim::config('mode'); self::$app->mode = $configMode ? (string) $configMode : 'development'; } }
/** * Test Log adapter methods * * Pre-conditions * Log instantiated with MyLogger instance * * Post-conditions: * A) All Log adapter methods return expected results * B) All Log adapter methods return false */ public function testLoggerMethods() { $log = new Slim_Log(); $logger = new MyLogger(); $log->setLogger($logger); //Case A: Logging enabled $this->assertEquals('debug', $log->debug('Test')); $this->assertEquals('info', $log->info('Test')); $this->assertEquals('warn', $log->warn('Test')); $this->assertEquals('error', $log->error('Test')); $this->assertEquals('fatal', $log->fatal('Test')); //Case B: Logging disabled $log->setEnabled(false); $this->assertFalse($log->debug('Test')); $this->assertFalse($log->info('Test')); $this->assertFalse($log->warn('Test')); $this->assertFalse($log->error('Test')); $this->assertFalse($log->fatal('Test')); }
/** * Test Log adapter methods if no logger set * * Pre-conditions * Logger not set * * Post-conditions: * All calls to adapter return false */ public function testLoggerMethodsIfNoLogger() { Slim_Log::setLogger(null); $this->assertFalse(Slim_Log::debug('Test')); $this->assertFalse(Slim_Log::info('Test')); $this->assertFalse(Slim_Log::warn('Test')); $this->assertFalse(Slim_Log::error('Test')); $this->assertFalse(Slim_Log::fatal('Test')); }