[2026-07-03 11:46:58] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:46:59] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:46:59] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 11:47:45] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:47:45] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:47:45] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 11:48:45] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:48:46] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:48:46] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 11:49:45] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:49:46] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:49:46] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 11:50:45] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:50:45] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:50:46] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 11:51:46] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:51:47] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:51:47] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 11:52:47] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:52:47] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:52:48] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 11:53:48] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:53:48] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:53:49] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 11:54:49] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:54:49] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 11:54:50] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 17:24:23] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:23] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:23] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 17:24:25] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:25] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:25] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 17:24:27] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:27] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:24:39] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:39] [debug] [index.php:283] [IP:::1] Request: POST /login | {"method":"POST","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 17:24:40] [info] [helpers.php:922] [IP:::1] [USER:1] Audit: auth.login — User logged in | {"module":"auth","action":"login","old_data":null,"new_data":null}
[2026-07-03 17:24:40] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:40] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET / | {"method":"GET","uri":"/","query":[],"ip":"::1"}
[2026-07-03 17:24:40] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:41] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:41] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:41] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /dashboard/charts | {"method":"GET","uri":"/dashboard/charts","query":{"type":"monthly_comparison"},"ip":"::1"}
[2026-07-03 17:24:41] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /dashboard/charts | {"method":"GET","uri":"/dashboard/charts","query":{"type":"loan_status"},"ip":"::1"}
[2026-07-03 17:24:41] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /dashboard/charts | {"method":"GET","uri":"/dashboard/charts","query":{"type":"collection_trend"},"ip":"::1"}
[2026-07-03 17:24:45] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:45] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:24:48] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:48] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /settings | {"method":"GET","uri":"/settings","query":[],"ip":"::1"}
[2026-07-03 17:24:50] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:24:50] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:25:48] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:25:48] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:26:21] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:21] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:21] [debug] [index.php:283] [IP:::1] Request: GET /officer/login | {"method":"GET","uri":"/officer/login","query":[],"ip":"::1"}
[2026-07-03 17:26:23] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:23] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:26:34] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:35] [debug] [index.php:283] [IP:::1] Request: POST /officer/login | {"method":"POST","uri":"/officer/login","query":[],"ip":"::1"}
[2026-07-03 17:26:35] [info] [helpers.php:922] [IP:::1] Audit: officer_app.login — Officer Test Staff logged into field app | {"module":"officer_app","action":"login","old_data":null,"new_data":null}
[2026-07-03 17:26:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:35] [debug] [index.php:283] [IP:::1] Request: GET /officer/dashboard | {"method":"GET","uri":"/officer/dashboard","query":[],"ip":"::1"}
[2026-07-03 17:26:37] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:37] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:26:38] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:38] [debug] [index.php:283] [IP:::1] Request: POST /officer/gps | {"method":"POST","uri":"/officer/gps","query":[],"ip":"::1"}
[2026-07-03 17:26:41] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:42] [debug] [index.php:283] [IP:::1] Request: GET /officer/customers | {"method":"GET","uri":"/officer/customers","query":[],"ip":"::1"}
[2026-07-03 17:26:44] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:44] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:26:49] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:26:49] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:27:49] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:27:49] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:28:06] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:28:06] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:28:49] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:28:49] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:28:52] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:28:52] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /settings | {"method":"GET","uri":"/settings","query":[],"ip":"::1"}
[2026-07-03 17:28:54] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:28:54] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:29:53] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:29:53] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:30:53] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:30:53] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:31:53] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:31:53] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:32:15] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:32:15] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /settings | {"method":"GET","uri":"/settings","query":[],"ip":"::1"}
[2026-07-03 17:32:17] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:32:18] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:32:37] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:32:38] [debug] [index.php:283] [IP:::1] Request: GET /officer/customers | {"method":"GET","uri":"/officer/customers","query":[],"ip":"::1"}
[2026-07-03 17:32:40] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:32:40] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:33:09] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:33:09] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /settings | {"method":"GET","uri":"/settings","query":[],"ip":"::1"}
[2026-07-03 17:33:11] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:33:11] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:34:08] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:09] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /logout | {"method":"GET","uri":"/logout","query":[],"ip":"::1"}
[2026-07-03 17:34:09] [info] [helpers.php:922] [IP:::1] [USER:1] Audit: auth.logout — User logged out | {"module":"auth","action":"logout","old_data":null,"new_data":null}
[2026-07-03 17:34:09] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:09] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 17:34:11] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:11] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:34:21] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:21] [debug] [index.php:283] [IP:::1] Request: POST /login | {"method":"POST","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 17:34:21] [info] [helpers.php:922] [IP:::1] Audit: auth.login_fail — Failed login attempt for phone 999999999 from IP ::1 | {"module":"auth","action":"login_fail","old_data":null,"new_data":null}
[2026-07-03 17:34:22] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:22] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 17:34:24] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:24] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:34:34] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:34] [debug] [index.php:283] [IP:::1] Request: POST /login | {"method":"POST","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 17:34:35] [info] [helpers.php:922] [IP:::1] [USER:1] Audit: auth.login — User logged in | {"module":"auth","action":"login","old_data":null,"new_data":null}
[2026-07-03 17:34:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:35] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET / | {"method":"GET","uri":"/","query":[],"ip":"::1"}
[2026-07-03 17:34:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:35] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /dashboard/charts | {"method":"GET","uri":"/dashboard/charts","query":{"type":"loan_status"},"ip":"::1"}
[2026-07-03 17:34:36] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /dashboard/charts | {"method":"GET","uri":"/dashboard/charts","query":{"type":"collection_trend"},"ip":"::1"}
[2026-07-03 17:34:36] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /dashboard/charts | {"method":"GET","uri":"/dashboard/charts","query":{"type":"monthly_comparison"},"ip":"::1"}
[2026-07-03 17:34:37] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:38] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:34:39] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:40] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /settings | {"method":"GET","uri":"/settings","query":[],"ip":"::1"}
[2026-07-03 17:34:42] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:34:42] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:35:40] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:35:40] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:36:40] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:36:41] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:37:40] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:37:40] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:38:40] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:38:40] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:39:28] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:39:29] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /settings | {"method":"GET","uri":"/settings","query":[],"ip":"::1"}
[2026-07-03 17:39:31] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:39:31] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:39:40] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:39:40] [debug] [index.php:283] [IP:::1] Request: GET /officer/customers | {"method":"GET","uri":"/officer/customers","query":[],"ip":"::1"}
[2026-07-03 17:39:42] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:39:43] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:40:17] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:40:17] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:40:29] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:40:29] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 17:40:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:40:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:40:35] [debug] [index.php:283] [IP:::1] Request: GET /officer/login | {"method":"GET","uri":"/officer/login","query":[],"ip":"::1"}
[2026-07-03 17:40:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:40:35] [debug] [index.php:283] [IP:::1] Request: GET /manifest | {"method":"GET","uri":"/manifest","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:40:44] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:40:45] [debug] [index.php:283] [IP:::1] Request: GET /officer/customers | {"method":"GET","uri":"/officer/customers","query":[],"ip":"::1"}
[2026-07-03 17:40:47] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:40:47] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 17:40:48] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:40:49] [debug] [index.php:283] [IP:::1] Request: GET /officer/customers | {"method":"GET","uri":"/officer/customers","query":[],"ip":"::1"}
[2026-07-03 17:41:29] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 17:41:29] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:28:44] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:28:44] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:28:44] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 23:29:24] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:29:25] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:29:25] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 23:30:01] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:01] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:01] [debug] [index.php:283] [IP:::1] Request: GET /officer/login | {"method":"GET","uri":"/officer/login","query":[],"ip":"::1"}
[2026-07-03 23:30:13] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:13] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 23:30:25] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:25] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:25] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 23:30:27] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:27] [debug] [index.php:283] [IP:::1] Request: POST /officer/login | {"method":"POST","uri":"/officer/login","query":[],"ip":"::1"}
[2026-07-03 23:30:27] [info] [helpers.php:922] [IP:::1] Audit: officer_app.login — Officer Test Staff logged into field app | {"module":"officer_app","action":"login","old_data":null,"new_data":null}
[2026-07-03 23:30:27] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:27] [debug] [index.php:283] [IP:::1] Request: GET /officer/dashboard | {"method":"GET","uri":"/officer/dashboard","query":[],"ip":"::1"}
[2026-07-03 23:30:29] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:29] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 23:30:32] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:32] [debug] [index.php:283] [IP:::1] Request: GET /officer/customers | {"method":"GET","uri":"/officer/customers","query":[],"ip":"::1"}
[2026-07-03 23:30:34] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:34] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 23:30:55] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:55] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:55] [debug] [index.php:283] [IP:::1] Request: GET /login | {"method":"GET","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 23:30:57] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:30:57] [debug] [index.php:283] [IP:::1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 23:31:06] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:31:07] [debug] [index.php:283] [IP:::1] Request: POST /login | {"method":"POST","uri":"/login","query":[],"ip":"::1"}
[2026-07-03 23:31:07] [info] [helpers.php:922] [IP:::1] [USER:1] Audit: auth.login — User logged in | {"module":"auth","action":"login","old_data":null,"new_data":null}
[2026-07-03 23:31:07] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:31:07] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET / | {"method":"GET","uri":"/","query":[],"ip":"::1"}
[2026-07-03 23:31:07] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:31:07] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:31:07] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:31:07] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /dashboard/charts | {"method":"GET","uri":"/dashboard/charts","query":{"type":"collection_trend"},"ip":"::1"}
[2026-07-03 23:31:08] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /dashboard/charts | {"method":"GET","uri":"/dashboard/charts","query":{"type":"loan_status"},"ip":"::1"}
[2026-07-03 23:31:08] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /dashboard/charts | {"method":"GET","uri":"/dashboard/charts","query":{"type":"monthly_comparison"},"ip":"::1"}
[2026-07-03 23:31:09] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:31:09] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 23:31:11] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:31:12] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /settings | {"method":"GET","uri":"/settings","query":[],"ip":"::1"}
[2026-07-03 23:31:13] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:31:14] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 23:32:13] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:32:13] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:32:48] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:32:48] [debug] [index.php:283] [IP:::1] Request: GET /officer/customers | {"method":"GET","uri":"/officer/customers","query":[],"ip":"::1"}
[2026-07-03 23:33:13] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:33:13] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:34:13] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:34:13] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:35:13] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:35:13] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:36:13] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:36:13] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:37:13] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:37:13] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:38:20] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:38:20] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:39:13] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:39:14] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:40:14] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:40:15] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:40:33] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:40:34] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /settings | {"method":"GET","uri":"/settings","query":[],"ip":"::1"}
[2026-07-03 23:40:36] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:40:36] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /sw.js | {"method":"GET","uri":"/sw.js","query":{"zone":"officer"},"ip":"::1"}
[2026-07-03 23:41:34] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:41:35] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:42:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:42:35] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:43:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:43:35] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:44:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:44:35] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:45:34] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:45:35] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:46:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:46:35] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:47:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:47:35] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:48:35] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:48:36] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:49:37] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:49:37] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:50:37] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:50:38] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:51:39] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:51:39] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:52:39] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:52:40] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:53:41] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:53:41] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:54:42] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:54:42] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:55:43] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:55:43] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:56:44] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:56:44] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:57:44] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:57:45] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:58:46] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:58:46] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
[2026-07-03 23:59:47] [info] [EnvLoader.php:47] [IP:::1] Environment loaded via vlucas/phpdotenv
[2026-07-03 23:59:47] [debug] [index.php:283] [IP:::1] [USER:1] Request: GET /notifications/count | {"method":"GET","uri":"/notifications/count","query":[],"ip":"::1"}
