Skip to content

Commit 919f21b

Browse files
committed
Add log service provider, defers loading of logger.
1 parent abc5bb6 commit 919f21b

File tree

5 files changed

+25
-38
lines changed

5 files changed

+25
-38
lines changed

src/Illuminate/Foundation/Application.php

+3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Illuminate\Http\Request;
1010
use Illuminate\Container\Container;
1111
use Illuminate\Filesystem\Filesystem;
12+
use Illuminate\Log\LogServiceProvider;
1213
use Illuminate\Support\ServiceProvider;
1314
use Illuminate\Events\EventServiceProvider;
1415
use Illuminate\Routing\RoutingServiceProvider;
@@ -185,6 +186,8 @@ protected function registerBaseServiceProviders()
185186
$this->register(new EventServiceProvider($this));
186187

187188
$this->register(new RoutingServiceProvider($this));
189+
190+
$this->register(new LogServiceProvider($this));
188191
}
189192

190193
/**

src/Illuminate/Foundation/Console/Kernel.php

-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ class Kernel implements KernelContract
5858
protected $bootstrappers = [
5959
'Illuminate\Foundation\Bootstrap\DetectEnvironment',
6060
'Illuminate\Foundation\Bootstrap\LoadConfiguration',
61-
'Illuminate\Foundation\Bootstrap\ConfigureLogging',
6261
'Illuminate\Foundation\Bootstrap\HandleExceptions',
6362
'Illuminate\Foundation\Bootstrap\RegisterFacades',
6463
'Illuminate\Foundation\Bootstrap\SetRequestForConsole',

src/Illuminate/Foundation/Console/Optimize/config.php

+1-13
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
$basePath.'/vendor/symfony/http-kernel/TerminableInterface.php',
4545
$basePath.'/vendor/laravel/framework/src/Illuminate/Foundation/Application.php',
4646
$basePath.'/vendor/laravel/framework/src/Illuminate/Foundation/EnvironmentDetector.php',
47-
$basePath.'/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/ConfigureLogging.php',
4847
$basePath.'/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php',
4948
$basePath.'/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterFacades.php',
5049
$basePath.'/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php',
@@ -73,6 +72,7 @@
7372
$basePath.'/vendor/symfony/http-foundation/AcceptHeaderItem.php',
7473
$basePath.'/vendor/symfony/http-foundation/AcceptHeader.php',
7574
$basePath.'/vendor/symfony/debug/ExceptionHandler.php',
75+
$basePath.'/vendor/laravel/framework/src/Illuminate/Log/LogServiceProvider.php',
7676
$basePath.'/vendor/laravel/framework/src/Illuminate/Support/ServiceProvider.php',
7777
$basePath.'/vendor/laravel/framework/src/Illuminate/Support/AggregateServiceProvider.php',
7878
$basePath.'/vendor/laravel/framework/src/Illuminate/Routing/RoutingServiceProvider.php',
@@ -144,19 +144,7 @@
144144
$basePath.'/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php',
145145
$basePath.'/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php',
146146
$basePath.'/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php',
147-
$basePath.'/vendor/laravel/framework/src/Illuminate/Support/Facades/Log.php',
148-
$basePath.'/vendor/laravel/framework/src/Illuminate/Log/Writer.php',
149147
$basePath.'/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php',
150-
$basePath.'/vendor/monolog/monolog/src/Monolog/Logger.php',
151-
$basePath.'/vendor/psr/log/Psr/Log/LoggerInterface.php',
152-
$basePath.'/vendor/monolog/monolog/src/Monolog/Handler/AbstractHandler.php',
153-
$basePath.'/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php',
154-
$basePath.'/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php',
155-
$basePath.'/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php',
156-
$basePath.'/vendor/monolog/monolog/src/Monolog/Handler/HandlerInterface.php',
157-
$basePath.'/vendor/monolog/monolog/src/Monolog/Formatter/FormatterInterface.php',
158-
$basePath.'/vendor/monolog/monolog/src/Monolog/Formatter/NormalizerFormatter.php',
159-
$basePath.'/vendor/monolog/monolog/src/Monolog/Formatter/LineFormatter.php',
160148
$basePath.'/vendor/laravel/framework/src/Illuminate/Support/Facades/App.php',
161149
$basePath.'/vendor/laravel/framework/src/Illuminate/Support/Facades/Route.php',
162150
$basePath.'/vendor/laravel/framework/src/Illuminate/View/Engines/EngineResolver.php',

src/Illuminate/Foundation/Http/Kernel.php

-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ class Kernel implements KernelContract
3636
protected $bootstrappers = [
3737
'Illuminate\Foundation\Bootstrap\DetectEnvironment',
3838
'Illuminate\Foundation\Bootstrap\LoadConfiguration',
39-
'Illuminate\Foundation\Bootstrap\ConfigureLogging',
4039
'Illuminate\Foundation\Bootstrap\HandleExceptions',
4140
'Illuminate\Foundation\Bootstrap\RegisterFacades',
4241
'Illuminate\Foundation\Bootstrap\RegisterProviders',

src/Illuminate/Foundation/Bootstrap/ConfigureLogging.php renamed to src/Illuminate/Log/LogServiceProvider.php

+21-23
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,45 @@
11
<?php
22

3-
namespace Illuminate\Foundation\Bootstrap;
3+
namespace Illuminate\Log;
44

5-
use Illuminate\Log\Writer;
65
use Monolog\Logger as Monolog;
6+
use Illuminate\Support\ServiceProvider;
77
use Illuminate\Contracts\Foundation\Application;
88

9-
class ConfigureLogging
9+
class LogServiceProvider extends ServiceProvider
1010
{
1111
/**
12-
* Bootstrap the given application.
12+
* Register the service provider.
1313
*
14-
* @param \Illuminate\Contracts\Foundation\Application $app
1514
* @return void
1615
*/
17-
public function bootstrap(Application $app)
16+
public function register()
1817
{
19-
$log = $this->registerLogger($app);
20-
21-
// If a custom Monolog configurator has been registered for the application
22-
// we will call that, passing Monolog along. Otherwise, we will grab the
23-
// the configurations for the log system and use it for configuration.
24-
if ($app->hasMonologConfigurator()) {
25-
call_user_func(
26-
$app->getMonologConfigurator(), $log->getMonolog()
27-
);
28-
} else {
29-
$this->configureHandlers($app, $log);
30-
}
18+
$this->app->singleton('log', function ($app) {
19+
return $this->createLogger($app);
20+
});
3121
}
3222

3323
/**
34-
* Register the logger instance in the container.
24+
* Create the logger.
3525
*
36-
* @param \Illuminate\Contracts\Foundation\Application $app
26+
* @param \Illuminate\Contracts\Foundation\Application $app
3727
* @return \Illuminate\Log\Writer
3828
*/
39-
protected function registerLogger(Application $app)
29+
public function createLogger($app)
4030
{
41-
$app->instance('log', $log = new Writer(
42-
new Monolog($app->environment()), $app['events'])
31+
$log = new Writer(
32+
new Monolog($app->environment()), $app['events']
4333
);
4434

35+
if ($app->hasMonologConfigurator()) {
36+
call_user_func(
37+
$app->getMonologConfigurator(), $log->getMonolog()
38+
);
39+
} else {
40+
$this->configureHandlers($app, $log);
41+
}
42+
4543
return $log;
4644
}
4745

0 commit comments

Comments
 (0)