{"timestamp":"2026-08-24 14:15:23","level":"CRITICAL","channel":"app","message":"Uncaught exception","context":{"exception":"RuntimeException","message":"CRITICAL: JWT_SECRET environment variable is not set. Generate a strong secret with: openssl rand -hex 32","file":"/var/www/html/monrita-releases/20260824-135332/backend/src/Config/config.php","line":17,"trace":"#0 /var/www/html/monrita-releases/20260824-135332/backend/src/Config/config.php(61): validateJwtSecret()\n#1 /var/www/html/monrita-releases/20260824-135332/backend/src/Config/Database.php(18): require_once('...')\n#2 /var/www/html/monrita-releases/20260824-135332/backend/src/Services/AuthService.php(16): App\\Config\\Database::getConnection()\n#3 /var/www/html/monrita-releases/20260824-135332/backend/src/Controllers/AuthController.php(17): App\\Services\\AuthService->__construct()\n#4 /var/www/html/monrita-releases/20260824-135332/backend/public/index.php(173): App\\Controllers\\AuthController->__construct()\n#5 {main}"},"ip":"188.166.159.42","user_agent":"Next.js Middleware"}
{"timestamp":"2026-08-24 14:15:55","level":"CRITICAL","channel":"app","message":"Uncaught exception","context":{"exception":"RuntimeException","message":"CRITICAL: JWT_SECRET environment variable is not set. Generate a strong secret with: openssl rand -hex 32","file":"/var/www/html/monrita-releases/20260824-135332/backend/src/Config/config.php","line":17,"trace":"#0 /var/www/html/monrita-releases/20260824-135332/backend/src/Config/config.php(61): validateJwtSecret()\n#1 /var/www/html/monrita-releases/20260824-135332/backend/src/Config/Database.php(18): require_once('...')\n#2 /var/www/html/monrita-releases/20260824-135332/backend/src/Services/AuthService.php(16): App\\Config\\Database::getConnection()\n#3 /var/www/html/monrita-releases/20260824-135332/backend/src/Controllers/AuthController.php(17): App\\Services\\AuthService->__construct()\n#4 /var/www/html/monrita-releases/20260824-135332/backend/public/index.php(173): App\\Controllers\\AuthController->__construct()\n#5 {main}"},"ip":"188.166.159.42","user_agent":"Next.js Middleware"}
{"timestamp":"2026-08-24 14:15:55","level":"CRITICAL","channel":"app","message":"Uncaught exception","context":{"exception":"RuntimeException","message":"CRITICAL: JWT_SECRET environment variable is not set. Generate a strong secret with: openssl rand -hex 32","file":"/var/www/html/monrita-releases/20260824-135332/backend/src/Config/config.php","line":17,"trace":"#0 /var/www/html/monrita-releases/20260824-135332/backend/src/Config/config.php(61): validateJwtSecret()\n#1 /var/www/html/monrita-releases/20260824-135332/backend/src/Config/Database.php(18): require_once('...')\n#2 /var/www/html/monrita-releases/20260824-135332/backend/src/Services/AuthService.php(16): App\\Config\\Database::getConnection()\n#3 /var/www/html/monrita-releases/20260824-135332/backend/src/Controllers/AuthController.php(17): App\\Services\\AuthService->__construct()\n#4 /var/www/html/monrita-releases/20260824-135332/backend/public/index.php(173): App\\Controllers\\AuthController->__construct()\n#5 {main}"},"ip":"188.166.159.42","user_agent":"curl/8.5.0"}
{"timestamp":"2026-08-24 14:16:34","level":"CRITICAL","channel":"app","message":"Uncaught exception","context":{"exception":"RuntimeException","message":"CRITICAL: JWT_SECRET environment variable is not set. Generate a strong secret with: openssl rand -hex 32","file":"/var/www/html/monrita-releases/20260824-135332/backend/src/Config/config.php","line":17,"trace":"#0 /var/www/html/monrita-releases/20260824-135332/backend/src/Config/config.php(61): validateJwtSecret()\n#1 /var/www/html/monrita-releases/20260824-135332/backend/src/Config/Database.php(18): require_once('...')\n#2 /var/www/html/monrita-releases/20260824-135332/backend/src/Services/AuthService.php(16): App\\Config\\Database::getConnection()\n#3 /var/www/html/monrita-releases/20260824-135332/backend/src/Controllers/AuthController.php(17): App\\Services\\AuthService->__construct()\n#4 /var/www/html/monrita-releases/20260824-135332/backend/public/index.php(173): App\\Controllers\\AuthController->__construct()\n#5 {main}"},"ip":"188.166.159.42","user_agent":"curl/8.5.0"}
{"timestamp":"2026-08-24 14:36:03","level":"INFO","channel":"app","message":"deliveries.list.timings","context":{"total_ms":7.65,"data_query_ms":6.64,"count_query_ms":1.01,"filters":{"user_id":2},"rows_returned":50,"page":1,"per_page":50},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1"}
{"timestamp":"2026-08-24 14:36:03","level":"INFO","channel":"app","message":"deliveries.index.latency","context":{"duration_ms":8.13,"user_id":2,"role":"FIELD_STAFF","filters":{"user_id":2},"returned_rows":50,"page":1,"per_page":50},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1"}
{"timestamp":"2026-08-24 14:36:12","level":"INFO","channel":"app","message":"deliveries.list.timings","context":{"total_ms":7.36,"data_query_ms":6.99,"count_query_ms":0.38,"filters":{"user_id":2},"rows_returned":118,"page":1,"per_page":300},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1"}
{"timestamp":"2026-08-24 14:36:12","level":"INFO","channel":"app","message":"deliveries.index.latency","context":{"duration_ms":7.61,"user_id":2,"role":"FIELD_STAFF","filters":{"user_id":2},"returned_rows":118,"page":1,"per_page":300},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1"}
{"timestamp":"2026-08-24 14:36:14","level":"INFO","channel":"app","message":"deliveries.list.timings","context":{"total_ms":5.99,"data_query_ms":5.56,"count_query_ms":0.44,"filters":{"user_id":2},"rows_returned":20,"page":1,"per_page":20},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1"}
{"timestamp":"2026-08-24 14:36:14","level":"INFO","channel":"app","message":"deliveries.index.latency","context":{"duration_ms":6.29,"user_id":2,"role":"FIELD_STAFF","filters":{"user_id":2},"returned_rows":20,"page":1,"per_page":20},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.5 Mobile/15E148 Safari/604.1"}
{"timestamp":"2026-08-24 15:09:46","level":"CRITICAL","channel":"app","message":"Uncaught exception","context":{"exception":"ArgumentCountError","message":"Too few arguments to function {closure}(), 1 passed and exactly 2 expected","file":"/var/www/html/monrita-releases/20260824-135332/backend/public/index.php","line":652,"trace":"#0 [internal function]: {closure}()\n#1 /var/www/html/monrita-releases/20260824-135332/backend/src/Utils/Router.php(58): call_user_func()\n#2 /var/www/html/monrita-releases/20260824-135332/backend/public/index.php(719): App\\Utils\\Router->dispatch()\n#3 {main}"},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:09:48","level":"CRITICAL","channel":"app","message":"Uncaught exception","context":{"exception":"ArgumentCountError","message":"Too few arguments to function {closure}(), 1 passed and exactly 2 expected","file":"/var/www/html/monrita-releases/20260824-135332/backend/public/index.php","line":652,"trace":"#0 [internal function]: {closure}()\n#1 /var/www/html/monrita-releases/20260824-135332/backend/src/Utils/Router.php(58): call_user_func()\n#2 /var/www/html/monrita-releases/20260824-135332/backend/public/index.php(719): App\\Utils\\Router->dispatch()\n#3 {main}"},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:09:51","level":"CRITICAL","channel":"app","message":"Uncaught exception","context":{"exception":"ArgumentCountError","message":"Too few arguments to function {closure}(), 1 passed and exactly 2 expected","file":"/var/www/html/monrita-releases/20260824-135332/backend/public/index.php","line":652,"trace":"#0 [internal function]: {closure}()\n#1 /var/www/html/monrita-releases/20260824-135332/backend/src/Utils/Router.php(58): call_user_func()\n#2 /var/www/html/monrita-releases/20260824-135332/backend/public/index.php(719): App\\Utils\\Router->dispatch()\n#3 {main}"},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:09:57","level":"CRITICAL","channel":"app","message":"Uncaught exception","context":{"exception":"ArgumentCountError","message":"Too few arguments to function {closure}(), 1 passed and exactly 2 expected","file":"/var/www/html/monrita-releases/20260824-135332/backend/public/index.php","line":652,"trace":"#0 [internal function]: {closure}()\n#1 /var/www/html/monrita-releases/20260824-135332/backend/src/Utils/Router.php(58): call_user_func()\n#2 /var/www/html/monrita-releases/20260824-135332/backend/public/index.php(719): App\\Utils\\Router->dispatch()\n#3 {main}"},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:09:57","level":"CRITICAL","channel":"app","message":"Uncaught exception","context":{"exception":"ArgumentCountError","message":"Too few arguments to function {closure}(), 1 passed and exactly 2 expected","file":"/var/www/html/monrita-releases/20260824-135332/backend/public/index.php","line":652,"trace":"#0 [internal function]: {closure}()\n#1 /var/www/html/monrita-releases/20260824-135332/backend/src/Utils/Router.php(58): call_user_func()\n#2 /var/www/html/monrita-releases/20260824-135332/backend/public/index.php(719): App\\Utils\\Router->dispatch()\n#3 {main}"},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:10:34","level":"INFO","channel":"app","message":"deliveries.list.timings","context":{"total_ms":16.08,"data_query_ms":14.6,"count_query_ms":1.47,"filters":{"plan_period_id":"1"},"rows_returned":0,"page":1,"per_page":20},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:10:34","level":"INFO","channel":"app","message":"deliveries.index.latency","context":{"duration_ms":16.37,"user_id":1,"role":"SUPER_ADMIN","filters":{"plan_period_id":"1"},"returned_rows":0,"page":1,"per_page":20},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:10:34","level":"INFO","channel":"app","message":"deliveries.list.timings","context":{"total_ms":4.43,"data_query_ms":2.9,"count_query_ms":1.53,"filters":{"review_status":"PENDING_REVIEW"},"rows_returned":5,"page":1,"per_page":5},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:10:34","level":"INFO","channel":"app","message":"deliveries.index.latency","context":{"duration_ms":4.63,"user_id":1,"role":"SUPER_ADMIN","filters":{"review_status":"PENDING_REVIEW"},"returned_rows":5,"page":1,"per_page":5},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:11:42","level":"INFO","channel":"app","message":"deliveries.list.timings","context":{"total_ms":5,"data_query_ms":0.78,"count_query_ms":4.21,"filters":{"review_status":"PENDING_REVIEW"},"rows_returned":5,"page":1,"per_page":5},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:11:42","level":"INFO","channel":"app","message":"deliveries.index.latency","context":{"duration_ms":5.29,"user_id":1,"role":"SUPER_ADMIN","filters":{"review_status":"PENDING_REVIEW"},"returned_rows":5,"page":1,"per_page":5},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:11:42","level":"INFO","channel":"app","message":"deliveries.list.timings","context":{"total_ms":1.75,"data_query_ms":1.29,"count_query_ms":0.45,"filters":{"plan_period_id":"1"},"rows_returned":0,"page":1,"per_page":20},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
{"timestamp":"2026-08-24 15:11:42","level":"INFO","channel":"app","message":"deliveries.index.latency","context":{"duration_ms":1.98,"user_id":1,"role":"SUPER_ADMIN","filters":{"plan_period_id":"1"},"returned_rows":0,"page":1,"per_page":20},"ip":"154.160.96.235","user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"}
