If you encounter the error log below in your Laravel application and want to consolidate the entire log into a single event, you need to add the following parsing rule to your Atatus log monitoring configuration:

Sample Laravel Error Log

[2024-08-23 05:42:05] local.ERROR: Route [login] not defined. {"exception":"[object] (Symfony\\Component\\Routing\\Exception\\RouteNotFoundException(code: 0): Route [login] not defined. at /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:453)
[stacktrace]
#0 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(739): Illuminate\\Routing\\UrlGenerator->route()
#1 /home/ubuntu/git/one-ecommerce-laravel/app/Http/Middleware/Authenticate.php(18): route()
#2 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(83): App\\Http\\Middleware\\Authenticate->redirectTo()
#3 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(68): Illuminate\\Auth\\Middleware\\Authenticate->unauthenticated()
#4 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(42): Illuminate\\Auth\\Middleware\\Authenticate->authenticate()
#5 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\Authenticate->handle()
#6 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#7 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php(723): Illuminate\\Pipeline\\Pipeline->then()
#8 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php(698): Illuminate\\Routing\\Router->runRouteWithinStack()
#9 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php(662): Illuminate\\Routing\\Router->runRoute()
#10 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Routing/Router.php(651): Illuminate\\Routing\\Router->dispatchToRoute()
#11 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch()
#12 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#13 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#14 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#15 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#16 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#18 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#19 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#20 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#21 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#22 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#23 /home/ubuntu/git/one-ecommerce-laravel/vendor/fruitcake/laravel-cors/src/HandleCors.php(52): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#25 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#27 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then()
#29 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#30 /home/ubuntu/git/one-ecommerce-laravel/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#31 /home/ubuntu/git/one-ecommerce-laravel/vendor/laravel/framework/src/Illuminate/Foundation/resources/server.php(16): require_once(...)
#32 {main}
"}
[2024-04-15 11:17:04] local.ERROR: Unable to read frame header: Incorrect header size {"exception":"[object] (Spiral\\Goridge\\Exception\\HeaderException(code: 0): Unable to read frame header: Incorrect header size at /var/www/html/vendor/spiral/goridge/src/StreamRelay.php:78)
[stacktrace]
#0 /var/www/html/vendor/spiral/roadrunner-worker/src/Worker.php(83): Spiral\\Goridge\\StreamRelay->waitFrame()
#1 /var/www/html/vendor/spiral/roadrunner-http/src/HttpWorker.php(69): Spiral\\RoadRunner\\Worker->waitPayload()
#2 /var/www/html/vendor/spiral/roadrunner-http/src/PSR7Worker.php(102): Spiral\\RoadRunner\\Http\\HttpWorker->waitRequest()
#3 /var/www/html/vendor/laravel/octane/bin/roadrunner-worker(39): Spiral\\RoadRunner\\Http\\PSR7Worker->waitRequest()
#4 /var/www/html/vendor/bin/roadrunner-worker(119): include(/var/www/html/v...)
#5 {main}
"}

Parsing Rule For Laravel Error Log

Add this parsing rule in to atatus configuration file ex:/etc/atatus-infra-agent/conf.d/files.d/files.yml

#Log section
logs:

  - type: file
    paths:
      - /var/log/laravel/*.log
    service: laravel_log_service
    source: laravel_log
    processing_rules:
      - type: 'multiline'
        pattern: '^\[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\]'
        negate: true
        group: 'after'