src/Arvici/Heart/Log/Logger.php
public static function start($skipConfiguration = false)
    {
        if (self::$instance !== null) {
            throw new LogException("Logger already started!");
        }

        // Load the logger.
        self::$instance = new Writer();

        // Apply configuration.
        if (! $skipConfiguration && Configuration::get('app.log', true)) {
            // Get configuration
            $logPath = Configuration::get('app.logPath');
            if ($logPath === null) {// @codeCoverageIgnore
                throw new ConfigurationException("app.logPath is not valid!");  // @codeCoverageIgnore
            }                       // @codeCoverageIgnore

            if (! file_exists($logPath)) {  // @codeCoverageIgnore
                if (! mkdir($logPath)) {    // @codeCoverageIgnore
                    throw new PermissionDeniedException("Could not create directory '" . $logPath . "'!");  // @codeCoverageIgnore
                }                           // @codeCoverageIgnore
            }                               // @codeCoverageIgnore

            // Get all level and log files.
            self::$files = Configuration::get('app.logFile', ['app.log' => self::ERROR]);

            self::$path = $logPath;

            // Load all handlers.
            foreach (self::$files as $file => $minimumLevel) {
                self::$instance->addHandler(new StreamHandler($logPath . $file, $minimumLevel));
            }
        }

        // Register exception/error handler
        ExceptionHandler::register();
    }
public static function start($skipConfiguration = false)
    {
        if (self::$instance !== null) {
            throw new LogException("Logger already started!");
        }

        // Load the logger.
        self::$instance = new Writer();

        // Apply configuration.
        if (! $skipConfiguration && Configuration::get('app.log', true)) {
            // Get configuration
            $logPath = Configuration::get('app.logPath');
            if ($logPath === null) {// @codeCoverageIgnore
                throw new ConfigurationException("app.logPath is not valid!");  // @codeCoverageIgnore
            }                       // @codeCoverageIgnore

            if (! file_exists($logPath)) {  // @codeCoverageIgnore
                if (! mkdir($logPath)) {    // @codeCoverageIgnore
                    throw new PermissionDeniedException("Could not create directory '" . $logPath . "'!");  // @codeCoverageIgnore
                }                           // @codeCoverageIgnore
            }                               // @codeCoverageIgnore

            // Get all level and log files.
            self::$files = Configuration::get('app.logFile', ['app.log' => self::ERROR]);

            self::$path = $logPath;

            // Load all handlers.
            foreach (self::$files as $file => $minimumLevel) {
                self::$instance->addHandler(new StreamHandler($logPath . $file, $minimumLevel));
            }
        }

        // Register exception/error handler
        ExceptionHandler::register();
    }
public static function start ( $ skipConfiguration = false ) { if ( self :: $ instance !== null ) { throw new LogException ( "Logger already started!" ) ; } // Load the logger. self :: $ instance = new Writer ( ) ; // Apply configuration. if ( ! $ skipConfiguration && Configuration :: get ( 'app.log' , true ) ) { // Get configuration $ logPath = Configuration :: get ( 'app.logPath' ) ; if ( $ logPath === null ) { // @codeCoverageIgnore throw new ConfigurationException ( "app.logPath is not valid!" ) ; // @codeCoverageIgnore } // @codeCoverageIgnore if ( ! file_exists ( $ logPath ) ) { // @codeCoverageIgnore if ( ! mkdir ( $ logPath ) ) { // @codeCoverageIgnore throw new PermissionDeniedException ( "Could not create directory '" . $ logPath . "'!" ) ; // @codeCoverageIgnore } // @codeCoverageIgnore } // @codeCoverageIgnore // Get all level and log files. self :: $ files = Configuration :: get ( 'app.logFile' , [ 'app.log' => self :: ERROR ] ) ; self :: $ path = $ logPath ; // Load all handlers. foreach ( self :: $ files as $ file => $ minimumLevel ) { self :: $ instance -> addHandler ( new StreamHandler ( $ logPath . $ file , $ minimumLevel ) ) ; } } // Register exception/error handler ExceptionHandler :: register ( ) ; }
Start function, will be called from the bootstrap file.

@param bool $skipConfiguration

@throws ConfigurationException
@throws LogException
@throws PermissionDeniedException
Start function will be called from the bootstrap file .