Вход Регистрация
Файл: gapps/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/ConfigureLogging.php
Строк: 163
<?php

namespace IlluminateFoundationBootstrap;

use 
IlluminateLogWriter;
use 
MonologLogger as Monolog;
use 
IlluminateContractsFoundationApplication;

class 
ConfigureLogging
{
    
/**
     * Bootstrap the given application.
     *
     * @param  IlluminateContractsFoundationApplication  $app
     * @return void
     */
    
public function bootstrap(Application $app)
    {
        
$log $this->registerLogger($app);

        
// If a custom Monolog configurator has been registered for the application
        // we will call that, passing Monolog along. Otherwise, we will grab the
        // the configurations for the log system and use it for configuration.
        
if ($app->hasMonologConfigurator()) {
            
call_user_func(
                
$app->getMonologConfigurator(), $log->getMonolog()
            );
        } else {
            
$this->configureHandlers($app$log);
        }
    }

    
/**
     * Register the logger instance in the container.
     *
     * @param  IlluminateContractsFoundationApplication  $app
     * @return IlluminateLogWriter
     */
    
protected function registerLogger(Application $app)
    {
        
$app->instance('log'$log = new Writer(
            new 
Monolog($app->environment()), $app['events'])
        );

        return 
$log;
    }

    
/**
     * Configure the Monolog handlers for the application.
     *
     * @param  IlluminateContractsFoundationApplication  $app
     * @param  IlluminateLogWriter  $log
     * @return void
     */
    
protected function configureHandlers(Application $appWriter $log)
    {
        
$method 'configure'.ucfirst($app['config']['app.log']).'Handler';

        
$this->{$method}($app$log);
    }

    
/**
     * Configure the Monolog handlers for the application.
     *
     * @param  IlluminateContractsFoundationApplication  $app
     * @param  IlluminateLogWriter  $log
     * @return void
     */
    
protected function configureSingleHandler(Application $appWriter $log)
    {
        
$log->useFiles(
            
$app->storagePath().'/logs/laravel.log',
            
$app->make('config')->get('app.log_level''debug')
        );
    }

    
/**
     * Configure the Monolog handlers for the application.
     *
     * @param  IlluminateContractsFoundationApplication  $app
     * @param  IlluminateLogWriter  $log
     * @return void
     */
    
protected function configureDailyHandler(Application $appWriter $log)
    {
        
$config $app->make('config');

        
$maxFiles $config->get('app.log_max_files');

        
$log->useDailyFiles(
            
$app->storagePath().'/logs/laravel.log'is_null($maxFiles) ? $maxFiles,
            
$config->get('app.log_level''debug')
        );
    }

    
/**
     * Configure the Monolog handlers for the application.
     *
     * @param  IlluminateContractsFoundationApplication  $app
     * @param  IlluminateLogWriter  $log
     * @return void
     */
    
protected function configureSyslogHandler(Application $appWriter $log)
    {
        
$log->useSyslog(
            
'laravel',
            
$app->make('config')->get('app.log_level''debug')
        );
    }

    
/**
     * Configure the Monolog handlers for the application.
     *
     * @param  IlluminateContractsFoundationApplication  $app
     * @param  IlluminateLogWriter  $log
     * @return void
     */
    
protected function configureErrorlogHandler(Application $appWriter $log)
    {
        
$log->useErrorLog($app->make('config')->get('app.log_level''debug'));
    }
}
Онлайн: 0
Реклама