Файл: 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 $app, Writer $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 $app, Writer $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 $app, Writer $log)
{
$config = $app->make('config');
$maxFiles = $config->get('app.log_max_files');
$log->useDailyFiles(
$app->storagePath().'/logs/laravel.log', is_null($maxFiles) ? 5 : $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 $app, Writer $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 $app, Writer $log)
{
$log->useErrorLog($app->make('config')->get('app.log_level', 'debug'));
}
}