导读:1. 自定义 LogServiceProvider<?phpnamespaceApp\Providers;useIlluminate\Http\Request;useIlluminate\Support\ServiceProvider;useMono...
1. 自定义 LogServiceProvider
- <?php
- namespace App\Providers;
- use Illuminate\Http\Request;
- use Illuminate\Support\ServiceProvider;
- use Monolog\Formatter\LineFormatter;
- use Monolog\Handler\RotatingFileHandler;
- class LogServiceProvider extends ServiceProvider
- {
- public function __construct($app)
- {
- parent::__construct($app);
- }
-
- public function boot(Request $request){
- $addr = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
-
- $requestId = $request['request_id'] = md5(time() . rand(1 , 1000));
- $file = storage_path("logs/log.log");
- if(app()->runningInConsole()){
- $file = storage_path("logs/cli-log.log");
- }
-
- $outInput = "[%datetime%][ip:$addr][requestId:{$requestId}][Level:%level_name%][Message:%message% %context% %extra%]\n";
- $handlers[] = (new RotatingFileHandler($file, 5))
- ->setFormatter(new LineFormatter($outInput, 'Y-m-d H:i:s' , true, true));
- $this->app['log']->setHandlers($handlers);
- }
- }
2. 引入 LogServiceProvider
-
- $app->register(App\Providers\LogServiceProvider::class);