diff --git a/dist/app/Http/Kernel.php b/dist/app/Http/Kernel.php index f8ea891..cb96dbf 100644 --- a/dist/app/Http/Kernel.php +++ b/dist/app/Http/Kernel.php @@ -16,7 +16,6 @@ class Kernel extends HttpKernel * @var array */ protected $middleware = [ - AccessLogger::class, // \App\Http\Middleware\TrustHosts::class, \App\Http\Middleware\TrustProxies::class, \Illuminate\Http\Middleware\HandleCors::class, @@ -36,6 +35,7 @@ class Kernel extends HttpKernel \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, + AccessLogger::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, @@ -51,6 +51,7 @@ class Kernel extends HttpKernel \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, + AccessLogger::class, ], 'api.auth' => [ diff --git a/dist/app/Http/Middleware/AccessLogger.php b/dist/app/Http/Middleware/AccessLogger.php index 42c55fd..8cbeebd 100644 --- a/dist/app/Http/Middleware/AccessLogger.php +++ b/dist/app/Http/Middleware/AccessLogger.php @@ -4,13 +4,11 @@ use Closure; use Illuminate\Http\Request; -use Illuminate\Support\Collection; use Illuminate\Support\Facades\Log; -use Illuminate\Support\Facades\Route; +use Illuminate\Support\Facades\Session; use Illuminate\Support\Str; use stdClass; use Symfony\Component\HttpFoundation\Response; -use Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException; class AccessLogger { @@ -24,6 +22,20 @@ public function handle(Request $request, Closure $next): Response if(!Str::contains($request->userAgent(), 'TheExit')) return $next($request); + if(!Session::has('sessionLogConfig')) { + $logConfig = [ + 'driver' => 'single', + 'path' => storage_path('logs/sessions/'.Str::substr(Session::getId(), 0, 12).'.log') + ]; + Session::put('sessionLogConfig', $logConfig); + } + else + $logConfig = Session::get('sessionLogConfig'); + + $logChannel = Log::build($logConfig); + + $channels = ['dg_requests', $logChannel]; + $log = new stdClass(); $log->method = $request->method(); $log->url = $request->fullUrl(); @@ -40,9 +52,9 @@ public function handle(Request $request, Closure $next): Response $logMessage = $log->method.' '.$log->url."\n".json_encode($log); if($response->isSuccessful()) - Log::channel('dg_requests')->info($logMessage); + Log::stack($channels)->info($logMessage); else - Log::channel('dg_requests')->warning($logMessage); + Log::stack($channels)->warning($logMessage); return $response; } catch (\Exception $e) { @@ -52,7 +64,7 @@ public function handle(Request $request, Closure $next): Response $log->exception->trace = $e->getTrace(); $logMessage = $log->method.' '.$log->url."\n".json_encode($log); - Log::channel('dg_requests')->error($logMessage); + Log::stack($channels)->error($logMessage); throw $e; } } diff --git a/dist/docker-compose.yml b/dist/docker-compose.yml index c3f16a6..bc3c418 100644 --- a/dist/docker-compose.yml +++ b/dist/docker-compose.yml @@ -17,6 +17,7 @@ services: XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}' XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}' IGNITION_LOCAL_SITES_PATH: '${PWD}' + PHP_IDE_CONFIG: 'serverName=Docker' volumes: - '.:/var/www/html' networks: