{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:44:45.895Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:45:03.915Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:45:47.449Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:46:08.077Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:46:12.261Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:46:38.073Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:46:42.563Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:47:08.080Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:47:12.081Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:47:15.110Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:47:19.234Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:47:38.075Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:47:41.984Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:48:08.079Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:48:12.129Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:48:38.081Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:48:42.171Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:49:08.075Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:49:12.319Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:49:38.075Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:49:41.940Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:50:08.081Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:50:12.235Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:50:38.077Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:50:42.504Z"}
{"error":"database \"google_ads_automation\" does not exist","level":"error","message":"Failed to persist api_log entry","timestamp":"2026-08-05T09:50:54.700Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:51:08.077Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:51:13.828Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:51:38.085Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:51:41.860Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:52:08.078Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:52:12.332Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:52:38.077Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:52:41.838Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:53:08.080Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:53:12.001Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:53:38.080Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:53:41.714Z"}
2026-08-05 09:53:43 [[31merror[39m] error: password authentication failed for user "vasundhara"
    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
    at async runMigrations (/var/www/html/google-ads-automation/backend/src/db/migrate.js:23:18) {"error":"password authentication failed for user \"vasundhara\""}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:54:08.081Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:54:12.319Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:54:38.082Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:54:42.317Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:55:08.085Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:55:12.411Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:55:38.081Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:55:42.029Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:56:08.083Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:56:12.893Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:56:38.085Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:56:41.859Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:57:08.088Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:57:12.050Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:57:38.087Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:57:42.153Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:58:08.092Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:58:12.097Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:58:20.594Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:58:24.734Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:58:38.091Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:58:42.141Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:59:08.088Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:59:12.885Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T09:59:38.089Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T09:59:42.365Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:00:08.102Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:00:13.700Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:00:38.091Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:00:42.825Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:01:08.095Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:01:13.196Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:01:38.098Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:01:42.536Z"}
{"error":"database \"google_ads_automation\" does not exist","level":"error","message":"Migration failed","stack":"error: database \"google_ads_automation\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async runMigrations (/var/www/html/google-ads-automation/backend/src/db/migrate.js:23:18)","timestamp":"2026-08-05T10:01:57.878Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:02:08.092Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:02:12.532Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:02:38.095Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:02:42.165Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:03:08.112Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:03:12.183Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:03:38.094Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:03:42.228Z"}
{"level":"info","message":"Applying migration: 001_init.sql","timestamp":"2026-08-05T10:04:07.844Z"}
{"level":"info","message":"Migration applied: 001_init.sql","timestamp":"2026-08-05T10:04:07.922Z"}
{"level":"info","message":"Applying migration: 002_users.sql","timestamp":"2026-08-05T10:04:07.923Z"}
{"level":"info","message":"Migration applied: 002_users.sql","timestamp":"2026-08-05T10:04:07.933Z"}
{"level":"info","message":"Applying migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-08-05T10:04:07.934Z"}
{"level":"info","message":"Migration applied: 003_ad_assets_and_view_through.sql","timestamp":"2026-08-05T10:04:07.938Z"}
{"level":"info","message":"Applying migration: 004_country_language_mapping.sql","timestamp":"2026-08-05T10:04:07.939Z"}
{"level":"info","message":"Migration applied: 004_country_language_mapping.sql","timestamp":"2026-08-05T10:04:07.950Z"}
{"level":"info","message":"Applying migration: 005_application_google_ads_customer.sql","timestamp":"2026-08-05T10:04:07.951Z"}
{"level":"info","message":"Migration applied: 005_application_google_ads_customer.sql","timestamp":"2026-08-05T10:04:07.954Z"}
{"level":"info","message":"Applying migration: 006_status_lifecycle.sql","timestamp":"2026-08-05T10:04:07.954Z"}
{"level":"info","message":"Migration applied: 006_status_lifecycle.sql","timestamp":"2026-08-05T10:04:07.958Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:04:08.095Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:04:12.479Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:04:38.097Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:04:41.979Z"}
{"level":"info","message":"Admin user ready: admin@vasundharainfotechllp.com (id: a2a02d22-eb75-43d5-9de6-e6d9499ba983)","timestamp":"2026-08-05T10:04:45.434Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:05:08.102Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:05:12.657Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:05:38.100Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:05:42.768Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:06:08.100Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:06:12.826Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:06:38.099Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:06:42.118Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:07:08.100Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:07:12.408Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:07:13.667Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:07:17.353Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:07:38.098Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:07:41.951Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:08:08.104Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:08:12.487Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:08:38.099Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:08:42.016Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:09:08.103Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:09:12.176Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:09:38.104Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:09:42.348Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:10:08.105Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:10:13.332Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:10:38.102Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:10:41.806Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:11:08.105Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:11:11.632Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:11:38.100Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:11:41.377Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:12:08.104Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:12:11.545Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:12:38.101Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:12:41.578Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:13:08.105Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:13:11.965Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:13:38.105Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:13:44.347Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:14:08.105Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:14:13.240Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:14:38.107Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:14:41.788Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:15:08.111Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:15:12.647Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:15:38.108Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:15:42.259Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:16:08.115Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:16:13.484Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:16:38.108Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:16:42.374Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:17:08.107Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:17:12.665Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:17:38.109Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:17:42.275Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:18:08.111Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:18:12.371Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:18:38.114Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:18:42.212Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:19:08.111Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:19:12.074Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:19:38.111Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:19:41.781Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:20:08.119Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:20:13.038Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:20:38.112Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:20:42.269Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:21:08.116Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:21:12.172Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:21:38.113Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:21:41.741Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:22:08.113Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:22:12.162Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:22:38.113Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:22:42.234Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:23:08.115Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:23:12.389Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:23:38.114Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:23:43.319Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:24:08.113Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:24:12.223Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:24:38.115Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:24:42.517Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:25:08.119Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:25:12.633Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:25:38.119Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:25:42.061Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:26:08.117Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:26:13.107Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:26:38.118Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:26:42.008Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:27:08.120Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:27:12.135Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:27:38.120Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:27:42.208Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:28:08.117Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:28:12.623Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:28:38.119Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:28:43.492Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:29:08.119Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:29:12.420Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:29:38.119Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:29:41.977Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:30:08.124Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:30:12.847Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:30:38.121Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:30:42.169Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:31:08.127Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:31:12.948Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:31:38.124Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:31:42.014Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:32:08.124Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:32:13.046Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:32:38.129Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:32:42.533Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:33:08.123Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:33:11.434Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:33:38.123Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:33:41.641Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:34:08.124Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:34:11.510Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:34:38.126Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:34:41.585Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:35:08.126Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:35:11.695Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:35:38.131Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:35:42.354Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:36:08.132Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:36:12.468Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:36:38.130Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:36:42.219Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:37:08.134Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:37:12.398Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:37:38.130Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:37:41.752Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:38:08.128Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:38:13.034Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:38:38.133Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:38:42.380Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:39:08.135Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:39:12.086Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:39:38.129Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:39:41.762Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:40:08.139Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:40:13.048Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:40:38.135Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:40:42.482Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:41:08.134Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:41:12.014Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:41:38.133Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:41:41.759Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:42:08.139Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:42:12.457Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:42:38.137Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:42:41.996Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:43:08.134Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:43:12.586Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:43:38.134Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:43:42.602Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:44:08.136Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:44:12.428Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:44:38.138Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:44:42.038Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:45:08.140Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:45:12.896Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:45:38.141Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:45:42.973Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:46:08.142Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:46:12.647Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:46:38.141Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:46:42.228Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:47:08.143Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:47:12.337Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:47:38.145Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:47:42.434Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:48:08.143Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:48:11.924Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:48:38.142Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:48:41.733Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:49:08.145Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:49:11.805Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:49:38.146Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:49:43.571Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:50:08.147Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:50:13.329Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:50:38.144Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:50:43.190Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:51:08.143Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:51:13.091Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:51:38.147Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:51:41.858Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:52:08.148Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:52:12.663Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:52:38.146Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:52:41.531Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:53:08.146Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:53:11.531Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:53:38.147Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:53:43.130Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:54:08.147Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:54:11.698Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:54:38.147Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:54:41.572Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:55:08.147Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:55:12.221Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:55:38.152Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:55:42.354Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:56:08.152Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:56:12.485Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:56:38.152Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:56:41.564Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:57:08.151Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:57:11.684Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:57:38.151Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:57:41.723Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:58:08.155Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:58:12.298Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:58:38.151Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:58:41.609Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:59:08.152Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:59:11.980Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T10:59:38.151Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T10:59:42.307Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T11:00:08.155Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T11:00:13.053Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T11:00:38.154Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T11:00:42.112Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-05T11:01:04.378Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-05T11:01:08.674Z"}
{"level":"error","message":"Request failed This application has no Google Ads customer ID configured. Set one on the Application card first.","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5","stack":"ApiError: This application has no Google Ads customer ID configured. Set one on the Application card first.\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at GoogleAdsService.listAppConversionActions (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:209:22)\n    at getConversionActions (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:70:41)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)","statusCode":400,"timestamp":"2026-08-05T11:04:09.238Z"}
{"level":"error","message":"Request failed This application has no Google Ads customer ID configured. Set one on the Application card first.","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5","stack":"ApiError: This application has no Google Ads customer ID configured. Set one on the Application card first.\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at GoogleAdsService.listAppConversionActions (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:209:22)\n    at getConversionActions (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:70:41)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)","statusCode":400,"timestamp":"2026-08-05T11:04:10.297Z"}
{"level":"error","message":"Request failed","method":"DELETE","path":"/api/campaigns/dc2ebbc9-4a11-48e1-89dc-5246bbe689bb","statusCode":500,"timestamp":"2026-08-05T12:05:20.396Z"}
{"level":"error","message":"Request failed Validation failed","method":"PATCH","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/google-ads-customer","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-06T03:39:57.160Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-06T04:11:36.911Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-06T04:11:42.249Z"}
{"level":"error","message":"Request failed This application has no Google Ads customer ID configured. Set one on the Application card first.","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=2ff089a9-d276-48ac-b4fd-f7a667ea8d69","stack":"ApiError: This application has no Google Ads customer ID configured. Set one on the Application card first.\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at GoogleAdsService.listAppConversionActions (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:220:22)\n    at getConversionActions (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:76:41)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)","statusCode":400,"timestamp":"2026-08-06T04:57:39.136Z"}
{"level":"error","message":"Request failed This application has no Google Ads customer ID configured. Set one on the Application card first.","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=2ff089a9-d276-48ac-b4fd-f7a667ea8d69","stack":"ApiError: This application has no Google Ads customer ID configured. Set one on the Application card first.\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at GoogleAdsService.listAppConversionActions (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:220:22)\n    at getConversionActions (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:76:41)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)","statusCode":400,"timestamp":"2026-08-06T04:57:40.191Z"}
{"level":"error","message":"Request failed Validation failed","method":"PATCH","path":"/api/applications/2ff089a9-d276-48ac-b4fd-f7a667ea8d69/google-ads-customer","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-06T05:04:53.467Z"}
{"adGroupId":"0345dcbf-322e-4eb2-9b8b-1768f302dcfa","error":"Assets are duplicated across operations. (3)","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-06T11:36:32.556Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-10T07:02:02.539Z"}
{"level":"info","message":"Skipping already-applied migration: 002_users.sql","timestamp":"2026-08-10T07:02:02.549Z"}
{"level":"info","message":"Skipping already-applied migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-08-10T07:02:02.550Z"}
{"level":"info","message":"Skipping already-applied migration: 004_country_language_mapping.sql","timestamp":"2026-08-10T07:02:02.553Z"}
{"level":"info","message":"Skipping already-applied migration: 005_application_google_ads_customer.sql","timestamp":"2026-08-10T07:02:02.553Z"}
{"level":"info","message":"Skipping already-applied migration: 006_status_lifecycle.sql","timestamp":"2026-08-10T07:02:02.553Z"}
{"level":"info","message":"Applying migration: 007_campaign_defaults.sql","timestamp":"2026-08-10T07:02:02.558Z"}
{"level":"info","message":"Migration applied: 007_campaign_defaults.sql","timestamp":"2026-08-10T07:02:02.623Z"}
{"level":"info","message":"Applying migration: 008_drop_network_settings.sql","timestamp":"2026-08-10T07:02:02.624Z"}
{"level":"info","message":"Migration applied: 008_drop_network_settings.sql","timestamp":"2026-08-10T07:02:02.642Z"}
{"level":"info","message":"Applying migration: 009_asset_intelligence.sql","timestamp":"2026-08-10T07:02:02.644Z"}
{"level":"info","message":"Migration applied: 009_asset_intelligence.sql","timestamp":"2026-08-10T07:02:02.829Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-10T07:03:36.104Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-10T07:03:55.166Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-10T07:04:01.348Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-10T07:04:13.050Z"}
{"level":"error","message":"Request failed This application has no Google Ads customer ID configured. Set one on the Application card first.","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","stack":"ApiError: This application has no Google Ads customer ID configured. Set one on the Application card first.\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at GoogleAdsService.listAppConversionActions (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:260:22)\n    at getConversionActions (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:94:41)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)","statusCode":400,"timestamp":"2026-08-10T07:15:26.057Z"}
{"level":"error","message":"Request failed This application has no Google Ads customer ID configured. Set one on the Application card first.","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","stack":"ApiError: This application has no Google Ads customer ID configured. Set one on the Application card first.\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at GoogleAdsService.listAppConversionActions (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:260:22)\n    at getConversionActions (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:94:41)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)","statusCode":400,"timestamp":"2026-08-10T07:15:27.121Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-10T10:03:10.789Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-10T10:03:16.473Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-10T13:12:55.477Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-10T13:13:51.620Z"}
{"level":"info","message":"Skipping already-applied migration: 002_users.sql","timestamp":"2026-08-10T13:13:51.622Z"}
{"level":"info","message":"Skipping already-applied migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-08-10T13:13:51.622Z"}
{"level":"info","message":"Skipping already-applied migration: 004_country_language_mapping.sql","timestamp":"2026-08-10T13:13:51.623Z"}
{"level":"info","message":"Skipping already-applied migration: 005_application_google_ads_customer.sql","timestamp":"2026-08-10T13:13:51.623Z"}
{"level":"info","message":"Skipping already-applied migration: 006_status_lifecycle.sql","timestamp":"2026-08-10T13:13:51.623Z"}
{"level":"info","message":"Skipping already-applied migration: 007_campaign_defaults.sql","timestamp":"2026-08-10T13:13:51.624Z"}
{"level":"info","message":"Skipping already-applied migration: 008_drop_network_settings.sql","timestamp":"2026-08-10T13:13:51.624Z"}
{"level":"info","message":"Skipping already-applied migration: 009_asset_intelligence.sql","timestamp":"2026-08-10T13:13:51.624Z"}
{"level":"info","message":"Applying migration: 010_application_image_assets.sql","timestamp":"2026-08-10T13:13:51.624Z"}
{"level":"info","message":"Migration applied: 010_application_image_assets.sql","timestamp":"2026-08-10T13:13:51.644Z"}
{"level":"info","message":"Applying migration: 011_ad_group_copy_history.sql","timestamp":"2026-08-10T13:13:51.644Z"}
{"level":"info","message":"Migration applied: 011_ad_group_copy_history.sql","timestamp":"2026-08-10T13:13:51.658Z"}
{"level":"info","message":"Applying migration: 012_campaign_metric_snapshots.sql","timestamp":"2026-08-10T13:13:51.658Z"}
{"level":"info","message":"Migration applied: 012_campaign_metric_snapshots.sql","timestamp":"2026-08-10T13:13:51.696Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-10T13:16:21.386Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-10T13:16:26.203Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-10T13:16:40.797Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-10T13:16:44.672Z"}
{"applicationId":"b93fb2ed-9d1c-48d6-b5fc-198249943967","customerId":"8691240190","level":"info","message":"Auto-assigned Google Ads customer ID to imported application","packageName":"com.screen.mirror.cast.share.tv.device.app","reason":"same developer as 3 existing app(s)","timestamp":"2026-08-10T13:18:33.261Z"}
{"level":"info","message":"Serving cached application metadata","packageName":"com.screen.mirror.cast.share.tv.device.app","timestamp":"2026-08-10T13:23:29.661Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-11T10:33:06.974Z"}
{"level":"error","message":"Request failed Invalid email or password","method":"POST","path":"/api/auth/login","stack":"ApiError: Invalid email or password\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at AuthService.login (/var/www/html/google-ads-automation/backend/src/services/AuthService.js:21:22)\n    at async login (/var/www/html/google-ads-automation/backend/src/controllers/authController.js:5:18)","statusCode":401,"timestamp":"2026-08-11T10:33:29.036Z"}
{"level":"error","message":"Request failed Invalid email or password","method":"POST","path":"/api/auth/login","stack":"ApiError: Invalid email or password\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at AuthService.login (/var/www/html/google-ads-automation/backend/src/services/AuthService.js:21:22)\n    at async login (/var/www/html/google-ads-automation/backend/src/controllers/authController.js:5:18)","statusCode":401,"timestamp":"2026-08-11T10:33:57.272Z"}
{"level":"error","message":"Request failed Invalid email or password","method":"POST","path":"/api/auth/login","stack":"ApiError: Invalid email or password\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at AuthService.login (/var/www/html/google-ads-automation/backend/src/services/AuthService.js:21:22)\n    at async login (/var/www/html/google-ads-automation/backend/src/controllers/authController.js:5:18)","statusCode":401,"timestamp":"2026-08-11T10:34:05.774Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-11T10:36:04.372Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/d4b93d2a-f9b3-4207-b87a-c4282186d317","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-11T13:40:41.987Z"}
{"level":"error","message":"Request failed Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","stack":"ApiError: Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-12T03:01:03.448Z"}
{"error":"the database system is shutting down","level":"error","message":"Migration failed","stack":"error: the database system is shutting down\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async runMigrations (/var/www/html/google-ads-automation/backend/src/db/migrate.js:23:18)","timestamp":"2026-08-12T09:06:36.183Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-12T09:06:54.938Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-12T09:07:00.552Z"}
{"level":"error","message":"Request failed the database system is shutting down","method":"POST","path":"/api/auth/login","stack":"error: the database system is shutting down\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async UsersRepository.findByEmail (/var/www/html/google-ads-automation/backend/src/repositories/usersRepository.js:5:22)\n    at async AuthService.login (/var/www/html/google-ads-automation/backend/src/services/AuthService.js:14:18)\n    at async login (/var/www/html/google-ads-automation/backend/src/controllers/authController.js:5:18)","statusCode":500,"timestamp":"2026-08-12T09:07:15.707Z"}
{"error":"the database system is shutting down","level":"error","message":"Failed to persist api_log entry","timestamp":"2026-08-12T09:07:15.740Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-12T09:25:21.600Z"}
{"level":"info","message":"Skipping already-applied migration: 002_users.sql","timestamp":"2026-08-12T09:25:21.603Z"}
{"level":"info","message":"Skipping already-applied migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-08-12T09:25:21.604Z"}
{"level":"info","message":"Skipping already-applied migration: 004_country_language_mapping.sql","timestamp":"2026-08-12T09:25:21.604Z"}
{"level":"info","message":"Skipping already-applied migration: 005_application_google_ads_customer.sql","timestamp":"2026-08-12T09:25:21.605Z"}
{"level":"info","message":"Skipping already-applied migration: 006_status_lifecycle.sql","timestamp":"2026-08-12T09:25:21.605Z"}
{"level":"info","message":"Skipping already-applied migration: 007_campaign_defaults.sql","timestamp":"2026-08-12T09:25:21.605Z"}
{"level":"info","message":"Skipping already-applied migration: 008_drop_network_settings.sql","timestamp":"2026-08-12T09:25:21.605Z"}
{"level":"info","message":"Skipping already-applied migration: 009_asset_intelligence.sql","timestamp":"2026-08-12T09:25:21.606Z"}
{"level":"info","message":"Skipping already-applied migration: 010_application_image_assets.sql","timestamp":"2026-08-12T09:25:21.606Z"}
{"level":"info","message":"Skipping already-applied migration: 011_ad_group_copy_history.sql","timestamp":"2026-08-12T09:25:21.606Z"}
{"level":"info","message":"Skipping already-applied migration: 012_campaign_metric_snapshots.sql","timestamp":"2026-08-12T09:25:21.607Z"}
{"level":"info","message":"Applying migration: 013_ad_group_image_assets.sql","timestamp":"2026-08-12T09:25:21.607Z"}
{"level":"info","message":"Migration applied: 013_ad_group_image_assets.sql","timestamp":"2026-08-12T09:25:21.621Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-12T09:25:51.282Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-12T09:25:56.372Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-12T09:35:56.601Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-12T09:36:05.223Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-12T09:46:17.101Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-12T09:46:23.557Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-12T09:48:21.982Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-12T10:04:35.195Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-12T10:04:40.054Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-12T11:14:30.296Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-12T11:14:37.444Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-12T11:16:01.919Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-12T11:16:10.044Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-12T11:16:45.907Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-12T11:16:50.428Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-12T11:17:13.731Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-12T11:17:19.399Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-12T23:09:33.480Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-12T23:24:50.853Z"}
{"level":"error","message":"Request failed Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","stack":"ApiError: Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-13T01:40:46.564Z"}
{"level":"error","message":"Request failed Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","stack":"ApiError: Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-14T08:06:38.046Z"}
{"campaignId":"143904ab-febb-4820-8991-37304d93dd67","error":"Invalid customer ID '8691240190'. (16)","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-14T11:57:10.387Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)","method":"POST","path":"/api/campaigns/143904ab-febb-4820-8991-37304d93dd67/create","stack":"ApiError: Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:633:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:86:18)","statusCode":502,"timestamp":"2026-08-14T11:57:10.391Z"}
{"level":"error","message":"Request failed Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"","method":"POST","path":"/api/campaigns","stack":"ApiError: Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"\n    at ApiError.conflict (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:27:12)\n    at /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:72:26\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:23:19)","statusCode":409,"timestamp":"2026-08-14T11:58:20.488Z"}
{"level":"error","message":"Request failed Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"","method":"POST","path":"/api/campaigns","stack":"ApiError: Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"\n    at ApiError.conflict (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:27:12)\n    at /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:72:26\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:23:19)","statusCode":409,"timestamp":"2026-08-14T11:58:37.676Z"}
{"campaignId":"cf2f47ab-c465-43f6-824f-0620d9b47324","error":"Invalid customer ID '8691240190'. (16)","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-14T11:58:59.380Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)","method":"POST","path":"/api/campaigns/cf2f47ab-c465-43f6-824f-0620d9b47324/create","stack":"ApiError: Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:633:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:86:18)","statusCode":502,"timestamp":"2026-08-14T11:58:59.383Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-14T12:41:31.212Z"}
{"level":"error","message":"Request failed Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"","method":"POST","path":"/api/campaigns","stack":"ApiError: Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"\n    at ApiError.conflict (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:27:12)\n    at /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:72:26\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:23:19)","statusCode":409,"timestamp":"2026-08-14T12:42:37.879Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-14T12:56:43.614Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-14T12:56:48.744Z"}
{"level":"error","message":"Request failed Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"","method":"POST","path":"/api/campaigns","stack":"ApiError: Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"\n    at ApiError.conflict (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:27:12)\n    at /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:72:26\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:23:19)","statusCode":409,"timestamp":"2026-08-14T12:58:36.413Z"}
{"level":"error","message":"Request failed Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"","method":"POST","path":"/api/campaigns","stack":"ApiError: Campaign name already exists: \"Rock Identifier: Gem & Crystal | US | EN | 14/08/2026\"\n    at ApiError.conflict (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:27:12)\n    at /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:72:26\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:23:19)","statusCode":409,"timestamp":"2026-08-14T12:59:45.712Z"}
{"campaignId":"143904ab-febb-4820-8991-37304d93dd67","error":"Invalid customer ID '8691240190'. (16)","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-14T13:01:00.975Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)","method":"POST","path":"/api/campaigns/143904ab-febb-4820-8991-37304d93dd67/create","stack":"ApiError: Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:646:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:86:18)","statusCode":502,"timestamp":"2026-08-14T13:01:00.979Z"}
{"campaignId":"cf2f47ab-c465-43f6-824f-0620d9b47324","error":"Invalid customer ID '8691240190'. (16)","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-14T13:33:51.324Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)","method":"POST","path":"/api/campaigns/cf2f47ab-c465-43f6-824f-0620d9b47324/create","stack":"ApiError: Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:646:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:86:18)","statusCode":502,"timestamp":"2026-08-14T13:33:51.327Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-14T20:39:13.967Z"}
{"campaignId":"37b1b77b-1c94-49fc-9738-800811cf4f06","error":"Invalid customer ID '8691240190'. (16)","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-15T04:13:55.914Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)","method":"POST","path":"/api/campaigns/37b1b77b-1c94-49fc-9738-800811cf4f06/create","stack":"ApiError: Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:646:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:86:18)","statusCode":502,"timestamp":"2026-08-15T04:13:55.917Z"}
{"level":"error","message":"Request failed Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","stack":"ApiError: Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-16T15:14:01.451Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-16T16:47:44.713Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-16T17:02:42.665Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-17T03:29:37.819Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/143904ab-febb-4820-8991-37304d93dd67","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-17T04:02:12.879Z"}
{"campaignId":"143904ab-febb-4820-8991-37304d93dd67","error":"Invalid customer ID '8691240190'. (16)","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-17T04:10:48.365Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)","method":"POST","path":"/api/campaigns/143904ab-febb-4820-8991-37304d93dd67/create","stack":"ApiError: Google Ads campaign creation failed: Invalid customer ID '8691240190'. (16)\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:646:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:86:18)","statusCode":502,"timestamp":"2026-08-17T04:10:48.368Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-17T04:48:15.715Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-17T04:48:23.368Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-17T04:53:21.314Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-17T04:53:25.046Z"}
{"applicationId":"c7c15487-a0fa-4b63-8f68-41f86a2153fd","customerId":"6891608445","level":"info","message":"Auto-assigned Google Ads customer ID to imported application","packageName":"com.smart.tv.cast.remote.control","reason":"same developer as 2 existing app(s)","timestamp":"2026-08-17T06:38:11.376Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:43:26.316Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:43:28.136Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:43:31.082Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:43:53.700Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:43:54.684Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:43:55.442Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:43:55.858Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:43:56.299Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:43:56.818Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:44:58.949Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:44:59.942Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T06:45:00.640Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-17T06:52:52.361Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-17T06:52:52.497Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/b93fb2ed-9d1c-48d6-b5fc-198249943967/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T07:05:17.232Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/b93fb2ed-9d1c-48d6-b5fc-198249943967/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T07:05:18.849Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/b93fb2ed-9d1c-48d6-b5fc-198249943967/keywords","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-17T07:05:37.296Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-17T07:14:09.156Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-17T07:14:14.457Z"}
{"level":"error","message":"Request failed Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","stack":"ApiError: Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-17T12:07:46.022Z"}
{"applicationId":"9e394d97-9938-473a-8ce4-fe245100285f","customerId":"6891608445","level":"info","message":"Auto-assigned Google Ads customer ID to imported application","packageName":"gps.speedometer.odometer.speed.tracker.hud","reason":"same developer as 3 existing app(s)","timestamp":"2026-08-17T13:36:59.029Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-18T03:51:23.750Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-18T04:39:57.201Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-18T04:40:03.050Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T04:48:50.427Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T04:48:51.474Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-18T05:02:42.245Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:02:45.125Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:02:46.185Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:05:15.260Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:05:15.269Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:05:16.310Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:05:16.334Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:21:17.692Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:21:17.734Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:21:18.755Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:21:18.780Z"}
{"level":"error","message":"Request failed Unexpected token 'n', \"null\" is not valid JSON","method":"POST","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generate-assets?languageCode=en","stack":"SyntaxError: Unexpected token 'n', \"null\" is not valid JSON\n    at JSON.parse (<anonymous>)\n    at createStrictSyntaxError (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:169:10)\n    at parse (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:90:15)\n    at /var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/read.js:128:18\n    at AsyncResource.runInAsyncScope (node:async_hooks:214:14)\n    at invokeCallback (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:238:16)\n    at done (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:227:7)\n    at IncomingMessage.onEnd (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:287:7)\n    at IncomingMessage.emit (node:events:508:28)\n    at endReadableNT (node:internal/streams/readable:1701:12)","statusCode":500,"timestamp":"2026-08-18T05:21:25.801Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:21:37.250Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:21:37.271Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:21:38.295Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:21:38.312Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:21:59.880Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:21:59.899Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:22:00.937Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:22:00.954Z"}
{"level":"error","message":"Request failed Unexpected token 'n', \"null\" is not valid JSON","method":"POST","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generate-assets?languageCode=en","stack":"SyntaxError: Unexpected token 'n', \"null\" is not valid JSON\n    at JSON.parse (<anonymous>)\n    at createStrictSyntaxError (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:169:10)\n    at parse (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:90:15)\n    at /var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/read.js:128:18\n    at AsyncResource.runInAsyncScope (node:async_hooks:214:14)\n    at invokeCallback (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:238:16)\n    at done (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:227:7)\n    at IncomingMessage.onEnd (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:287:7)\n    at IncomingMessage.emit (node:events:508:28)\n    at endReadableNT (node:internal/streams/readable:1701:12)","statusCode":500,"timestamp":"2026-08-18T05:22:02.527Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:22:54.248Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:22:55.322Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:22:56.196Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:22:57.257Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&adGroupCount=1&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:23:05.184Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:23:05.196Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:23:06.253Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&adGroupCount=1&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:23:06.262Z"}
{"level":"error","message":"Request failed Unexpected token 'n', \"null\" is not valid JSON","method":"POST","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generate-assets?languageCode=en","stack":"SyntaxError: Unexpected token 'n', \"null\" is not valid JSON\n    at JSON.parse (<anonymous>)\n    at createStrictSyntaxError (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:169:10)\n    at parse (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:90:15)\n    at /var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/read.js:128:18\n    at AsyncResource.runInAsyncScope (node:async_hooks:214:14)\n    at invokeCallback (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:238:16)\n    at done (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:227:7)\n    at IncomingMessage.onEnd (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:287:7)\n    at IncomingMessage.emit (node:events:508:28)\n    at endReadableNT (node:internal/streams/readable:1701:12)","statusCode":500,"timestamp":"2026-08-18T05:23:07.315Z"}
{"level":"error","message":"Request failed Unexpected token 'n', \"null\" is not valid JSON","method":"POST","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generate-assets?languageCode=en","stack":"SyntaxError: Unexpected token 'n', \"null\" is not valid JSON\n    at JSON.parse (<anonymous>)\n    at createStrictSyntaxError (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:169:10)\n    at parse (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:90:15)\n    at /var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/read.js:128:18\n    at AsyncResource.runInAsyncScope (node:async_hooks:214:14)\n    at invokeCallback (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:238:16)\n    at done (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:227:7)\n    at IncomingMessage.onEnd (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:287:7)\n    at IncomingMessage.emit (node:events:508:28)\n    at endReadableNT (node:internal/streams/readable:1701:12)","statusCode":500,"timestamp":"2026-08-18T05:23:15.053Z"}
{"level":"error","message":"Request failed Unexpected token 'n', \"null\" is not valid JSON","method":"POST","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generate-assets?languageCode=en","stack":"SyntaxError: Unexpected token 'n', \"null\" is not valid JSON\n    at JSON.parse (<anonymous>)\n    at createStrictSyntaxError (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:169:10)\n    at parse (/var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/types/json.js:90:15)\n    at /var/www/html/google-ads-automation/backend/node_modules/body-parser/lib/read.js:128:18\n    at AsyncResource.runInAsyncScope (node:async_hooks:214:14)\n    at invokeCallback (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:238:16)\n    at done (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:227:7)\n    at IncomingMessage.onEnd (/var/www/html/google-ads-automation/backend/node_modules/raw-body/index.js:287:7)\n    at IncomingMessage.emit (node:events:508:28)\n    at endReadableNT (node:internal/streams/readable:1701:12)","statusCode":500,"timestamp":"2026-08-18T05:23:21.968Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:23:24.588Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:23:24.608Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:23:25.631Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:23:25.650Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"POST","path":"/api/campaigns/preview","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async loadAiAssetsCached (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:232:46)\n    at async CampaignPlanningService.buildPlan (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:272:26)\n    at async CampaignService.preview (/var/www/html/google-ads-automation/backend/src/services/CampaignService.js:35:51)\n    at async previewCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:15:19)","statusCode":500,"timestamp":"2026-08-18T05:23:39.341Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:28:55.916Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:28:56.964Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:28:58.125Z"}
{"level":"error","message":"Request failed relation \"campaign_templates\" does not exist","method":"GET","path":"/api/campaign-templates","stack":"error: relation \"campaign_templates\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async CampaignTemplatesRepository.list (/var/www/html/google-ads-automation/backend/src/repositories/campaignTemplatesRepository.js:15:22)\n    at async listCampaignTemplates (/var/www/html/google-ads-automation/backend/src/controllers/campaignTemplateController.js:14:21)","statusCode":500,"timestamp":"2026-08-18T05:28:59.231Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&adGroupCount=1&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:29:14.338Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:29:14.359Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&adGroupCount=1&languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async CampaignPlanningService._loadAiAssets (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:98:15)\n    at async CampaignPlanningService.previewAdCopy (/var/www/html/google-ads-automation/backend/src/services/CampaignPlanningService.js:180:22)\n    at async previewAdCopy (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:21:20)","statusCode":500,"timestamp":"2026-08-18T05:29:15.399Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generated-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async getLatestAssetSet (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:51:15)","statusCode":500,"timestamp":"2026-08-18T05:29:15.425Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"POST","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generate-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async Promise.all (index 2)\n    at async AiAssetGenerationService.generate (/var/www/html/google-ads-automation/backend/src/services/AiAssetGenerationService.js:202:50)\n    at async generateAssets (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:42:15)","statusCode":500,"timestamp":"2026-08-18T05:29:20.807Z"}
{"level":"error","message":"Request failed column \"language_code\" does not exist","method":"POST","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generate-assets?languageCode=en","stack":"error: column \"language_code\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async GeneratedAssetSetsRepository.findLatestByApplication (/var/www/html/google-ads-automation/backend/src/repositories/generatedAssetSetsRepository.js:27:22)\n    at async Promise.all (index 2)\n    at async AiAssetGenerationService.generate (/var/www/html/google-ads-automation/backend/src/services/AiAssetGenerationService.js:202:50)\n    at async generateAssets (/var/www/html/google-ads-automation/backend/src/controllers/intelligenceController.js:42:15)","statusCode":500,"timestamp":"2026-08-18T05:29:57.662Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-18T05:31:37.461Z"}
{"level":"info","message":"Skipping already-applied migration: 002_users.sql","timestamp":"2026-08-18T05:31:37.465Z"}
{"level":"info","message":"Skipping already-applied migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-08-18T05:31:37.465Z"}
{"level":"info","message":"Skipping already-applied migration: 004_country_language_mapping.sql","timestamp":"2026-08-18T05:31:37.465Z"}
{"level":"info","message":"Skipping already-applied migration: 005_application_google_ads_customer.sql","timestamp":"2026-08-18T05:31:37.466Z"}
{"level":"info","message":"Skipping already-applied migration: 006_status_lifecycle.sql","timestamp":"2026-08-18T05:31:37.466Z"}
{"level":"info","message":"Skipping already-applied migration: 007_campaign_defaults.sql","timestamp":"2026-08-18T05:31:37.467Z"}
{"level":"info","message":"Skipping already-applied migration: 008_drop_network_settings.sql","timestamp":"2026-08-18T05:31:37.467Z"}
{"level":"info","message":"Skipping already-applied migration: 009_asset_intelligence.sql","timestamp":"2026-08-18T05:31:37.467Z"}
{"level":"info","message":"Skipping already-applied migration: 010_application_image_assets.sql","timestamp":"2026-08-18T05:31:37.468Z"}
{"level":"info","message":"Skipping already-applied migration: 011_ad_group_copy_history.sql","timestamp":"2026-08-18T05:31:37.468Z"}
{"level":"info","message":"Skipping already-applied migration: 012_campaign_metric_snapshots.sql","timestamp":"2026-08-18T05:31:37.468Z"}
{"level":"info","message":"Skipping already-applied migration: 013_ad_group_image_assets.sql","timestamp":"2026-08-18T05:31:37.469Z"}
{"level":"info","message":"Applying migration: 014_created_by_user_id.sql","timestamp":"2026-08-18T05:31:37.469Z"}
{"level":"info","message":"Migration applied: 014_created_by_user_id.sql","timestamp":"2026-08-18T05:31:37.537Z"}
{"level":"info","message":"Applying migration: 015_google_ads_account_candidates.sql","timestamp":"2026-08-18T05:31:37.538Z"}
{"level":"info","message":"Migration applied: 015_google_ads_account_candidates.sql","timestamp":"2026-08-18T05:31:37.541Z"}
{"level":"info","message":"Applying migration: 016_video_assets.sql","timestamp":"2026-08-18T05:31:37.541Z"}
{"level":"info","message":"Migration applied: 016_video_assets.sql","timestamp":"2026-08-18T05:31:37.569Z"}
{"level":"info","message":"Applying migration: 017_generated_asset_sets_language.sql","timestamp":"2026-08-18T05:31:37.569Z"}
{"level":"info","message":"Migration applied: 017_generated_asset_sets_language.sql","timestamp":"2026-08-18T05:31:37.576Z"}
{"level":"info","message":"Applying migration: 018_campaign_templates.sql","timestamp":"2026-08-18T05:31:37.576Z"}
{"level":"info","message":"Migration applied: 018_campaign_templates.sql","timestamp":"2026-08-18T05:31:37.589Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-18T05:31:44.553Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-18T05:31:50.107Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T06:36:40.544Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T06:37:10.348Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T06:40:53.391Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T06:41:06.302Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T06:44:37.678Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T06:44:40.507Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T06:49:49.906Z"}
{"level":"error","message":"Request failed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status","statusCode":500,"timestamp":"2026-08-18T06:50:08.194Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T06:57:56.422Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T08:32:32.247Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T08:36:36.752Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T08:37:25.578Z"}
{"level":"error","message":"Request failed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status","statusCode":500,"timestamp":"2026-08-18T09:48:03.657Z"}
{"level":"error","message":"Request failed duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns","stack":"error: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at /var/www/html/google-ads-automation/backend/node_modules/pg/lib/client.js:652:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async CampaignsRepository.create (/var/www/html/google-ads-automation/backend/src/repositories/campaignsRepository.js:5:22)\n    at async /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:96:31\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":500,"timestamp":"2026-08-18T10:42:19.351Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-18T10:44:49.472Z"}
{"level":"info","message":"Skipping already-applied migration: 002_users.sql","timestamp":"2026-08-18T10:44:49.474Z"}
{"level":"info","message":"Skipping already-applied migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-08-18T10:44:49.474Z"}
{"level":"info","message":"Skipping already-applied migration: 004_country_language_mapping.sql","timestamp":"2026-08-18T10:44:49.475Z"}
{"level":"info","message":"Skipping already-applied migration: 005_application_google_ads_customer.sql","timestamp":"2026-08-18T10:44:49.475Z"}
{"level":"info","message":"Skipping already-applied migration: 006_status_lifecycle.sql","timestamp":"2026-08-18T10:44:49.475Z"}
{"level":"info","message":"Skipping already-applied migration: 007_campaign_defaults.sql","timestamp":"2026-08-18T10:44:49.475Z"}
{"level":"info","message":"Skipping already-applied migration: 008_drop_network_settings.sql","timestamp":"2026-08-18T10:44:49.475Z"}
{"level":"info","message":"Skipping already-applied migration: 009_asset_intelligence.sql","timestamp":"2026-08-18T10:44:49.475Z"}
{"level":"info","message":"Skipping already-applied migration: 010_application_image_assets.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Skipping already-applied migration: 011_ad_group_copy_history.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Skipping already-applied migration: 012_campaign_metric_snapshots.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Skipping already-applied migration: 013_ad_group_image_assets.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Skipping already-applied migration: 014_created_by_user_id.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Skipping already-applied migration: 015_google_ads_account_candidates.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Skipping already-applied migration: 016_video_assets.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Skipping already-applied migration: 017_generated_asset_sets_language.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Skipping already-applied migration: 018_campaign_templates.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Applying migration: 019_drop_country_language_mapping.sql","timestamp":"2026-08-18T10:44:49.476Z"}
{"level":"info","message":"Migration applied: 019_drop_country_language_mapping.sql","timestamp":"2026-08-18T10:44:49.485Z"}
{"level":"info","message":"Applying migration: 020_fix_campaign_name_uniqueness.sql","timestamp":"2026-08-18T10:44:49.486Z"}
{"level":"info","message":"Migration applied: 020_fix_campaign_name_uniqueness.sql","timestamp":"2026-08-18T10:44:49.493Z"}
{"campaignId":"b1dea752-beec-4e84-b980-498e3be0319e","error":"duplicate key value violates unique constraint \"uq_campaign_name\"","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-18T10:46:10.081Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/create","stack":"ApiError: Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:762:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:147:18)","statusCode":502,"timestamp":"2026-08-18T10:46:10.084Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-18T10:46:34.831Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-18T10:46:38.454Z"}
{"campaignId":"b1dea752-beec-4e84-b980-498e3be0319e","campaignResourceName":"customers/6891608445/campaigns/24149315918","level":"warn","message":"Adopting pre-existing Google Ads campaign found by name","timestamp":"2026-08-18T10:46:52.475Z"}
{"adGroupId":"01f4b8e6-8a7a-40f3-8ae4-8bba58777926","level":"warn","message":"Adopting pre-existing Google Ads ad group found by name","resourceName":"customers/6891608445/adGroups/202409481827","timestamp":"2026-08-18T10:46:54.460Z"}
{"adGroupId":"01f4b8e6-8a7a-40f3-8ae4-8bba58777926","error":"The operation is not allowed for removed resources. (3)","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-18T10:46:55.560Z"}
{"campaignId":"b1dea752-beec-4e84-b980-498e3be0319e","error":"duplicate key value violates unique constraint \"uq_campaign_name\"","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-18T10:46:55.564Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/create","stack":"ApiError: Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:762:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:147:18)","statusCode":502,"timestamp":"2026-08-18T10:46:55.567Z"}
{"level":"error","message":"Request failed Campaign name already exists: \"Flirty Messages & Pickup Lines | US | EN | 18/08/2026\"","method":"POST","path":"/api/campaigns","stack":"ApiError: Campaign name already exists: \"Flirty Messages & Pickup Lines | US | EN | 18/08/2026\"\n    at ApiError.conflict (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:27:12)\n    at /var/www/html/google-ads-automation/backend/src/services/CampaignService.js:90:28\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async withTransaction (/var/www/html/google-ads-automation/backend/src/config/db.js:39:20)\n    at async createCampaigns (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:44:19)","statusCode":409,"timestamp":"2026-08-18T10:46:57.091Z"}
{"level":"error","message":"Request failed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status","statusCode":500,"timestamp":"2026-08-18T10:47:09.142Z"}
{"campaignId":"b1dea752-beec-4e84-b980-498e3be0319e","error":"duplicate key value violates unique constraint \"uq_campaign_name\"","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-18T10:48:03.164Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/create","stack":"ApiError: Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:762:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:147:18)","statusCode":502,"timestamp":"2026-08-18T10:48:03.182Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-18T10:49:04.810Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-18T10:49:17.396Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-18T10:49:21.196Z"}
{"campaignId":"b1dea752-beec-4e84-b980-498e3be0319e","campaignResourceName":"customers/6891608445/campaigns/24149315918","level":"warn","message":"Adopting pre-existing Google Ads campaign found by name","timestamp":"2026-08-18T10:49:54.412Z"}
{"adGroupId":"6483cb16-dbbe-4992-9a64-a995dba44033","level":"warn","message":"Adopting pre-existing Google Ads ad group found by name","resourceName":"customers/6891608445/adGroups/202409481827","timestamp":"2026-08-18T10:49:56.137Z"}
{"adGroupId":"6483cb16-dbbe-4992-9a64-a995dba44033","error":"The operation is not allowed for removed resources. (3)","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-18T10:49:57.308Z"}
{"campaignId":"b1dea752-beec-4e84-b980-498e3be0319e","error":"duplicate key value violates unique constraint \"uq_campaign_name\"","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-18T10:49:57.318Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/create","stack":"ApiError: Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:762:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:147:18)","statusCode":502,"timestamp":"2026-08-18T10:49:57.329Z"}
{"campaignId":"e10dde9a-e618-4fc9-afcf-ff8abd810ea2","error":"duplicate key value violates unique constraint \"uq_campaign_name\"","level":"error","message":"Campaign creation failed in Google Ads","timestamp":"2026-08-18T10:53:53.690Z"}
{"level":"error","message":"Request failed Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"","method":"POST","path":"/api/campaigns/e10dde9a-e618-4fc9-afcf-ff8abd810ea2/create","stack":"ApiError: Google Ads campaign creation failed: duplicate key value violates unique constraint \"uq_campaign_name\"\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.createCampaign (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:762:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async createInGoogleAds (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:147:18)","statusCode":502,"timestamp":"2026-08-18T10:53:53.697Z"}
{"alternates":[{"accountName":"pipaliyachirag","customerId":"8691240190"}],"level":"info","message":"Multiple Google Ads accounts already advertise this package name; picked the most active one","packageName":"com.web.messenger.dual.chat","selected":{"accountName":"Sachin","customerId":"2272118756"},"timestamp":"2026-08-18T10:55:26.933Z"}
{"accountName":"Sachin","alternateAccounts":[{"accountName":"pipaliyachirag","customerId":"8691240190"}],"applicationId":"28b14b67-527e-4532-80ac-f092eb9ad50c","customerId":"2272118756","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"com.web.messenger.dual.chat","timestamp":"2026-08-18T10:55:26.940Z"}
{"level":"error","message":"Request failed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status","statusCode":500,"timestamp":"2026-08-18T10:56:06.864Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-18T11:02:13.740Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-18T11:05:49.567Z"}
{"level":"info","message":"Skipping already-applied migration: 002_users.sql","timestamp":"2026-08-18T11:05:49.570Z"}
{"level":"info","message":"Skipping already-applied migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-08-18T11:05:49.570Z"}
{"level":"info","message":"Skipping already-applied migration: 004_country_language_mapping.sql","timestamp":"2026-08-18T11:05:49.570Z"}
{"level":"info","message":"Skipping already-applied migration: 005_application_google_ads_customer.sql","timestamp":"2026-08-18T11:05:49.571Z"}
{"level":"info","message":"Skipping already-applied migration: 006_status_lifecycle.sql","timestamp":"2026-08-18T11:05:49.571Z"}
{"level":"info","message":"Skipping already-applied migration: 007_campaign_defaults.sql","timestamp":"2026-08-18T11:05:49.571Z"}
{"level":"info","message":"Skipping already-applied migration: 008_drop_network_settings.sql","timestamp":"2026-08-18T11:05:49.571Z"}
{"level":"info","message":"Skipping already-applied migration: 009_asset_intelligence.sql","timestamp":"2026-08-18T11:05:49.571Z"}
{"level":"info","message":"Skipping already-applied migration: 010_application_image_assets.sql","timestamp":"2026-08-18T11:05:49.572Z"}
{"level":"info","message":"Skipping already-applied migration: 011_ad_group_copy_history.sql","timestamp":"2026-08-18T11:05:49.572Z"}
{"level":"info","message":"Skipping already-applied migration: 012_campaign_metric_snapshots.sql","timestamp":"2026-08-18T11:05:49.572Z"}
{"level":"info","message":"Skipping already-applied migration: 013_ad_group_image_assets.sql","timestamp":"2026-08-18T11:05:49.572Z"}
{"level":"info","message":"Skipping already-applied migration: 014_created_by_user_id.sql","timestamp":"2026-08-18T11:05:49.572Z"}
{"level":"info","message":"Skipping already-applied migration: 015_google_ads_account_candidates.sql","timestamp":"2026-08-18T11:05:49.572Z"}
{"level":"info","message":"Skipping already-applied migration: 016_video_assets.sql","timestamp":"2026-08-18T11:05:49.572Z"}
{"level":"info","message":"Skipping already-applied migration: 017_generated_asset_sets_language.sql","timestamp":"2026-08-18T11:05:49.573Z"}
{"level":"info","message":"Skipping already-applied migration: 018_campaign_templates.sql","timestamp":"2026-08-18T11:05:49.573Z"}
{"level":"info","message":"Skipping already-applied migration: 019_drop_country_language_mapping.sql","timestamp":"2026-08-18T11:05:49.573Z"}
{"level":"info","message":"Skipping already-applied migration: 020_fix_campaign_name_uniqueness.sql","timestamp":"2026-08-18T11:05:49.573Z"}
{"level":"info","message":"Applying migration: 021_exclude_removed_from_campaign_name_uniqueness.sql","timestamp":"2026-08-18T11:05:49.573Z"}
{"level":"info","message":"Migration applied: 021_exclude_removed_from_campaign_name_uniqueness.sql","timestamp":"2026-08-18T11:05:49.586Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-18T11:05:56.753Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-18T11:06:00.743Z"}
{"campaignId":"b1dea752-beec-4e84-b980-498e3be0319e","campaignResourceName":"customers/6891608445/campaigns/24149315918","level":"warn","message":"Adopting pre-existing Google Ads campaign found by name","timestamp":"2026-08-18T11:06:24.596Z"}
{"adGroupId":"2f1cd3e3-228e-4e40-b9e9-b279efa143b5","level":"warn","message":"Adopting pre-existing Google Ads ad group found by name","resourceName":"customers/6891608445/adGroups/202409481827","timestamp":"2026-08-18T11:06:26.543Z"}
{"adGroupId":"2f1cd3e3-228e-4e40-b9e9-b279efa143b5","error":"The operation is not allowed for removed resources. (3)","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-18T11:06:27.949Z"}
{"level":"error","message":"Request failed","method":"PATCH","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/status","statusCode":500,"timestamp":"2026-08-18T11:06:37.176Z"}
{"level":"error","message":"Request failed","method":"PATCH","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/status","statusCode":500,"timestamp":"2026-08-18T11:06:55.929Z"}
{"level":"error","message":"Request failed","method":"PATCH","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/status","statusCode":500,"timestamp":"2026-08-18T11:07:04.768Z"}
{"level":"error","message":"Request failed","method":"PATCH","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/status","statusCode":500,"timestamp":"2026-08-18T11:07:13.799Z"}
{"level":"error","message":"Request failed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status","statusCode":500,"timestamp":"2026-08-18T11:31:28.098Z"}
{"level":"error","message":"Request failed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status","statusCode":500,"timestamp":"2026-08-18T11:31:52.475Z"}
{"campaignId":"b5703884-2632-456e-a438-3cdec3aa192c","error":"Parser cannot parse input: expected a value","level":"error","message":"Asset metrics sync failed for one period","period":"LAST_14_DAYS","timestamp":"2026-08-18T11:32:10.508Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-18T13:04:38.595Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-18T13:04:42.720Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:04:59 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:04:59.678Z"}
{"executionTimeMs":95,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-18T13:04:59.679Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:04:59 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:04:59.686Z"}
{"executionTimeMs":48,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-18T13:04:59.686Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:05:01 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:05:01.126Z"}
{"executionTimeMs":1520,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-18T13:05:01.126Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:05:01 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:05:01.413Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-18T13:05:01.413Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:05:01 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:05:01.455Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-18T13:05:01.455Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:05:02 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-18T13:05:02.684Z"}
{"executionTimeMs":1280,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-18T13:05:02.686Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:07 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:07.653Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-18T13:06:07.654Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:07 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:07.685Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-18T13:06:07.686Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:08 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:08.893Z"}
{"executionTimeMs":1216,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-18T13:06:08.893Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:11 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:11.332Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-18T13:06:11.333Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:11 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:11.336Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-18T13:06:11.336Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:11 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:11.341Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-18T13:06:11.342Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:11 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:11.372Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-18T13:06:11.373Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:12 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:12.304Z"}
{"executionTimeMs":849,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":304,"timestamp":"2026-08-18T13:06:12.304Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:12 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:12.445Z"}
{"executionTimeMs":988,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":304,"timestamp":"2026-08-18T13:06:12.446Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:45 +0000] \"POST /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generate-assets?languageCode=en&descriptionMaxLength=30 HTTP/1.1\" 201 11136 \"http://143.110.241.90:5173/\" \"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-18T13:06:45.254Z"}
{"executionTimeMs":7086,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generate-assets?languageCode=en&descriptionMaxLength=30","statusCode":201,"timestamp":"2026-08-18T13:06:45.255Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:56 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:06:56.554Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-18T13:06:56.555Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:06:56 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2591 \"http://143.110.241.90:5173/\" \"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-18T13:06:56.602Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-18T13:06:56.602Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:07:02 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 2965 \"http://143.110.241.90:5173/\" \"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-18T13:07:02.864Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-18T13:07:02.865Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:07:06 +0000] \"POST /api/campaigns HTTP/1.1\" 201 950 \"http://143.110.241.90:5173/\" \"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-18T13:07:06.916Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-18T13:07:06.916Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:07:37 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-18T13:07:37.942Z"}
{"executionTimeMs":30934,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/create","statusCode":200,"timestamp":"2026-08-18T13:07:37.942Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:07:38 +0000] \"GET /api/campaigns HTTP/1.1\" 200 46438 \"http://143.110.241.90:5173/\" \"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-18T13:07:38.156Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-18T13:07:38.156Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:08:18 +0000] \"GET /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135 HTTP/1.1\" 200 4358 \"http://143.110.241.90:5173/\" \"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-18T13:08:18.599Z"}
{"executionTimeMs":43,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135","statusCode":200,"timestamp":"2026-08-18T13:08:18.599Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:08:19 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:08:19.875Z"}
{"executionTimeMs":1190,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-18T13:08:19.876Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:02 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-18T13:09:02.723Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/image-assets","statusCode":200,"timestamp":"2026-08-18T13:09:02.723Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:02 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/video-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-18T13:09:02.730Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/video-assets","statusCode":200,"timestamp":"2026-08-18T13:09:02.730Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:02 +0000] \"GET /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:09:02.741Z"}
{"executionTimeMs":49,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135","statusCode":304,"timestamp":"2026-08-18T13:09:02.742Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:05 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:09:05.890Z"}
{"executionTimeMs":3064,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":304,"timestamp":"2026-08-18T13:09:05.891Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:14 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:09:14.631Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-18T13:09:14.631Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:14 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:09:14.643Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-18T13:09:14.643Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:15 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-18T13:09:15.760Z"}
{"executionTimeMs":1145,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-18T13:09:15.761Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:25 +0000] \"PATCH /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/google-ads-customer HTTP/1.1\" 200 694 \"http://143.110.241.90:5173/\" \"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-18T13:09:25.177Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/google-ads-customer","statusCode":200,"timestamp":"2026-08-18T13:09:25.178Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:26 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-18T13:09:26.082Z"}
{"executionTimeMs":787,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-18T13:09:26.082Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [18/Aug/2026:13:09:26 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 1635 \"http://143.110.241.90:5173/\" \"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-18T13:09:26.127Z"}
{"executionTimeMs":866,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-18T13:09:26.128Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-18T13:46:38.182Z"}
{"level":"http","message":"::ffff:85.217.149.44 - - [18/Aug/2026:13:46:38 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-18T13:46:38.186Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-18T13:46:38.186Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-18T14:02:43.433Z"}
{"level":"http","message":"::ffff:85.217.149.12 - - [18/Aug/2026:14:02:43 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-18T14:02:43.434Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-18T14:02:43.434Z"}
{"level":"error","message":"Request failed Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","stack":"ApiError: Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-18T23:32:14.048Z"}
{"level":"http","message":"::ffff:5.61.209.224 - - [18/Aug/2026:23:32:14 +0000] \"GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1\" 404 104 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0\"","timestamp":"2026-08-18T23:32:14.050Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","statusCode":404,"timestamp":"2026-08-18T23:32:14.050Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:03:52:22 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-19T03:52:22.966Z"}
{"executionTimeMs":1516,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-19T03:52:22.967Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-19T04:40:05.755Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:40:05 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-19T04:40:05.759Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-08-19T04:40:05.759Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-19T04:40:05.768Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:40:05 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-19T04:40:05.772Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-08-19T04:40:05.776Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-19T04:40:05.786Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:40:05 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-19T04:40:05.789Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-08-19T04:40:05.789Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:40:09 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-19T04:40:09.601Z"}
{"executionTimeMs":536,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-19T04:40:09.601Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:40:09 +0000] \"GET /api/applications HTTP/1.1\" 200 6267 \"http://143.110.241.90:5173/\" \"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-19T04:40:09.703Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-19T04:40:09.703Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:40:09 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T04:40:09.709Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-19T04:40:09.710Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:40:10 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-19T04:40:10.929Z"}
{"executionTimeMs":1247,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-19T04:40:10.930Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:40:11 +0000] \"GET /api/campaigns HTTP/1.1\" 200 46438 \"http://143.110.241.90:5173/\" \"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-19T04:40:11.050Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T04:40:11.051Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:41:29 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T04:41:29.632Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-19T04:41:29.633Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:41:29 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T04:41:29.639Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-19T04:41:29.640Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:41:29 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T04:41:29.651Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-19T04:41:29.651Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:41:29 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T04:41:29.653Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-19T04:41:29.654Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:41:30 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 1635 \"http://143.110.241.90:5173/\" \"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-19T04:41:30.613Z"}
{"executionTimeMs":867,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T04:41:30.613Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:41:30 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-19T04:41:30.781Z"}
{"executionTimeMs":1037,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T04:41:30.781Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:41:39 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T04:41:39.052Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-19T04:41:39.052Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:41:39 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=1&languageCode=en HTTP/1.1\" 200 514 \"http://143.110.241.90:5173/\" \"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-19T04:41:39.062Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-19T04:41:39.062Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:41:39 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en HTTP/1.1\" 200 11136 \"http://143.110.241.90:5173/\" \"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-19T04:41:39.069Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-19T04:41:39.069Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:43:20 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T04:43:20.859Z"}
{"executionTimeMs":34,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-19T04:43:20.860Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:43:20 +0000] \"GET /api/applications HTTP/1.1\" 200 6267 \"http://143.110.241.90:5173/\" \"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-19T04:43:20.866Z"}
{"executionTimeMs":44,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-19T04:43:20.867Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:04:43:22 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-19T04:43:22.204Z"}
{"executionTimeMs":1376,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-19T04:43:22.205Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:11:29 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:11:29.606Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T05:11:29.606Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:11:30 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:11:30.828Z"}
{"executionTimeMs":1251,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T05:11:30.829Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:11:37 +0000] \"GET /api/campaigns HTTP/1.1\" 200 46438 \"http://143.110.241.90:5173/\" \"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-19T05:11:37.521Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T05:11:37.521Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:12:41 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:12:41.753Z"}
{"executionTimeMs":1186,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T05:12:41.753Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:13:44 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:13:44.413Z"}
{"executionTimeMs":42,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T05:13:44.414Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:13:55 +0000] \"GET /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135 HTTP/1.1\" 200 4358 \"http://143.110.241.90:5173/\" \"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-19T05:13:55.845Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135","statusCode":200,"timestamp":"2026-08-19T05:13:55.845Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:13:57 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:13:57.200Z"}
{"executionTimeMs":1250,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T05:13:57.201Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:14:22 +0000] \"GET /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics HTTP/1.1\" 200 107 \"http://143.110.241.90:5173/\" \"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-19T05:14:22.888Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics","statusCode":200,"timestamp":"2026-08-19T05:14:22.889Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:14:22 +0000] \"GET /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T05:14:22.900Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/assets","statusCode":200,"timestamp":"2026-08-19T05:14:22.901Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:14:37 +0000] \"GET /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/copy-history HTTP/1.1\" 200 3494 \"http://143.110.241.90:5173/\" \"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-19T05:14:37.884Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/copy-history","statusCode":200,"timestamp":"2026-08-19T05:14:37.885Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:14:37 +0000] \"GET /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/logs HTTP/1.1\" 200 9181 \"http://143.110.241.90:5173/\" \"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-19T05:14:37.994Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/logs","statusCode":200,"timestamp":"2026-08-19T05:14:37.995Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:14:57 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:14:57.502Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-19T05:14:57.502Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:14:57 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:14:57.525Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T05:14:57.526Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:14:58 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:14:58.730Z"}
{"executionTimeMs":1225,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T05:14:58.731Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:15:58 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-19T05:15:58.426Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-19T05:15:58.426Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:15:58 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-19T05:15:58.428Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-19T05:15:58.428Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:15:58 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-19T05:15:58.429Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-19T05:15:58.430Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:15:58 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-19T05:15:58.448Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-19T05:15:58.449Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:15:59 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 1635 \"http://143.110.241.90:5173/\" \"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-19T05:15:59.382Z"}
{"executionTimeMs":848,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T05:15:59.382Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:15:59 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-19T05:15:59.763Z"}
{"executionTimeMs":1236,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T05:15:59.763Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:16:41 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-19T05:16:41.263Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-19T05:16:41.263Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:16:41 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=1&languageCode=en HTTP/1.1\" 200 514 \"http://143.110.241.90:5173/\" \"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-19T05:16:41.286Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-19T05:16:41.286Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:16:41 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en HTTP/1.1\" 200 11136 \"http://143.110.241.90:5173/\" \"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-19T05:16:41.288Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-19T05:16:41.290Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:46:16 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:46:16.697Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T05:46:16.697Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:46:18 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:46:18.398Z"}
{"executionTimeMs":1728,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T05:46:18.398Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:46:27 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 694 \"http://143.110.241.90:5173/\" \"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-19T05:46:27.833Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T05:46:27.834Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:46:27 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T05:46:27.855Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-19T05:46:27.856Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:46:27 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T05:46:27.952Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":200,"timestamp":"2026-08-19T05:46:27.953Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:46:27 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords HTTP/1.1\" 200 58230 \"http://143.110.241.90:5173/\" \"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-19T05:46:27.985Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords","statusCode":200,"timestamp":"2026-08-19T05:46:27.985Z"}
{"level":"error","message":"Request failed Missing or malformed Authorization header","method":"GET","path":"/api/accounts","stack":"ApiError: Missing or malformed Authorization header\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:15:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-19T05:47:33.503Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:47:33 +0000] \"GET /api/accounts HTTP/1.1\" 401 81 \"http://143.110.241.90:5173/\" \"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-19T05:47:33.504Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-08-19T05:47:33.504Z"}
{"level":"error","message":"Request failed Route not found: GET /openapi.json","method":"GET","path":"/openapi.json","stack":"ApiError: Route not found: GET /openapi.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-19T05:47:33.842Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:47:33 +0000] \"GET /openapi.json HTTP/1.1\" 404 74 \"http://143.110.241.90:5173/\" \"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-19T05:47:33.844Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/openapi.json","statusCode":404,"timestamp":"2026-08-19T05:47:33.844Z"}
{"level":"error","message":"Request failed Route not found: GET /docs","method":"GET","path":"/docs","stack":"ApiError: Route not found: GET /docs\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-19T05:47:33.886Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:47:33 +0000] \"GET /docs HTTP/1.1\" 404 66 \"http://143.110.241.90:5173/\" \"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-19T05:47:33.887Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/docs","statusCode":404,"timestamp":"2026-08-19T05:47:33.888Z"}
{"level":"error","message":"Request failed Route not found: GET /api/docs","method":"GET","path":"/api/docs","stack":"ApiError: Route not found: GET /api/docs\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-08-19T05:47:33.935Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:47:33 +0000] \"GET /api/docs HTTP/1.1\" 404 70 \"http://143.110.241.90:5173/\" \"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-19T05:47:33.940Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/docs","statusCode":404,"timestamp":"2026-08-19T05:47:33.940Z"}
{"level":"error","message":"Request failed Route not found: GET /api-json","method":"GET","path":"/api-json","stack":"ApiError: Route not found: GET /api-json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-19T05:47:33.983Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:47:33 +0000] \"GET /api-json HTTP/1.1\" 404 70 \"http://143.110.241.90:5173/\" \"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-19T05:47:33.985Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api-json","statusCode":404,"timestamp":"2026-08-19T05:47:33.985Z"}
{"level":"error","message":"Request failed Route not found: GET /swagger.json","method":"GET","path":"/swagger.json","stack":"ApiError: Route not found: GET /swagger.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-19T05:47:34.033Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:05:47:34 +0000] \"GET /swagger.json HTTP/1.1\" 404 74 \"http://143.110.241.90:5173/\" \"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-19T05:47:34.035Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/swagger.json","statusCode":404,"timestamp":"2026-08-19T05:47:34.035Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:06:25:13 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T06:25:13.068Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T06:25:13.068Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:06:25:13 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T06:25:13.078Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-19T06:25:13.078Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:06:25:14 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T06:25:14.220Z"}
{"executionTimeMs":1193,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T06:25:14.221Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:07:18 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:07:18.035Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:07:18.036Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:08:16 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:08:16.651Z"}
{"executionTimeMs":55,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T09:08:16.651Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:08:16 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:08:16.655Z"}
{"executionTimeMs":46,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-19T09:08:16.655Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:08:17 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:08:17.960Z"}
{"executionTimeMs":1361,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:08:17.960Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:09:22 +0000] \"GET /api/applications HTTP/1.1\" 200 6267 \"http://143.110.241.90:5173/\" \"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-19T09:09:22.794Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-19T09:09:22.794Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:09:22 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T09:09:22.805Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-19T09:09:22.805Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:09:24 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-19T09:09:24.012Z"}
{"executionTimeMs":1240,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-19T09:09:24.012Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:12:52 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:12:52.951Z"}
{"executionTimeMs":33,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T09:12:52.953Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:12:54 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:12:54.120Z"}
{"executionTimeMs":1206,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:12:54.120Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:13:05 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:13:05.323Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:13:05.323Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:13:19 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:13:19.454Z"}
{"executionTimeMs":1122,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:13:19.455Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:13:37 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:13:37.483Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:13:37.484Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:13:37 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:13:37.852Z"}
{"executionTimeMs":1108,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:13:37.852Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:15:32 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:15:32.654Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T09:15:32.654Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:15:32 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:15:32.660Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-19T09:15:32.660Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:15:33 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:15:33.838Z"}
{"executionTimeMs":1214,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:15:33.838Z"}
{"error":"App not found (404)","level":"error","message":"Play Store fetch failed","packageName":"com.thisdoesnot.exist.zzz999","timestamp":"2026-08-19T09:16:40.363Z"}
{"level":"error","message":"Request failed Failed to fetch application details for package \"com.thisdoesnot.exist.zzz999\"","method":"POST","path":"/api/applications/import","stack":"ApiError: Failed to fetch application details for package \"com.thisdoesnot.exist.zzz999\"\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at PlayStoreService.fetchAppDetails (/var/www/html/google-ads-automation/backend/src/services/PlayStoreService.js:19:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:34:19)","statusCode":502,"timestamp":"2026-08-19T09:16:40.364Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:16:40 +0000] \"POST /api/applications/import HTTP/1.1\" 502 177 \"http://143.110.241.90:5173/\" \"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-19T09:16:40.365Z"}
{"executionTimeMs":249,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":502,"timestamp":"2026-08-19T09:16:40.365Z"}
{"error":"App not found (404)","level":"error","message":"Play Store fetch failed","packageName":"com.thisdoesnot.exist.zzz999","timestamp":"2026-08-19T09:17:00.240Z"}
{"level":"error","message":"Request failed Failed to fetch application details for package \"com.thisdoesnot.exist.zzz999\"","method":"POST","path":"/api/applications/import","stack":"ApiError: Failed to fetch application details for package \"com.thisdoesnot.exist.zzz999\"\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at PlayStoreService.fetchAppDetails (/var/www/html/google-ads-automation/backend/src/services/PlayStoreService.js:19:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:34:19)","statusCode":502,"timestamp":"2026-08-19T09:17:00.240Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:17:00 +0000] \"POST /api/applications/import HTTP/1.1\" 502 177 \"http://143.110.241.90:5173/\" \"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-19T09:17:00.241Z"}
{"executionTimeMs":193,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":502,"timestamp":"2026-08-19T09:17:00.241Z"}
{"applicationId":"5051ae29-757a-4f9e-983d-d04b81e12649","customerId":"6891608445","level":"info","message":"Auto-assigned Google Ads customer ID to imported application","packageName":"com.duolingo","reason":"most-used account (6 apps)","timestamp":"2026-08-19T09:17:22.668Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:17:22 +0000] \"POST /api/applications/import HTTP/1.1\" 201 666 \"http://143.110.241.90:5173/\" \"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-19T09:17:22.669Z"}
{"executionTimeMs":2566,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-19T09:17:22.669Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:17:22 +0000] \"GET /api/applications HTTP/1.1\" 200 6910 \"http://143.110.241.90:5173/\" \"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-19T09:17:22.813Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-19T09:17:22.813Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:17:23 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-19T09:17:23.387Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-19T09:17:23.387Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:17:23 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-19T09:17:23.423Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-19T09:17:23.423Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:17:23 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-19T09:17:23.429Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-19T09:17:23.429Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:17:23 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-19T09:17:23.431Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-19T09:17:23.431Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:17:24 +0000] \"GET /api/campaigns/conversion-actions?applicationId=5051ae29-757a-4f9e-983d-d04b81e12649 HTTP/1.1\" 200 63 \"http://143.110.241.90:5173/\" \"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-19T09:17:24.230Z"}
{"executionTimeMs":699,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=5051ae29-757a-4f9e-983d-d04b81e12649","statusCode":200,"timestamp":"2026-08-19T09:17:24.231Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:17:24 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=5051ae29-757a-4f9e-983d-d04b81e12649 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-19T09:17:24.593Z"}
{"executionTimeMs":1054,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=5051ae29-757a-4f9e-983d-d04b81e12649","statusCode":200,"timestamp":"2026-08-19T09:17:24.593Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:18:08 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:18:08.175Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T09:18:08.176Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:18:08 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:18:08.190Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-19T09:18:08.190Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:18:09 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:18:09.397Z"}
{"executionTimeMs":1274,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:18:09.398Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:18:51 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:18:51.949Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:18:51.949Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:19:09 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:19:09.509Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T09:19:09.509Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:19:09 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:19:09.517Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-19T09:19:09.518Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:19:10 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:19:10.729Z"}
{"executionTimeMs":1230,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:19:10.729Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:19:54 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:19:54.546Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-19T09:19:54.546Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:19:54 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:19:54.548Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-19T09:19:54.548Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:19:54 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:19:54.552Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-19T09:19:54.552Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:19:54 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:19:54.556Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-19T09:19:54.556Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:19:55 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 1635 \"http://143.110.241.90:5173/\" \"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-19T09:19:55.764Z"}
{"executionTimeMs":917,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T09:19:55.764Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:19:56 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-19T09:19:56.015Z"}
{"executionTimeMs":1167,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T09:19:56.015Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:23:03 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3963 \"http://143.110.241.90:5173/\" \"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-19T09:23:03.030Z"}
{"executionTimeMs":48,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-19T09:23:03.032Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:23:49 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=2&languageCode=en HTTP/1.1\" 200 1135 \"http://143.110.241.90:5173/\" \"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-19T09:23:49.239Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=2&languageCode=en","statusCode":200,"timestamp":"2026-08-19T09:23:49.239Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:23:49 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-19T09:23:49.240Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-19T09:23:49.240Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:23:49 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:23:49.257Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-19T09:23:49.258Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:24:43 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3017 \"http://143.110.241.90:5173/\" \"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-19T09:24:43.929Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-19T09:24:43.930Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:24:56 +0000] \"POST /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generate-assets?languageCode=en&descriptionMaxLength=30 HTTP/1.1\" 201 10444 \"http://143.110.241.90:5173/\" \"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-19T09:24:56.437Z"}
{"executionTimeMs":12598,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generate-assets?languageCode=en&descriptionMaxLength=30","statusCode":201,"timestamp":"2026-08-19T09:24:56.437Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:26:50 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=1&languageCode=en HTTP/1.1\" 200 556 \"http://143.110.241.90:5173/\" \"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-19T09:26:50.317Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-19T09:26:50.318Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:26:59 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1251 \"http://143.110.241.90:5173/\" \"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-19T09:26:59.102Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-19T09:26:59.102Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:27:05 +0000] \"POST /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generate-assets?languageCode=en&descriptionMaxLength=90 HTTP/1.1\" 201 16659 \"http://143.110.241.90:5173/\" \"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-19T09:27:05.483Z"}
{"executionTimeMs":6458,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generate-assets?languageCode=en&descriptionMaxLength=90","statusCode":201,"timestamp":"2026-08-19T09:27:05.483Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:27:34 +0000] \"POST /api/campaigns HTTP/1.1\" 201 875 \"http://143.110.241.90:5173/\" \"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-19T09:27:34.386Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-19T09:27:34.386Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:27:41 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"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-19T09:27:41.505Z"}
{"executionTimeMs":7023,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/create","statusCode":200,"timestamp":"2026-08-19T09:27:41.505Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:27:41 +0000] \"GET /api/campaigns HTTP/1.1\" 200 47420 \"http://143.110.241.90:5173/\" \"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-19T09:27:41.661Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T09:27:41.661Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:29:43 +0000] \"GET /api/campaigns?status=DRAFT HTTP/1.1\" 200 1106 \"http://143.110.241.90:5173/\" \"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-19T09:29:43.764Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns?status=DRAFT","statusCode":200,"timestamp":"2026-08-19T09:29:43.764Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:30:01 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:30:01.890Z"}
{"executionTimeMs":96,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:30:01.893Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:31:18 +0000] \"PATCH /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/status HTTP/1.1\" 200 923 \"http://143.110.241.90:5173/\" \"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-19T09:31:18.337Z"}
{"executionTimeMs":710,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/status","statusCode":200,"timestamp":"2026-08-19T09:31:18.337Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:31:18 +0000] \"GET /api/campaigns HTTP/1.1\" 200 47419 \"http://143.110.241.90:5173/\" \"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-19T09:31:18.469Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T09:31:18.470Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:31:25 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:31:25.403Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:31:25.403Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:31:52 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-19T09:31:52.314Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb","statusCode":200,"timestamp":"2026-08-19T09:31:52.314Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:31:53 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:31:53.662Z"}
{"executionTimeMs":1257,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:31:53.662Z"}
{"level":"error","message":"Request failed Missing or malformed Authorization header","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb","stack":"ApiError: Missing or malformed Authorization header\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:15:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-19T09:32:06.670Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:32:06 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb HTTP/1.1\" 401 81 \"http://143.110.241.90:5173/\" \"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-19T09:32:06.672Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb","statusCode":401,"timestamp":"2026-08-19T09:32:06.672Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:32:34 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/copy-history HTTP/1.1\" 200 686 \"http://143.110.241.90:5173/\" \"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-19T09:32:34.318Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/copy-history","statusCode":200,"timestamp":"2026-08-19T09:32:34.318Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:32:43 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T09:32:43.502Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/assets","statusCode":200,"timestamp":"2026-08-19T09:32:43.503Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:32:43 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics HTTP/1.1\" 200 107 \"http://143.110.241.90:5173/\" \"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-19T09:32:43.517Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics","statusCode":200,"timestamp":"2026-08-19T09:32:43.517Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:32:47 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/logs HTTP/1.1\" 200 4122 \"http://143.110.241.90:5173/\" \"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-19T09:32:47.661Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/logs","statusCode":200,"timestamp":"2026-08-19T09:32:47.661Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:05 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:33:05.191Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-19T09:33:05.192Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:05 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:33:05.193Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-19T09:33:05.193Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:05 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:33:05.195Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-19T09:33:05.195Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:05 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T09:33:05.211Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/image-assets","statusCode":200,"timestamp":"2026-08-19T09:33:05.211Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:05 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/video-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T09:33:05.218Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/video-assets","statusCode":200,"timestamp":"2026-08-19T09:33:05.218Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:05 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:33:05.223Z"}
{"executionTimeMs":34,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb","statusCode":304,"timestamp":"2026-08-19T09:33:05.223Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:05 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:33:05.320Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-19T09:33:05.320Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:06 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-19T09:33:06.423Z"}
{"executionTimeMs":1097,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445","statusCode":200,"timestamp":"2026-08-19T09:33:06.423Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:06 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445 HTTP/1.1\" 200 1635 \"http://143.110.241.90:5173/\" \"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-19T09:33:06.741Z"}
{"executionTimeMs":1420,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445","statusCode":200,"timestamp":"2026-08-19T09:33:06.741Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:33:56 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:33:56.555Z"}
{"executionTimeMs":836,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445","statusCode":304,"timestamp":"2026-08-19T09:33:56.555Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:34:53 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:34:53.482Z"}
{"executionTimeMs":859,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445","statusCode":304,"timestamp":"2026-08-19T09:34:53.482Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:05 +0000] \"PATCH /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/live-settings HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-19T09:35:05.548Z"}
{"executionTimeMs":1695,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/live-settings","statusCode":200,"timestamp":"2026-08-19T09:35:05.549Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:05 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-19T09:35:05.694Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb","statusCode":200,"timestamp":"2026-08-19T09:35:05.694Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:07 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:07.006Z"}
{"executionTimeMs":1302,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:35:07.006Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:25 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:25.354Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb","statusCode":304,"timestamp":"2026-08-19T09:35:25.355Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:25 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:25.378Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-19T09:35:25.379Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:25 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:25.380Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-19T09:35:25.380Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:25 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:25.387Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-19T09:35:25.388Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:25 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:25.528Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/video-assets","statusCode":304,"timestamp":"2026-08-19T09:35:25.529Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:25 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:25.532Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/image-assets","statusCode":304,"timestamp":"2026-08-19T09:35:25.532Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:25 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:25.627Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-19T09:35:25.627Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:26 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:26.486Z"}
{"executionTimeMs":854,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445","statusCode":304,"timestamp":"2026-08-19T09:35:26.486Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:35:26 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:35:26.611Z"}
{"executionTimeMs":987,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&googleAdsCustomerId=6891608445","statusCode":304,"timestamp":"2026-08-19T09:35:26.611Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:37:30 +0000] \"PATCH /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/live-settings HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-19T09:37:30.672Z"}
{"executionTimeMs":1422,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/live-settings","statusCode":200,"timestamp":"2026-08-19T09:37:30.672Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:37:30 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-19T09:37:30.823Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb","statusCode":200,"timestamp":"2026-08-19T09:37:30.823Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:37:32 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:37:32.005Z"}
{"executionTimeMs":1192,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:37:32.005Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:37:58 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/duplicate HTTP/1.1\" 201 905 \"http://143.110.241.90:5173/\" \"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-19T09:37:58.126Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/duplicate","statusCode":201,"timestamp":"2026-08-19T09:37:58.126Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:37:58 +0000] \"GET /api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede HTTP/1.1\" 200 1743 \"http://143.110.241.90:5173/\" \"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-19T09:37:58.246Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede","statusCode":200,"timestamp":"2026-08-19T09:37:58.246Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:39:02 +0000] \"GET /api/campaigns HTTP/1.1\" 200 48380 \"http://143.110.241.90:5173/\" \"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-19T09:39:02.171Z"}
{"executionTimeMs":59,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T09:39:02.171Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:39:42 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:39:42.339Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T09:39:42.341Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:39:43 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:39:43.490Z"}
{"executionTimeMs":1212,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:39:43.490Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:40:34 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en HTTP/1.1\" 200 16659 \"http://143.110.241.90:5173/\" \"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-19T09:40:34.105Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-19T09:40:34.106Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:40:34 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 694 \"http://143.110.241.90:5173/\" \"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-19T09:40:34.108Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T09:40:34.108Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:40:34 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:40:34.244Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T09:40:34.244Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:40:34 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T09:40:34.277Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":200,"timestamp":"2026-08-19T09:40:34.277Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:40:34 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords HTTP/1.1\" 200 58230 \"http://143.110.241.90:5173/\" \"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-19T09:40:34.285Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords","statusCode":200,"timestamp":"2026-08-19T09:40:34.286Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:40:35 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:40:35.475Z"}
{"executionTimeMs":1242,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:40:35.476Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:41:24 +0000] \"POST /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 201 576 \"http://143.110.241.90:5173/\" \"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-19T09:41:24.409Z"}
{"executionTimeMs":370,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":201,"timestamp":"2026-08-19T09:41:24.412Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:41:24 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 200 576 \"http://143.110.241.90:5173/\" \"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-19T09:41:24.476Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":200,"timestamp":"2026-08-19T09:41:24.476Z"}
{"applicationId":"28b14b67-527e-4532-80ac-f092eb9ad50c","level":"info","message":"Serving cached competitor metadata","playStoreUrl":"https://play.google.com/store/apps/details?id=com.whatsapp","timestamp":"2026-08-19T09:42:13.809Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:42:13 +0000] \"POST /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 201 576 \"http://143.110.241.90:5173/\" \"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-19T09:42:13.810Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":201,"timestamp":"2026-08-19T09:42:13.811Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:42:13 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 200 576 \"http://143.110.241.90:5173/\" \"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-19T09:42:13.872Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":200,"timestamp":"2026-08-19T09:42:13.872Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:42:48 +0000] \"DELETE /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors/bf1e5ceb-51ad-4f48-afc0-b899b1429745 HTTP/1.1\" 200 28 \"http://143.110.241.90:5173/\" \"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-19T09:42:48.528Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"DELETE","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors/bf1e5ceb-51ad-4f48-afc0-b899b1429745","statusCode":200,"timestamp":"2026-08-19T09:42:48.528Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:42:48 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-19T09:42:48.618Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":200,"timestamp":"2026-08-19T09:42:48.618Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:43:10 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:43:10.051Z"}
{"executionTimeMs":1305,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:43:10.051Z"}
{"level":"error","message":"Request failed Campaign not found","method":"GET","path":"/api/campaigns/00000000-0000-0000-0000-000000000000","stack":"ApiError: Campaign not found\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at CampaignService.getById (/var/www/html/google-ads-automation/backend/src/services/CampaignService.js:346:35)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async getCampaign (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:101:5)","statusCode":404,"timestamp":"2026-08-19T09:43:26.837Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:43:26 +0000] \"GET /api/campaigns/00000000-0000-0000-0000-000000000000 HTTP/1.1\" 404 58 \"http://143.110.241.90:5173/\" \"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-19T09:43:26.839Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/00000000-0000-0000-0000-000000000000","statusCode":404,"timestamp":"2026-08-19T09:43:26.839Z"}
{"level":"error","message":"Request failed Campaign not found","method":"GET","path":"/api/campaigns/00000000-0000-0000-0000-000000000000","stack":"ApiError: Campaign not found\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at CampaignService.getById (/var/www/html/google-ads-automation/backend/src/services/CampaignService.js:346:35)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async getCampaign (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:101:5)","statusCode":404,"timestamp":"2026-08-19T09:43:45.736Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:43:45 +0000] \"GET /api/campaigns/00000000-0000-0000-0000-000000000000 HTTP/1.1\" 404 58 \"http://143.110.241.90:5173/\" \"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-19T09:43:45.737Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/00000000-0000-0000-0000-000000000000","statusCode":404,"timestamp":"2026-08-19T09:43:45.739Z"}
{"level":"error","message":"Request failed Campaign not found","method":"GET","path":"/api/campaigns/00000000-0000-0000-0000-000000000000","stack":"ApiError: Campaign not found\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at CampaignService.getById (/var/www/html/google-ads-automation/backend/src/services/CampaignService.js:346:35)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async getCampaign (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:101:5)","statusCode":404,"timestamp":"2026-08-19T09:44:00.209Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:44:00 +0000] \"GET /api/campaigns/00000000-0000-0000-0000-000000000000 HTTP/1.1\" 404 58 \"http://143.110.241.90:5173/\" \"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-19T09:44:00.211Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/00000000-0000-0000-0000-000000000000","statusCode":404,"timestamp":"2026-08-19T09:44:00.211Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:44:37 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:44:37.993Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:44:37.993Z"}
{"level":"error","message":"Request failed Application not found","method":"GET","path":"/api/applications/00000000-0000-0000-0000-000000000000","stack":"ApiError: Application not found\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at getApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:45:28)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)","statusCode":404,"timestamp":"2026-08-19T09:45:09.337Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:45:09 +0000] \"GET /api/applications/00000000-0000-0000-0000-000000000000 HTTP/1.1\" 404 61 \"http://143.110.241.90:5173/\" \"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-19T09:45:09.338Z"}
{"executionTimeMs":51,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/00000000-0000-0000-0000-000000000000","statusCode":404,"timestamp":"2026-08-19T09:45:09.339Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:45:09 +0000] \"GET /api/applications/00000000-0000-0000-0000-000000000000/generated-assets?languageCode=en HTTP/1.1\" 200 28 \"http://143.110.241.90:5173/\" \"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-19T09:45:09.345Z"}
{"executionTimeMs":46,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/00000000-0000-0000-0000-000000000000/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-19T09:45:09.350Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:45:36 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:45:36.622Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:45:36.622Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:46:47 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:46:47.364Z"}
{"executionTimeMs":34,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T09:46:47.364Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:46:47 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:46:47.367Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-19T09:46:47.367Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:46:48 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:46:48.585Z"}
{"executionTimeMs":1253,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:46:48.585Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:48:00 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:48:00.439Z"}
{"executionTimeMs":76,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:48:00.440Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:48:13 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:48:13.079Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:48:13.079Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:48:43 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:48:43.092Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-19T09:48:43.093Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:48:43 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:48:43.100Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-19T09:48:43.101Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:48:43 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:48:43.103Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-19T09:48:43.104Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:48:43 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:48:43.113Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-19T09:48:43.113Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:48:44 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:48:44.279Z"}
{"executionTimeMs":1060,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":304,"timestamp":"2026-08-19T09:48:44.279Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:48:44 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:48:44.351Z"}
{"executionTimeMs":1139,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":304,"timestamp":"2026-08-19T09:48:44.351Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:52:27 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3890 \"http://143.110.241.90:5173/\" \"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-19T09:52:27.863Z"}
{"executionTimeMs":33,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-19T09:52:27.863Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:55:01 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:55:01.560Z"}
{"executionTimeMs":103,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:55:01.563Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:55:55 +0000] \"GET /api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:55:55.595Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede","statusCode":304,"timestamp":"2026-08-19T09:55:55.596Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:55:56 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:55:56.881Z"}
{"executionTimeMs":1201,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T09:55:56.881Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:55:57 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:55:57.536Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T09:55:57.536Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:09:55:58 +0000] \"GET /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T09:55:58.204Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb","statusCode":304,"timestamp":"2026-08-19T09:55:58.205Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:38 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:38.418Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-19T10:23:38.418Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:38 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:38.432Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-19T10:23:38.433Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:38 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:38.435Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-19T10:23:38.435Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:38 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:38.437Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-19T10:23:38.437Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-19T10:23:38.557Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:38 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-19T10:23:38.558Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":401,"timestamp":"2026-08-19T10:23:38.559Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-19T10:23:38.562Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:38 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-19T10:23:38.563Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":401,"timestamp":"2026-08-19T10:23:38.563Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:41 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-19T10:23:41.492Z"}
{"executionTimeMs":537,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-19T10:23:41.494Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:41 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:41.656Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-19T10:23:41.656Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:41 +0000] \"GET /api/applications HTTP/1.1\" 200 6910 \"http://143.110.241.90:5173/\" \"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-19T10:23:41.665Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-19T10:23:41.665Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:43 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:43.178Z"}
{"executionTimeMs":1535,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T10:23:43.178Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:43 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:43.931Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-19T10:23:43.932Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:43 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:43.937Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-19T10:23:43.937Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:43 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:43.944Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-19T10:23:43.944Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:43 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:23:43.949Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-19T10:23:43.949Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:44 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-19T10:23:44.936Z"}
{"executionTimeMs":879,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T10:23:44.936Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:23:45 +0000] \"GET /api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 200 1635 \"http://143.110.241.90:5173/\" \"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-19T10:23:45.103Z"}
{"executionTimeMs":1037,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":200,"timestamp":"2026-08-19T10:23:45.103Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:24:18 +0000] \"POST /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generate-assets?languageCode=en&descriptionMaxLength=30 HTTP/1.1\" 201 8852 \"http://143.110.241.90:5173/\" \"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-19T10:24:18.049Z"}
{"executionTimeMs":6839,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generate-assets?languageCode=en&descriptionMaxLength=30","statusCode":201,"timestamp":"2026-08-19T10:24:18.049Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:24:28 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:24:28.914Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-19T10:24:28.915Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:24:28 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2738 \"http://143.110.241.90:5173/\" \"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-19T10:24:28.935Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=28b14b67-527e-4532-80ac-f092eb9ad50c&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-19T10:24:28.935Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:24:45 +0000] \"GET /api/campaigns HTTP/1.1\" 200 48380 \"http://143.110.241.90:5173/\" \"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-19T10:24:45.717Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T10:24:45.717Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:07 +0000] \"GET /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c HTTP/1.1\" 200 5783 \"http://143.110.241.90:5173/\" \"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-19T10:25:07.326Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c","statusCode":200,"timestamp":"2026-08-19T10:25:07.327Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:08 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:25:08.684Z"}
{"executionTimeMs":1245,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T10:25:08.684Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:09 +0000] \"GET /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics HTTP/1.1\" 200 1218 \"http://143.110.241.90:5173/\" \"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-19T10:25:09.966Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics","statusCode":200,"timestamp":"2026-08-19T10:25:09.967Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:10 +0000] \"GET /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/assets HTTP/1.1\" 200 36434 \"http://143.110.241.90:5173/\" \"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-19T10:25:10.007Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/assets","statusCode":200,"timestamp":"2026-08-19T10:25:10.008Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:18 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:25:18.890Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-19T10:25:18.890Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:24 +0000] \"POST /api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status HTTP/1.1\" 200 1743 \"http://143.110.241.90:5173/\" \"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-19T10:25:24.246Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status","statusCode":200,"timestamp":"2026-08-19T10:25:24.246Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:25 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-19T10:25:25.118Z"}
{"executionTimeMs":774,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status","statusCode":200,"timestamp":"2026-08-19T10:25:25.118Z"}
{"campaignId":"5cfcd7ad-a33d-43c0-8f41-3d593f45f135","error":"This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '2272118756'. (16))","level":"error","message":"Failed to sync campaign status from Google Ads","timestamp":"2026-08-19T10:25:25.688Z"}
{"level":"error","message":"Request failed Failed to sync status from Google Ads: This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '2272118756'. (16))","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status","stack":"ApiError: Failed to sync status from Google Ads: This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '2272118756'. (16))\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.syncStatus (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:1925:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async syncStatus (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:192:3)","statusCode":502,"timestamp":"2026-08-19T10:25:25.688Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:25 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status HTTP/1.1\" 502 211 \"http://143.110.241.90:5173/\" \"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-19T10:25:25.689Z"}
{"executionTimeMs":478,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status","statusCode":502,"timestamp":"2026-08-19T10:25:25.689Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:30 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-19T10:25:30.923Z"}
{"executionTimeMs":6643,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:25:30.927Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:36 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:25:36.691Z"}
{"executionTimeMs":5679,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:25:36.692Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:36 +0000] \"GET /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561 HTTP/1.1\" 200 4969 \"http://143.110.241.90:5173/\" \"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-19T10:25:36.835Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561","statusCode":200,"timestamp":"2026-08-19T10:25:36.835Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:38 +0000] \"GET /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics HTTP/1.1\" 200 1302 \"http://143.110.241.90:5173/\" \"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-19T10:25:38.403Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics","statusCode":200,"timestamp":"2026-08-19T10:25:38.403Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:38 +0000] \"GET /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/assets HTTP/1.1\" 200 35990 \"http://143.110.241.90:5173/\" \"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-19T10:25:38.408Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/assets","statusCode":200,"timestamp":"2026-08-19T10:25:38.409Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:42 +0000] \"POST /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T10:25:42.839Z"}
{"executionTimeMs":6017,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:25:42.840Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:50 +0000] \"POST /api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T10:25:50.021Z"}
{"executionTimeMs":7094,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:25:50.023Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:25:55 +0000] \"POST /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T10:25:55.593Z"}
{"executionTimeMs":5471,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:25:55.593Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:00 +0000] \"POST /api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:00.493Z"}
{"executionTimeMs":4812,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:00.496Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:06 +0000] \"POST /api/campaigns/60cd8d62-344f-45d3-8920-fc2f1fe875ff/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T10:26:06.131Z"}
{"executionTimeMs":5548,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/60cd8d62-344f-45d3-8920-fc2f1fe875ff/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:06.131Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:11 +0000] \"POST /api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T10:26:11.535Z"}
{"executionTimeMs":5309,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:11.535Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:16 +0000] \"POST /api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-19T10:26:16.828Z"}
{"executionTimeMs":5191,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:16.828Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:21 +0000] \"POST /api/campaigns/2cbebea1-8de8-429f-993c-743df570cb25/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:21.383Z"}
{"executionTimeMs":4466,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2cbebea1-8de8-429f-993c-743df570cb25/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:21.384Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:26 +0000] \"POST /api/campaigns/34b35c80-879c-4b35-8eec-e351b1300d3c/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:26.099Z"}
{"executionTimeMs":4626,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/34b35c80-879c-4b35-8eec-e351b1300d3c/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:26.100Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:30 +0000] \"POST /api/campaigns/c88a2b36-b93f-44dd-a84a-9e69148645ab/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:30.842Z"}
{"executionTimeMs":4651,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c88a2b36-b93f-44dd-a84a-9e69148645ab/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:30.842Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:35 +0000] \"POST /api/campaigns/57f4eeb2-6ef7-448e-8801-6f8a86946031/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:35.582Z"}
{"executionTimeMs":4649,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/57f4eeb2-6ef7-448e-8801-6f8a86946031/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:35.582Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:40 +0000] \"POST /api/campaigns/0674f8f2-f982-42cc-8381-3b0316fc639b/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:40.531Z"}
{"executionTimeMs":4851,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0674f8f2-f982-42cc-8381-3b0316fc639b/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:40.532Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:45 +0000] \"POST /api/campaigns/ffb7ac1f-aa9d-4013-af20-8499ca467aa4/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:45.345Z"}
{"executionTimeMs":4727,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/ffb7ac1f-aa9d-4013-af20-8499ca467aa4/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:45.348Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:49 +0000] \"POST /api/campaigns/b0df827f-0079-4e17-aaa8-0243268da1a2/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:49.873Z"}
{"executionTimeMs":4436,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b0df827f-0079-4e17-aaa8-0243268da1a2/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:49.873Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:54 +0000] \"POST /api/campaigns/331d04f1-fb3e-4769-977c-0d12c7dd9695/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:54.460Z"}
{"executionTimeMs":4499,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/331d04f1-fb3e-4769-977c-0d12c7dd9695/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:54.461Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:26:58 +0000] \"POST /api/campaigns/b3ffd986-732f-453f-a245-af4ce9d3afe7/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:26:58.930Z"}
{"executionTimeMs":4381,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3ffd986-732f-453f-a245-af4ce9d3afe7/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:26:58.933Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:03 +0000] \"GET /api/campaigns HTTP/1.1\" 200 48762 \"http://143.110.241.90:5173/\" \"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-19T10:27:03.069Z"}
{"executionTimeMs":48,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T10:27:03.071Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:03 +0000] \"POST /api/campaigns/c411a140-e25e-45b6-97af-fe7b030c4248/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:03.413Z"}
{"executionTimeMs":4393,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c411a140-e25e-45b6-97af-fe7b030c4248/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:03.413Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:07 +0000] \"POST /api/campaigns/62fd982e-d271-4c0c-ad9c-dc3e3713246a/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:07.972Z"}
{"executionTimeMs":4461,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/62fd982e-d271-4c0c-ad9c-dc3e3713246a/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:07.973Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:12 +0000] \"POST /api/campaigns/4df12487-28d6-4f98-a5c0-6a05ff4a21f3/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:12.618Z"}
{"executionTimeMs":4557,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/4df12487-28d6-4f98-a5c0-6a05ff4a21f3/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:12.618Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:17 +0000] \"POST /api/campaigns/bff0e08b-f221-42f3-b0d9-d276f59d268f/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:17.035Z"}
{"executionTimeMs":4328,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bff0e08b-f221-42f3-b0d9-d276f59d268f/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:17.036Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:21 +0000] \"POST /api/campaigns/fbdde936-f48c-4bab-9909-32f81fabb06d/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:21.532Z"}
{"executionTimeMs":4399,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/fbdde936-f48c-4bab-9909-32f81fabb06d/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:21.532Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:26 +0000] \"POST /api/campaigns/5999124a-4ead-430c-8ab4-de856df1ca11/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:26.009Z"}
{"executionTimeMs":4387,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5999124a-4ead-430c-8ab4-de856df1ca11/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:26.011Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:30 +0000] \"POST /api/campaigns/c43ce244-4e7d-4f1d-b39b-cfc7cd6ea068/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:30.504Z"}
{"executionTimeMs":4402,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c43ce244-4e7d-4f1d-b39b-cfc7cd6ea068/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:30.504Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:34 +0000] \"POST /api/campaigns/46f5f418-de79-49a0-9367-ed0f1ccda5f3/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:34.972Z"}
{"executionTimeMs":4379,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/46f5f418-de79-49a0-9367-ed0f1ccda5f3/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:34.972Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:39 +0000] \"POST /api/campaigns/1190052a-b3b6-4a9e-9f4e-1089ec412c5f/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:39.615Z"}
{"executionTimeMs":4555,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/1190052a-b3b6-4a9e-9f4e-1089ec412c5f/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:39.615Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:43 +0000] \"POST /api/campaigns/e58c3585-234b-4e0c-9c6b-863be8927b2c/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:43.988Z"}
{"executionTimeMs":4282,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/e58c3585-234b-4e0c-9c6b-863be8927b2c/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:43.988Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:48 +0000] \"POST /api/campaigns/b94891d4-d327-4ba3-8cfc-c988eeb82f0a/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:48.379Z"}
{"executionTimeMs":4302,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b94891d4-d327-4ba3-8cfc-c988eeb82f0a/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:48.379Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:52 +0000] \"POST /api/campaigns/fc641e77-46f8-4457-9499-71ec58c194e7/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:52.877Z"}
{"executionTimeMs":4403,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/fc641e77-46f8-4457-9499-71ec58c194e7/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:52.877Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:27:56 +0000] \"POST /api/campaigns/23c059a6-bf2b-4f73-96c0-2924c336f612/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:27:56.964Z"}
{"executionTimeMs":3999,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/23c059a6-bf2b-4f73-96c0-2924c336f612/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:27:56.964Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:28:01 +0000] \"POST /api/campaigns/a6845749-b95a-4afe-a5df-98b01a40aea7/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:28:01.443Z"}
{"executionTimeMs":4388,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/a6845749-b95a-4afe-a5df-98b01a40aea7/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:28:01.443Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:28:05 +0000] \"POST /api/campaigns/bb581946-745c-4bfe-9f41-f8bc27b01171/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:28:05.911Z"}
{"executionTimeMs":4376,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bb581946-745c-4bfe-9f41-f8bc27b01171/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:28:05.912Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:28:10 +0000] \"POST /api/campaigns/18ad3443-54fd-488b-afb1-dbac287967bd/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T10:28:10.565Z"}
{"executionTimeMs":4564,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/18ad3443-54fd-488b-afb1-dbac287967bd/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:28:10.565Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:28:15 +0000] \"POST /api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T10:28:15.483Z"}
{"executionTimeMs":4829,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:28:15.484Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:28:20 +0000] \"POST /api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T10:28:20.185Z"}
{"executionTimeMs":4595,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:28:20.185Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:28:24 +0000] \"POST /api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T10:28:24.698Z"}
{"executionTimeMs":4424,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:28:24.698Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:28:29 +0000] \"POST /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T10:28:29.068Z"}
{"executionTimeMs":4266,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync","statusCode":200,"timestamp":"2026-08-19T10:28:29.068Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:28:29 +0000] \"GET /api/campaigns HTTP/1.1\" 200 48863 \"http://143.110.241.90:5173/\" \"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-19T10:28:29.214Z"}
{"executionTimeMs":44,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T10:28:29.218Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:46:38 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:46:38.532Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T10:46:38.532Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:46:39 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:46:39.055Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-19T10:46:39.055Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:10:46:39 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T10:46:39.909Z"}
{"executionTimeMs":1396,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T10:46:39.910Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:00 +0000] \"GET /api/campaigns HTTP/1.1\" 200 48863 \"http://143.110.241.90:5173/\" \"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-19T11:24:00.837Z"}
{"executionTimeMs":39,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T11:24:00.837Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:18 +0000] \"POST /api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status HTTP/1.1\" 200 1743 \"http://143.110.241.90:5173/\" \"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-19T11:24:18.032Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status","statusCode":200,"timestamp":"2026-08-19T11:24:18.032Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:19 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-19T11:24:19.220Z"}
{"executionTimeMs":1090,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status","statusCode":200,"timestamp":"2026-08-19T11:24:19.220Z"}
{"campaignId":"5cfcd7ad-a33d-43c0-8f41-3d593f45f135","error":"This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '2272118756'. (16))","level":"error","message":"Failed to sync campaign status from Google Ads","timestamp":"2026-08-19T11:24:19.763Z"}
{"level":"error","message":"Request failed Failed to sync status from Google Ads: This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '2272118756'. (16))","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status","stack":"ApiError: Failed to sync status from Google Ads: This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '2272118756'. (16))\n    at ApiError.badGateway (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:39:12)\n    at GoogleAdsService.syncStatus (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:1925:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async syncStatus (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:192:3)","statusCode":502,"timestamp":"2026-08-19T11:24:19.764Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:19 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status HTTP/1.1\" 502 211 \"http://143.110.241.90:5173/\" \"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-19T11:24:19.764Z"}
{"executionTimeMs":446,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status","statusCode":502,"timestamp":"2026-08-19T11:24:19.765Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:23 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-19T11:24:23.388Z"}
{"executionTimeMs":5349,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:24:23.388Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:28 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:24:28.188Z"}
{"executionTimeMs":4683,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:24:28.188Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:33 +0000] \"POST /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T11:24:33.567Z"}
{"executionTimeMs":5263,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:24:33.567Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:38 +0000] \"POST /api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T11:24:38.612Z"}
{"executionTimeMs":4924,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b1dea752-beec-4e84-b980-498e3be0319e/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:24:38.612Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:43 +0000] \"POST /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T11:24:43.801Z"}
{"executionTimeMs":5064,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:24:43.802Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:48 +0000] \"POST /api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:24:48.677Z"}
{"executionTimeMs":4768,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:24:48.678Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:53 +0000] \"POST /api/campaigns/60cd8d62-344f-45d3-8920-fc2f1fe875ff/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T11:24:53.967Z"}
{"executionTimeMs":5178,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/60cd8d62-344f-45d3-8920-fc2f1fe875ff/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:24:53.968Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:24:58 +0000] \"POST /api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T11:24:58.758Z"}
{"executionTimeMs":4651,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:24:58.758Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:03 +0000] \"POST /api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-19T11:25:03.594Z"}
{"executionTimeMs":4720,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:03.595Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:08 +0000] \"POST /api/campaigns/2cbebea1-8de8-429f-993c-743df570cb25/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:08.460Z"}
{"executionTimeMs":4743,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2cbebea1-8de8-429f-993c-743df570cb25/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:08.461Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:13 +0000] \"POST /api/campaigns/34b35c80-879c-4b35-8eec-e351b1300d3c/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:13.277Z"}
{"executionTimeMs":4702,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/34b35c80-879c-4b35-8eec-e351b1300d3c/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:13.277Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:18 +0000] \"POST /api/campaigns/c88a2b36-b93f-44dd-a84a-9e69148645ab/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:18.330Z"}
{"executionTimeMs":4928,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c88a2b36-b93f-44dd-a84a-9e69148645ab/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:18.330Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:23 +0000] \"POST /api/campaigns/57f4eeb2-6ef7-448e-8801-6f8a86946031/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:23.427Z"}
{"executionTimeMs":4982,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/57f4eeb2-6ef7-448e-8801-6f8a86946031/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:23.428Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:28 +0000] \"POST /api/campaigns/0674f8f2-f982-42cc-8381-3b0316fc639b/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:28.624Z"}
{"executionTimeMs":5085,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0674f8f2-f982-42cc-8381-3b0316fc639b/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:28.625Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:33 +0000] \"POST /api/campaigns/ffb7ac1f-aa9d-4013-af20-8499ca467aa4/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:33.377Z"}
{"executionTimeMs":4638,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/ffb7ac1f-aa9d-4013-af20-8499ca467aa4/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:33.378Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:37 +0000] \"POST /api/campaigns/b0df827f-0079-4e17-aaa8-0243268da1a2/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:37.863Z"}
{"executionTimeMs":4372,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b0df827f-0079-4e17-aaa8-0243268da1a2/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:37.864Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:42 +0000] \"POST /api/campaigns/331d04f1-fb3e-4769-977c-0d12c7dd9695/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:42.546Z"}
{"executionTimeMs":4575,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/331d04f1-fb3e-4769-977c-0d12c7dd9695/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:42.549Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:47 +0000] \"POST /api/campaigns/b3ffd986-732f-453f-a245-af4ce9d3afe7/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:47.377Z"}
{"executionTimeMs":4711,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3ffd986-732f-453f-a245-af4ce9d3afe7/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:47.377Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:51 +0000] \"POST /api/campaigns/c411a140-e25e-45b6-97af-fe7b030c4248/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:51.985Z"}
{"executionTimeMs":4497,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c411a140-e25e-45b6-97af-fe7b030c4248/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:51.986Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:25:56 +0000] \"POST /api/campaigns/62fd982e-d271-4c0c-ad9c-dc3e3713246a/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:25:56.581Z"}
{"executionTimeMs":4478,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/62fd982e-d271-4c0c-ad9c-dc3e3713246a/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:25:56.581Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:01 +0000] \"POST /api/campaigns/4df12487-28d6-4f98-a5c0-6a05ff4a21f3/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:01.056Z"}
{"executionTimeMs":4362,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/4df12487-28d6-4f98-a5c0-6a05ff4a21f3/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:01.057Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:06 +0000] \"POST /api/campaigns/bff0e08b-f221-42f3-b0d9-d276f59d268f/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:06.124Z"}
{"executionTimeMs":4953,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bff0e08b-f221-42f3-b0d9-d276f59d268f/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:06.124Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:10 +0000] \"POST /api/campaigns/fbdde936-f48c-4bab-9909-32f81fabb06d/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:10.750Z"}
{"executionTimeMs":4506,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/fbdde936-f48c-4bab-9909-32f81fabb06d/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:10.751Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:15 +0000] \"POST /api/campaigns/5999124a-4ead-430c-8ab4-de856df1ca11/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:15.113Z"}
{"executionTimeMs":4241,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5999124a-4ead-430c-8ab4-de856df1ca11/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:15.113Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:19 +0000] \"POST /api/campaigns/c43ce244-4e7d-4f1d-b39b-cfc7cd6ea068/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:19.688Z"}
{"executionTimeMs":4486,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c43ce244-4e7d-4f1d-b39b-cfc7cd6ea068/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:19.688Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:24 +0000] \"POST /api/campaigns/46f5f418-de79-49a0-9367-ed0f1ccda5f3/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:24.374Z"}
{"executionTimeMs":4574,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/46f5f418-de79-49a0-9367-ed0f1ccda5f3/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:24.375Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:28 +0000] \"POST /api/campaigns/1190052a-b3b6-4a9e-9f4e-1089ec412c5f/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:28.989Z"}
{"executionTimeMs":4534,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/1190052a-b3b6-4a9e-9f4e-1089ec412c5f/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:28.989Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:33 +0000] \"POST /api/campaigns/e58c3585-234b-4e0c-9c6b-863be8927b2c/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:33.561Z"}
{"executionTimeMs":4479,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/e58c3585-234b-4e0c-9c6b-863be8927b2c/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:33.562Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:38 +0000] \"POST /api/campaigns/b94891d4-d327-4ba3-8cfc-c988eeb82f0a/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:38.055Z"}
{"executionTimeMs":4415,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b94891d4-d327-4ba3-8cfc-c988eeb82f0a/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:38.055Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:42 +0000] \"POST /api/campaigns/fc641e77-46f8-4457-9499-71ec58c194e7/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:42.758Z"}
{"executionTimeMs":4604,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/fc641e77-46f8-4457-9499-71ec58c194e7/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:42.758Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:47 +0000] \"POST /api/campaigns/23c059a6-bf2b-4f73-96c0-2924c336f612/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:47.118Z"}
{"executionTimeMs":4266,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/23c059a6-bf2b-4f73-96c0-2924c336f612/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:47.118Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:51 +0000] \"POST /api/campaigns/a6845749-b95a-4afe-a5df-98b01a40aea7/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:51.930Z"}
{"executionTimeMs":4731,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/a6845749-b95a-4afe-a5df-98b01a40aea7/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:51.930Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:26:56 +0000] \"POST /api/campaigns/bb581946-745c-4bfe-9f41-f8bc27b01171/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:26:56.427Z"}
{"executionTimeMs":4404,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bb581946-745c-4bfe-9f41-f8bc27b01171/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:26:56.427Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:27:01 +0000] \"POST /api/campaigns/18ad3443-54fd-488b-afb1-dbac287967bd/metrics/sync HTTP/1.1\" 200 140 \"http://143.110.241.90:5173/\" \"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-19T11:27:01.016Z"}
{"executionTimeMs":4501,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/18ad3443-54fd-488b-afb1-dbac287967bd/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:27:01.016Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:27:12 +0000] \"POST /api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T11:27:12.232Z"}
{"executionTimeMs":11127,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:27:12.232Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:27:16 +0000] \"POST /api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T11:27:16.960Z"}
{"executionTimeMs":4639,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:27:16.960Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:27:21 +0000] \"POST /api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T11:27:21.581Z"}
{"executionTimeMs":4534,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:27:21.581Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:27:26 +0000] \"POST /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-19T11:27:26.242Z"}
{"executionTimeMs":4582,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync","statusCode":200,"timestamp":"2026-08-19T11:27:26.242Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:11:27:26 +0000] \"GET /api/campaigns HTTP/1.1\" 200 48863 \"http://143.110.241.90:5173/\" \"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-19T11:27:26.349Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-19T11:27:26.349Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:12:06:08 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T12:06:08.817Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-19T12:06:08.818Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:12:06:10 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T12:06:10.186Z"}
{"executionTimeMs":1400,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-19T12:06:10.187Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:12:06:15 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T12:06:15.778Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":304,"timestamp":"2026-08-19T12:06:15.778Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:12:06:15 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en HTTP/1.1\" 200 8852 \"http://143.110.241.90:5173/\" \"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-19T12:06:15.817Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-19T12:06:15.817Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:12:06:15 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T12:06:15.872Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":304,"timestamp":"2026-08-19T12:06:15.873Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [19/Aug/2026:12:06:15 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-19T12:06:15.906Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords","statusCode":304,"timestamp":"2026-08-19T12:06:15.907Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-19T13:39:04.380Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-19T13:39:10.470Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:31:32 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:31:32.554Z"}
{"executionTimeMs":123,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T03:31:32.555Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:31:32 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:31:32.564Z"}
{"executionTimeMs":75,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T03:31:32.565Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:31:34 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:31:34.174Z"}
{"executionTimeMs":1717,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T03:31:34.174Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:34:10 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:34:10.082Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T03:34:10.085Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:34:10 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:34:10.090Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":304,"timestamp":"2026-08-20T03:34:10.090Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:34:10 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:34:10.115Z"}
{"executionTimeMs":41,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords","statusCode":304,"timestamp":"2026-08-20T03:34:10.115Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:34:11 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:34:11.394Z"}
{"executionTimeMs":1340,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T03:34:11.394Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:56:18 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:56:18.075Z"}
{"executionTimeMs":41,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c","statusCode":304,"timestamp":"2026-08-20T03:56:18.077Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:56:18 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:56:18.104Z"}
{"executionTimeMs":40,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-20T03:56:18.106Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:56:18 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:56:18.215Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T03:56:18.215Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:56:18 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:56:18.233Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/competitors","statusCode":304,"timestamp":"2026-08-20T03:56:18.234Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:56:18 +0000] \"GET /api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:56:18.265Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/28b14b67-527e-4532-80ac-f092eb9ad50c/keywords","statusCode":304,"timestamp":"2026-08-20T03:56:18.265Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:56:18 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:56:18.855Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T03:56:18.855Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:03:56:19 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T03:56:19.461Z"}
{"executionTimeMs":1244,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T03:56:19.461Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:04:30 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:04:30.063Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T04:04:30.064Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:04:30 +0000] \"GET /api/applications HTTP/1.1\" 200 6267 \"http://143.110.241.90:5173/\" \"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-20T04:04:30.077Z"}
{"executionTimeMs":43,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T04:04:30.078Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:04:31 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:04:31.443Z"}
{"executionTimeMs":1438,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T04:04:31.443Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:08:58 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:08:58.972Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T04:08:58.972Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:08:58 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:08:58.976Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T04:08:58.976Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:08:58 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:08:58.990Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T04:08:58.991Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:08:59 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:08:59.001Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T04:08:59.002Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:09:00 +0000] \"GET /api/campaigns/conversion-actions?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd HTTP/1.1\" 200 1929 \"http://143.110.241.90:5173/\" \"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-20T04:09:00.066Z"}
{"executionTimeMs":962,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd","statusCode":200,"timestamp":"2026-08-20T04:09:00.066Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:09:00 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"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-20T04:09:00.180Z"}
{"executionTimeMs":1085,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd","statusCode":200,"timestamp":"2026-08-20T04:09:00.180Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:09:41 +0000] \"PATCH /api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/google-ads-customer HTTP/1.1\" 200 703 \"http://143.110.241.90:5173/\" \"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-20T04:09:41.020Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/google-ads-customer","statusCode":200,"timestamp":"2026-08-20T04:09:41.020Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:09:42 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T04:09:42.284Z"}
{"executionTimeMs":1106,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd","statusCode":200,"timestamp":"2026-08-20T04:09:42.284Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:09:42 +0000] \"GET /api/campaigns/conversion-actions?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd HTTP/1.1\" 200 1930 \"http://143.110.241.90:5173/\" \"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-20T04:09:42.600Z"}
{"executionTimeMs":1472,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd","statusCode":200,"timestamp":"2026-08-20T04:09:42.600Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:10:28 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:10:28.593Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T04:10:28.593Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:10:28 +0000] \"GET /api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/generated-assets?languageCode=en HTTP/1.1\" 200 17324 \"http://143.110.241.90:5173/\" \"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-20T04:10:28.683Z"}
{"executionTimeMs":67,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T04:10:28.683Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:10:49 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2897 \"http://143.110.241.90:5173/\" \"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-20T04:10:49.330Z"}
{"executionTimeMs":20734,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=c7c15487-a0fa-4b63-8f68-41f86a2153fd&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T04:10:49.331Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:11:08 +0000] \"GET /api/campaigns HTTP/1.1\" 200 15671 \"http://143.110.241.90:5173/\" \"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-20T04:11:08.568Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T04:11:08.568Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:26:05 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3571 \"http://143.110.241.90:5173/\" \"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-20T04:26:05.236Z"}
{"executionTimeMs":49,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T04:26:05.237Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-20T04:37:54.678Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-20T04:38:00.017Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:06 +0000] \"GET /api/applications HTTP/1.1\" 200 6267 \"http://143.110.241.90:5173/\" \"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-20T04:38:06.558Z"}
{"executionTimeMs":81,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T04:38:06.559Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:06 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-20T04:38:06.565Z"}
{"executionTimeMs":79,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-20T04:38:06.566Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:07 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-20T04:38:07.968Z"}
{"executionTimeMs":1549,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-20T04:38:07.968Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:18 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:38:18.996Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T04:38:18.998Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:19 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:38:19.002Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T04:38:19.003Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:19 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:38:19.006Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T04:38:19.006Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:19 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:38:19.011Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T04:38:19.011Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:20 +0000] \"GET /api/campaigns/conversion-actions?applicationId=9e394d97-9938-473a-8ce4-fe245100285f HTTP/1.1\" 200 1725 \"http://143.110.241.90:5173/\" \"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-20T04:38:20.020Z"}
{"executionTimeMs":927,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=9e394d97-9938-473a-8ce4-fe245100285f","statusCode":200,"timestamp":"2026-08-20T04:38:20.021Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:20 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=9e394d97-9938-473a-8ce4-fe245100285f HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"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-20T04:38:20.131Z"}
{"executionTimeMs":1035,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=9e394d97-9938-473a-8ce4-fe245100285f","statusCode":200,"timestamp":"2026-08-20T04:38:20.132Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:32 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:38:32.499Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T04:38:32.500Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:32 +0000] \"GET /api/applications/9e394d97-9938-473a-8ce4-fe245100285f/generated-assets?languageCode=en HTTP/1.1\" 200 17197 \"http://143.110.241.90:5173/\" \"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-20T04:38:32.530Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/9e394d97-9938-473a-8ce4-fe245100285f/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T04:38:32.532Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:38:50 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=9e394d97-9938-473a-8ce4-fe245100285f&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2873 \"http://143.110.241.90:5173/\" \"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-20T04:38:50.774Z"}
{"executionTimeMs":18272,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=9e394d97-9938-473a-8ce4-fe245100285f&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T04:38:50.774Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"PATCH","path":"/api/applications/9e394d97-9938-473a-8ce4-fe245100285f/google-ads-customer","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-20T04:52:10.308Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:10 +0000] \"PATCH /api/applications/9e394d97-9938-473a-8ce4-fe245100285f/google-ads-customer HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-20T04:52:10.310Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/9e394d97-9938-473a-8ce4-fe245100285f/google-ads-customer","statusCode":401,"timestamp":"2026-08-20T04:52:10.311Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:14 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-20T04:52:14.702Z"}
{"executionTimeMs":424,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-20T04:52:14.702Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:14 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:52:14.849Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T04:52:14.849Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:14 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:52:14.870Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T04:52:14.870Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:16 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:52:16.190Z"}
{"executionTimeMs":1370,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T04:52:16.190Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:16 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T04:52:16.386Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-20T04:52:16.386Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:24 +0000] \"POST /api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status HTTP/1.1\" 200 1743 \"http://143.110.241.90:5173/\" \"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-20T04:52:24.287Z"}
{"executionTimeMs":43,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:24.287Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:25 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-20T04:52:25.120Z"}
{"executionTimeMs":742,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:25.120Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:25 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status HTTP/1.1\" 200 4357 \"http://143.110.241.90:5173/\" \"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-20T04:52:25.884Z"}
{"executionTimeMs":671,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:25.885Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:26 +0000] \"POST /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/sync-status HTTP/1.1\" 200 5783 \"http://143.110.241.90:5173/\" \"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-20T04:52:26.607Z"}
{"executionTimeMs":628,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:26.607Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:27 +0000] \"POST /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/sync-status HTTP/1.1\" 200 4986 \"http://143.110.241.90:5173/\" \"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-20T04:52:27.343Z"}
{"executionTimeMs":643,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:27.344Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:27 +0000] \"POST /api/campaigns/f1c8c2c3-acda-4d70-b45d-5a300f1f3034/sync-status HTTP/1.1\" 200 4873 \"http://143.110.241.90:5173/\" \"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-20T04:52:27.445Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f1c8c2c3-acda-4d70-b45d-5a300f1f3034/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:27.446Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:28 +0000] \"POST /api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status HTTP/1.1\" 200 5368 \"http://143.110.241.90:5173/\" \"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-20T04:52:28.152Z"}
{"executionTimeMs":611,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:28.153Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:28 +0000] \"POST /api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/sync-status HTTP/1.1\" 200 5325 \"http://143.110.241.90:5173/\" \"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-20T04:52:28.864Z"}
{"executionTimeMs":617,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:28.864Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:29 +0000] \"POST /api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/sync-status HTTP/1.1\" 200 2191 \"http://143.110.241.90:5173/\" \"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-20T04:52:29.603Z"}
{"executionTimeMs":646,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:29.604Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:30 +0000] \"POST /api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/sync-status HTTP/1.1\" 200 4962 \"http://143.110.241.90:5173/\" \"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-20T04:52:30.310Z"}
{"executionTimeMs":612,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:30.310Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:30 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-20T04:52:30.388Z"}
{"executionTimeMs":6123,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:52:30.388Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:31 +0000] \"POST /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/sync-status HTTP/1.1\" 200 4969 \"http://143.110.241.90:5173/\" \"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-20T04:52:31.044Z"}
{"executionTimeMs":642,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:31.044Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:31 +0000] \"POST /api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/sync-status HTTP/1.1\" 200 4970 \"http://143.110.241.90:5173/\" \"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-20T04:52:31.803Z"}
{"executionTimeMs":662,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:31.803Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:32 +0000] \"POST /api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/sync-status HTTP/1.1\" 200 4964 \"http://143.110.241.90:5173/\" \"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-20T04:52:32.654Z"}
{"executionTimeMs":748,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/sync-status","statusCode":200,"timestamp":"2026-08-20T04:52:32.654Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:32 +0000] \"GET /api/campaigns HTTP/1.1\" 200 15672 \"http://143.110.241.90:5173/\" \"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-20T04:52:32.770Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T04:52:32.770Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:35 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T04:52:35.930Z"}
{"executionTimeMs":5470,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:52:35.930Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:42 +0000] \"POST /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T04:52:42.298Z"}
{"executionTimeMs":6291,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:52:42.299Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:47 +0000] \"POST /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T04:52:47.581Z"}
{"executionTimeMs":5199,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:52:47.581Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:53 +0000] \"POST /api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T04:52:53.797Z"}
{"executionTimeMs":6115,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:52:53.798Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:52:58 +0000] \"POST /api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T04:52:58.647Z"}
{"executionTimeMs":4766,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:52:58.647Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:53:03 +0000] \"POST /api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-20T04:53:03.771Z"}
{"executionTimeMs":5038,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:53:03.772Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:53:09 +0000] \"POST /api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T04:53:09.400Z"}
{"executionTimeMs":5550,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:53:09.400Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:53:14 +0000] \"POST /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T04:53:14.579Z"}
{"executionTimeMs":5104,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:53:14.579Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:53:19 +0000] \"POST /api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T04:53:19.393Z"}
{"executionTimeMs":4729,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:53:19.393Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:53:24 +0000] \"POST /api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T04:53:24.297Z"}
{"executionTimeMs":4808,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync","statusCode":200,"timestamp":"2026-08-20T04:53:24.297Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:04:53:24 +0000] \"GET /api/campaigns HTTP/1.1\" 200 15816 \"http://143.110.241.90:5173/\" \"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-20T04:53:24.398Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T04:53:24.398Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:24 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:24.288Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T05:13:24.288Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:24 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:24.293Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T05:13:24.293Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:25 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:25.627Z"}
{"executionTimeMs":1368,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T05:13:25.628Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:26 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:26.655Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T05:13:26.655Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:26 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:26.657Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T05:13:26.658Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:26 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:26.662Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T05:13:26.662Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:26 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:26.693Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T05:13:26.693Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:27 +0000] \"GET /api/campaigns/conversion-actions?applicationId=9e394d97-9938-473a-8ce4-fe245100285f HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:27.536Z"}
{"executionTimeMs":760,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=9e394d97-9938-473a-8ce4-fe245100285f","statusCode":304,"timestamp":"2026-08-20T05:13:27.537Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:27 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=9e394d97-9938-473a-8ce4-fe245100285f HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:27.859Z"}
{"executionTimeMs":1075,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=9e394d97-9938-473a-8ce4-fe245100285f","statusCode":304,"timestamp":"2026-08-20T05:13:27.860Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:38 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:38.937Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T05:13:38.938Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:38 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=9e394d97-9938-473a-8ce4-fe245100285f&adGroupCount=5&languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:13:38.989Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=9e394d97-9938-473a-8ce4-fe245100285f&adGroupCount=5&languageCode=en","statusCode":304,"timestamp":"2026-08-20T05:13:38.989Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:39 +0000] \"GET /api/applications/9e394d97-9938-473a-8ce4-fe245100285f/generated-assets?languageCode=en HTTP/1.1\" 200 42060 \"http://143.110.241.90:5173/\" \"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-20T05:13:39.027Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/9e394d97-9938-473a-8ce4-fe245100285f/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T05:13:39.027Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:46 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 4259 \"http://143.110.241.90:5173/\" \"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-20T05:13:46.079Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T05:13:46.079Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:13:47 +0000] \"POST /api/campaigns HTTP/1.1\" 201 901 \"http://143.110.241.90:5173/\" \"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-20T05:13:47.569Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T05:13:47.569Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:14:02 +0000] \"POST /api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T05:14:02.945Z"}
{"executionTimeMs":15283,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/create","statusCode":200,"timestamp":"2026-08-20T05:14:02.946Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:14:03 +0000] \"GET /api/campaigns HTTP/1.1\" 200 16822 \"http://143.110.241.90:5173/\" \"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-20T05:14:03.143Z"}
{"executionTimeMs":43,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T05:14:03.152Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:14:06 +0000] \"GET /api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b HTTP/1.1\" 200 5583 \"http://143.110.241.90:5173/\" \"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-20T05:14:06.808Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b","statusCode":200,"timestamp":"2026-08-20T05:14:06.808Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:14:08 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T05:14:08.177Z"}
{"executionTimeMs":1270,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T05:14:08.178Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:14:12 +0000] \"PATCH /api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/status HTTP/1.1\" 200 928 \"http://143.110.241.90:5173/\" \"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-20T05:14:12.315Z"}
{"executionTimeMs":737,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/status","statusCode":200,"timestamp":"2026-08-20T05:14:12.315Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:14:12 +0000] \"GET /api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b HTTP/1.1\" 200 5582 \"http://143.110.241.90:5173/\" \"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-20T05:14:12.416Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b","statusCode":200,"timestamp":"2026-08-20T05:14:12.416Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:37:54 +0000] \"GET /api/campaigns HTTP/1.1\" 200 16821 \"http://143.110.241.90:5173/\" \"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-20T05:37:54.436Z"}
{"executionTimeMs":40,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T05:37:54.436Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:18 +0000] \"POST /api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/sync-status HTTP/1.1\" 200 5582 \"http://143.110.241.90:5173/\" \"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-20T05:38:18.845Z"}
{"executionTimeMs":991,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:18.846Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:18 +0000] \"POST /api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status HTTP/1.1\" 200 1743 \"http://143.110.241.90:5173/\" \"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-20T05:38:18.947Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:18.949Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:19 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-20T05:38:19.764Z"}
{"executionTimeMs":736,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:19.765Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:21 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status HTTP/1.1\" 200 4357 \"http://143.110.241.90:5173/\" \"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-20T05:38:21.015Z"}
{"executionTimeMs":1162,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:21.015Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:21 +0000] \"POST /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/sync-status HTTP/1.1\" 200 5783 \"http://143.110.241.90:5173/\" \"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-20T05:38:21.745Z"}
{"executionTimeMs":642,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:21.746Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:22 +0000] \"POST /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/sync-status HTTP/1.1\" 200 4986 \"http://143.110.241.90:5173/\" \"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-20T05:38:22.462Z"}
{"executionTimeMs":635,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:22.462Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:22 +0000] \"POST /api/campaigns/f1c8c2c3-acda-4d70-b45d-5a300f1f3034/sync-status HTTP/1.1\" 200 4873 \"http://143.110.241.90:5173/\" \"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-20T05:38:22.550Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f1c8c2c3-acda-4d70-b45d-5a300f1f3034/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:22.550Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:23 +0000] \"POST /api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status HTTP/1.1\" 200 5368 \"http://143.110.241.90:5173/\" \"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-20T05:38:23.331Z"}
{"executionTimeMs":701,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:23.332Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:23 +0000] \"POST /api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:38:23.477Z"}
{"executionTimeMs":5639,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:38:23.477Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:24 +0000] \"POST /api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/sync-status HTTP/1.1\" 200 5325 \"http://143.110.241.90:5173/\" \"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-20T05:38:24.062Z"}
{"executionTimeMs":649,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:24.062Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:24 +0000] \"POST /api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/sync-status HTTP/1.1\" 200 2191 \"http://143.110.241.90:5173/\" \"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-20T05:38:24.750Z"}
{"executionTimeMs":597,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:24.751Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:25 +0000] \"POST /api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/sync-status HTTP/1.1\" 200 4962 \"http://143.110.241.90:5173/\" \"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-20T05:38:25.438Z"}
{"executionTimeMs":594,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:25.439Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:26 +0000] \"POST /api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/sync-status HTTP/1.1\" 200 4970 \"http://143.110.241.90:5173/\" \"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-20T05:38:26.085Z"}
{"executionTimeMs":564,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:26.086Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:26 +0000] \"POST /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/sync-status HTTP/1.1\" 200 4969 \"http://143.110.241.90:5173/\" \"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-20T05:38:26.884Z"}
{"executionTimeMs":620,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:26.884Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:27 +0000] \"POST /api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/sync-status HTTP/1.1\" 200 4965 \"http://143.110.241.90:5173/\" \"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-20T05:38:27.577Z"}
{"executionTimeMs":610,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/sync-status","statusCode":200,"timestamp":"2026-08-20T05:38:27.578Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:27 +0000] \"GET /api/campaigns HTTP/1.1\" 200 16969 \"http://143.110.241.90:5173/\" \"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-20T05:38:27.677Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T05:38:27.677Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:28 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-20T05:38:28.528Z"}
{"executionTimeMs":4977,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:38:28.529Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:34 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:38:34.704Z"}
{"executionTimeMs":6092,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:38:34.704Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:39 +0000] \"POST /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:38:39.748Z"}
{"executionTimeMs":4975,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:38:39.748Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:44 +0000] \"POST /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:38:44.856Z"}
{"executionTimeMs":5037,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:38:44.856Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:52 +0000] \"POST /api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:38:52.535Z"}
{"executionTimeMs":7599,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:38:52.535Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:38:57 +0000] \"POST /api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:38:57.594Z"}
{"executionTimeMs":4986,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:38:57.594Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:39:02 +0000] \"POST /api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-20T05:39:02.263Z"}
{"executionTimeMs":4597,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:39:02.264Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:39:07 +0000] \"POST /api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:39:07.280Z"}
{"executionTimeMs":4942,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:39:07.281Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:39:12 +0000] \"POST /api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:39:12.079Z"}
{"executionTimeMs":4730,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:39:12.080Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:39:16 +0000] \"POST /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:39:16.826Z"}
{"executionTimeMs":4675,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:39:16.826Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:39:21 +0000] \"POST /api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T05:39:21.983Z"}
{"executionTimeMs":5087,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync","statusCode":200,"timestamp":"2026-08-20T05:39:21.983Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:05:39:22 +0000] \"GET /api/campaigns HTTP/1.1\" 200 16969 \"http://143.110.241.90:5173/\" \"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-20T05:39:22.094Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T05:39:22.095Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:20 +0000] \"GET /api/campaigns HTTP/1.1\" 200 16969 \"http://143.110.241.90:5173/\" \"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-20T06:12:20.749Z"}
{"executionTimeMs":69,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T06:12:20.749Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:24 +0000] \"POST /api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/sync-status HTTP/1.1\" 200 5582 \"http://143.110.241.90:5173/\" \"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-20T06:12:24.430Z"}
{"executionTimeMs":857,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:24.430Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:24 +0000] \"POST /api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status HTTP/1.1\" 200 1743 \"http://143.110.241.90:5173/\" \"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-20T06:12:24.567Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b241970f-9f67-45d2-b423-a943fd2b6ede/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:24.568Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:25 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status HTTP/1.1\" 200 1858 \"http://143.110.241.90:5173/\" \"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-20T06:12:25.337Z"}
{"executionTimeMs":681,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:25.337Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:25 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status HTTP/1.1\" 200 4357 \"http://143.110.241.90:5173/\" \"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-20T06:12:25.995Z"}
{"executionTimeMs":584,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:25.995Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:26 +0000] \"POST /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/sync-status HTTP/1.1\" 200 5783 \"http://143.110.241.90:5173/\" \"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-20T06:12:26.705Z"}
{"executionTimeMs":633,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:26.705Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:27 +0000] \"POST /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/sync-status HTTP/1.1\" 200 4986 \"http://143.110.241.90:5173/\" \"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-20T06:12:27.400Z"}
{"executionTimeMs":619,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:27.400Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:27 +0000] \"POST /api/campaigns/f1c8c2c3-acda-4d70-b45d-5a300f1f3034/sync-status HTTP/1.1\" 200 4873 \"http://143.110.241.90:5173/\" \"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-20T06:12:27.480Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f1c8c2c3-acda-4d70-b45d-5a300f1f3034/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:27.480Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:28 +0000] \"POST /api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status HTTP/1.1\" 200 5368 \"http://143.110.241.90:5173/\" \"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-20T06:12:28.194Z"}
{"executionTimeMs":642,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:28.195Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:28 +0000] \"POST /api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/sync-status HTTP/1.1\" 200 5325 \"http://143.110.241.90:5173/\" \"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-20T06:12:28.841Z"}
{"executionTimeMs":571,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:28.841Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:29 +0000] \"POST /api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/sync-status HTTP/1.1\" 200 2191 \"http://143.110.241.90:5173/\" \"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-20T06:12:29.539Z"}
{"executionTimeMs":620,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:29.539Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:29 +0000] \"POST /api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:12:29.969Z"}
{"executionTimeMs":5497,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/192f2d87-22cc-4f65-9784-99973a3ad81b/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:12:29.969Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:30 +0000] \"POST /api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/sync-status HTTP/1.1\" 200 4965 \"http://143.110.241.90:5173/\" \"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-20T06:12:30.206Z"}
{"executionTimeMs":591,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:30.206Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:30 +0000] \"POST /api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/sync-status HTTP/1.1\" 200 4962 \"http://143.110.241.90:5173/\" \"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-20T06:12:30.900Z"}
{"executionTimeMs":625,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:30.900Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:31 +0000] \"POST /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/sync-status HTTP/1.1\" 200 4969 \"http://143.110.241.90:5173/\" \"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-20T06:12:31.661Z"}
{"executionTimeMs":694,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:31.661Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:32 +0000] \"POST /api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/sync-status HTTP/1.1\" 200 4970 \"http://143.110.241.90:5173/\" \"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-20T06:12:32.307Z"}
{"executionTimeMs":578,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/sync-status","statusCode":200,"timestamp":"2026-08-20T06:12:32.307Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:32 +0000] \"GET /api/campaigns HTTP/1.1\" 200 16969 \"http://143.110.241.90:5173/\" \"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-20T06:12:32.384Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T06:12:32.385Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:34 +0000] \"POST /api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-20T06:12:34.623Z"}
{"executionTimeMs":4584,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0270b69e-8b89-4112-b207-b0f55c87bebb/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:12:34.623Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:40 +0000] \"POST /api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:12:40.065Z"}
{"executionTimeMs":5364,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/5cfcd7ad-a33d-43c0-8f41-3d593f45f135/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:12:40.065Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:45 +0000] \"POST /api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:12:45.035Z"}
{"executionTimeMs":4896,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b5703884-2632-456e-a438-3cdec3aa192c/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:12:45.035Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:49 +0000] \"POST /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:12:49.995Z"}
{"executionTimeMs":4887,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:12:49.996Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:12:56 +0000] \"POST /api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:12:56.469Z"}
{"executionTimeMs":6400,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/d6d5d57b-f8b3-4a13-87c4-79f8709c282c/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:12:56.469Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:13:01 +0000] \"POST /api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:13:01.276Z"}
{"executionTimeMs":4683,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/84bb9630-7602-4177-8299-d249a7039c1e/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:13:01.276Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:13:06 +0000] \"POST /api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"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-20T06:13:06.161Z"}
{"executionTimeMs":4807,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/b3b09b50-9f91-47b4-be23-3e3760334650/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:13:06.162Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:13:11 +0000] \"POST /api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:13:11.178Z"}
{"executionTimeMs":4936,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/15e03a12-9a10-40eb-aa0a-09531ca74289/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:13:11.178Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:13:15 +0000] \"POST /api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:13:15.895Z"}
{"executionTimeMs":4645,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/adef2709-aed1-4b30-8edb-f0a255d4a39f/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:13:15.895Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:13:21 +0000] \"POST /api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:13:21.147Z"}
{"executionTimeMs":4927,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/63dcfa43-cd53-4649-96fc-5237abc39561/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:13:21.147Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:13:25 +0000] \"POST /api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync HTTP/1.1\" 200 142 \"http://143.110.241.90:5173/\" \"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-20T06:13:25.858Z"}
{"executionTimeMs":4635,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b/metrics/sync","statusCode":200,"timestamp":"2026-08-20T06:13:25.859Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:06:13:25 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T06:13:25.957Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-20T06:13:25.957Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-20T08:50:21.530Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-20T08:50:30.032Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:50:31 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T08:50:31.076Z"}
{"executionTimeMs":162,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T08:50:31.078Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:50:31 +0000] \"GET /api/applications HTTP/1.1\" 200 6456 \"http://143.110.241.90:5173/\" \"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-20T08:50:31.092Z"}
{"executionTimeMs":106,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T08:50:31.093Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:50:32 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T08:50:32.653Z"}
{"executionTimeMs":1707,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T08:50:32.656Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:50:33 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-20T08:50:33.474Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-20T08:50:33.476Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:50:33 +0000] \"GET /api/applications HTTP/1.1\" 200 6456 \"http://143.110.241.90:5173/\" \"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-20T08:50:33.484Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T08:50:33.486Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:50:34 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-20T08:50:34.905Z"}
{"executionTimeMs":1440,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-20T08:50:34.907Z"}
{"level":"error","message":"Request failed column \"platform\" does not exist","method":"POST","path":"/api/applications/import","stack":"error: column \"platform\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async ApplicationsRepository.findByPackageName (/var/www/html/google-ads-automation/backend/src/repositories/applicationsRepository.js:5:22)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:36:18)","statusCode":500,"timestamp":"2026-08-20T08:50:37.627Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:50:37 +0000] \"POST /api/applications/import HTTP/1.1\" 500 61 \"http://143.110.241.90:5173/\" \"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-20T08:50:37.629Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":500,"timestamp":"2026-08-20T08:50:37.630Z"}
{"level":"error","message":"Request failed column \"platform\" does not exist","method":"POST","path":"/api/applications/import","stack":"error: column \"platform\" does not exist\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async ApplicationsRepository.findByPackageName (/var/www/html/google-ads-automation/backend/src/repositories/applicationsRepository.js:5:22)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:36:18)","statusCode":500,"timestamp":"2026-08-20T08:50:49.370Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:50:49 +0000] \"POST /api/applications/import HTTP/1.1\" 500 61 \"http://143.110.241.90:5173/\" \"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-20T08:50:49.372Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":500,"timestamp":"2026-08-20T08:50:49.372Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-08-20T08:52:19.520Z"}
{"level":"info","message":"Skipping already-applied migration: 002_users.sql","timestamp":"2026-08-20T08:52:19.523Z"}
{"level":"info","message":"Skipping already-applied migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-08-20T08:52:19.523Z"}
{"level":"info","message":"Skipping already-applied migration: 004_country_language_mapping.sql","timestamp":"2026-08-20T08:52:19.524Z"}
{"level":"info","message":"Skipping already-applied migration: 005_application_google_ads_customer.sql","timestamp":"2026-08-20T08:52:19.524Z"}
{"level":"info","message":"Skipping already-applied migration: 006_status_lifecycle.sql","timestamp":"2026-08-20T08:52:19.525Z"}
{"level":"info","message":"Skipping already-applied migration: 007_campaign_defaults.sql","timestamp":"2026-08-20T08:52:19.525Z"}
{"level":"info","message":"Skipping already-applied migration: 008_drop_network_settings.sql","timestamp":"2026-08-20T08:52:19.525Z"}
{"level":"info","message":"Skipping already-applied migration: 009_asset_intelligence.sql","timestamp":"2026-08-20T08:52:19.526Z"}
{"level":"info","message":"Skipping already-applied migration: 010_application_image_assets.sql","timestamp":"2026-08-20T08:52:19.526Z"}
{"level":"info","message":"Skipping already-applied migration: 011_ad_group_copy_history.sql","timestamp":"2026-08-20T08:52:19.526Z"}
{"level":"info","message":"Skipping already-applied migration: 012_campaign_metric_snapshots.sql","timestamp":"2026-08-20T08:52:19.526Z"}
{"level":"info","message":"Skipping already-applied migration: 013_ad_group_image_assets.sql","timestamp":"2026-08-20T08:52:19.526Z"}
{"level":"info","message":"Skipping already-applied migration: 014_created_by_user_id.sql","timestamp":"2026-08-20T08:52:19.527Z"}
{"level":"info","message":"Skipping already-applied migration: 015_google_ads_account_candidates.sql","timestamp":"2026-08-20T08:52:19.527Z"}
{"level":"info","message":"Skipping already-applied migration: 016_video_assets.sql","timestamp":"2026-08-20T08:52:19.527Z"}
{"level":"info","message":"Skipping already-applied migration: 017_generated_asset_sets_language.sql","timestamp":"2026-08-20T08:52:19.527Z"}
{"level":"info","message":"Skipping already-applied migration: 018_campaign_templates.sql","timestamp":"2026-08-20T08:52:19.528Z"}
{"level":"info","message":"Skipping already-applied migration: 019_drop_country_language_mapping.sql","timestamp":"2026-08-20T08:52:19.528Z"}
{"level":"info","message":"Skipping already-applied migration: 020_fix_campaign_name_uniqueness.sql","timestamp":"2026-08-20T08:52:19.528Z"}
{"level":"info","message":"Skipping already-applied migration: 021_exclude_removed_from_campaign_name_uniqueness.sql","timestamp":"2026-08-20T08:52:19.528Z"}
{"level":"info","message":"Applying migration: 022_ios_platform_support.sql","timestamp":"2026-08-20T08:52:19.529Z"}
{"level":"info","message":"Migration applied: 022_ios_platform_support.sql","timestamp":"2026-08-20T08:52:19.550Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-20T08:52:29.550Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-20T08:52:34.956Z"}
{"accountName":"Somish - IOS","customerId":"3440438561","level":"info","message":"Found existing Google Ads campaign for package name","packageName":"6503691239","timestamp":"2026-08-20T08:53:32.302Z"}
{"accountName":"Somish - IOS","applicationId":"54ffff71-2890-41c6-8a8d-14435cb01fa0","customerId":"3440438561","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"6503691239","timestamp":"2026-08-20T08:53:32.308Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:32 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1166 \"http://143.110.241.90:5173/\" \"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-20T08:53:32.314Z"}
{"executionTimeMs":3188,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T08:53:32.314Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:32 +0000] \"GET /api/applications HTTP/1.1\" 200 7599 \"http://143.110.241.90:5173/\" \"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-20T08:53:32.407Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T08:53:32.407Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:32 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T08:53:32.494Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T08:53:32.495Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:32 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T08:53:32.512Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T08:53:32.512Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:32 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T08:53:32.517Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T08:53:32.518Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:32 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T08:53:32.525Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T08:53:32.526Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:33 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0 HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"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-20T08:53:33.679Z"}
{"executionTimeMs":1055,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0","statusCode":200,"timestamp":"2026-08-20T08:53:33.680Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:33 +0000] \"GET /api/campaigns/conversion-actions?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0 HTTP/1.1\" 200 2711 \"http://143.110.241.90:5173/\" \"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-20T08:53:33.926Z"}
{"executionTimeMs":1298,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0","statusCode":200,"timestamp":"2026-08-20T08:53:33.926Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:44 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T08:53:44.993Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T08:53:44.994Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:45 +0000] \"GET /api/applications/54ffff71-2890-41c6-8a8d-14435cb01fa0/generated-assets?languageCode=en HTTP/1.1\" 200 28 \"http://143.110.241.90:5173/\" \"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-20T08:53:45.028Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/54ffff71-2890-41c6-8a8d-14435cb01fa0/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T08:53:45.031Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:52 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0&adGroupCount=1&languageCode=en HTTP/1.1\" 200 581 \"http://143.110.241.90:5173/\" \"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-20T08:53:52.703Z"}
{"executionTimeMs":7706,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-20T08:53:52.704Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:53:59 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1503 \"http://143.110.241.90:5173/\" \"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-20T08:53:59.805Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T08:53:59.805Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:54:01 +0000] \"POST /api/campaigns HTTP/1.1\" 201 902 \"http://143.110.241.90:5173/\" \"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-20T08:54:01.117Z"}
{"executionTimeMs":50,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T08:54:01.118Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:54:10 +0000] \"POST /api/campaigns/c1205193-1e5d-42e1-920d-03ec8c473606/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"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-20T08:54:10.915Z"}
{"executionTimeMs":9720,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c1205193-1e5d-42e1-920d-03ec8c473606/create","statusCode":200,"timestamp":"2026-08-20T08:54:10.915Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:54:11 +0000] \"GET /api/campaigns HTTP/1.1\" 200 17945 \"http://143.110.241.90:5173/\" \"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-20T08:54:11.115Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T08:54:11.116Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:58:20 +0000] \"GET /api/campaigns/c1205193-1e5d-42e1-920d-03ec8c473606 HTTP/1.1\" 200 2111 \"http://143.110.241.90:5173/\" \"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-20T08:58:20.089Z"}
{"executionTimeMs":55,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c1205193-1e5d-42e1-920d-03ec8c473606","statusCode":200,"timestamp":"2026-08-20T08:58:20.089Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:58:21 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T08:58:21.563Z"}
{"executionTimeMs":1381,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T08:58:21.563Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:58:22 +0000] \"PATCH /api/campaigns/c1205193-1e5d-42e1-920d-03ec8c473606/status HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-20T08:58:22.843Z"}
{"executionTimeMs":891,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/c1205193-1e5d-42e1-920d-03ec8c473606/status","statusCode":200,"timestamp":"2026-08-20T08:58:22.845Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:08:58:22 +0000] \"GET /api/campaigns/c1205193-1e5d-42e1-920d-03ec8c473606 HTTP/1.1\" 200 2110 \"http://143.110.241.90:5173/\" \"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-20T08:58:22.898Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c1205193-1e5d-42e1-920d-03ec8c473606","statusCode":200,"timestamp":"2026-08-20T08:58:22.898Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:06:28 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:06:28.858Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T09:06:28.858Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:06:28 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:06:28.865Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:06:28.866Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:06:31 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:06:31.743Z"}
{"executionTimeMs":2917,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:06:31.744Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:33 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-20T09:07:33.608Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-20T09:07:33.608Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:33 +0000] \"GET /api/applications HTTP/1.1\" 200 7599 \"http://143.110.241.90:5173/\" \"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-20T09:07:33.613Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:07:33.614Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:34 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-20T09:07:34.900Z"}
{"executionTimeMs":1331,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-20T09:07:34.900Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:36 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:07:36.043Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:07:36.043Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:36 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:07:36.048Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T09:07:36.048Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:37 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:07:37.278Z"}
{"executionTimeMs":1245,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:07:37.281Z"}
{"applicationId":"6bbbacab-3b51-4e20-97b2-ed74c08a000f","customerId":"6891608445","level":"info","message":"Auto-assigned Google Ads customer ID to imported application","packageName":"6785798137","reason":"same developer as 5 existing app(s)","timestamp":"2026-08-20T09:07:51.790Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:51 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1181 \"http://143.110.241.90:5173/\" \"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-20T09:07:51.791Z"}
{"executionTimeMs":2821,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T09:07:51.791Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:51 +0000] \"GET /api/applications HTTP/1.1\" 200 8757 \"http://143.110.241.90:5173/\" \"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-20T09:07:51.878Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:07:51.878Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:51 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-20T09:07:51.975Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-20T09:07:51.976Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:51 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-20T09:07:51.991Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-20T09:07:51.991Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:52 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-20T09:07:52.005Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-20T09:07:52.005Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:52 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-20T09:07:52.006Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-20T09:07:52.006Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:52 +0000] \"GET /api/campaigns/conversion-actions?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f HTTP/1.1\" 200 63 \"http://143.110.241.90:5173/\" \"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-20T09:07:52.844Z"}
{"executionTimeMs":754,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f","statusCode":200,"timestamp":"2026-08-20T09:07:52.844Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:07:53 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T09:07:53.194Z"}
{"executionTimeMs":1099,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f","statusCode":200,"timestamp":"2026-08-20T09:07:53.194Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:08:35 +0000] \"POST /api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16961 \"http://143.110.241.90:5173/\" \"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-20T09:08:35.000Z"}
{"executionTimeMs":8886,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T09:08:35.000Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:08:48 +0000] \"PATCH /api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/google-ads-customer HTTP/1.1\" 200 1181 \"http://143.110.241.90:5173/\" \"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-20T09:08:48.787Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/google-ads-customer","statusCode":200,"timestamp":"2026-08-20T09:08:48.788Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:08:50 +0000] \"GET /api/campaigns/conversion-actions?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f HTTP/1.1\" 200 1437 \"http://143.110.241.90:5173/\" \"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-20T09:08:50.212Z"}
{"executionTimeMs":1350,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f","statusCode":200,"timestamp":"2026-08-20T09:08:50.212Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:09:06 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-20T09:09:06.369Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-20T09:09:06.370Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:09:06 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f&adGroupCount=1&languageCode=en HTTP/1.1\" 200 487 \"http://143.110.241.90:5173/\" \"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-20T09:09:06.383Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:09:06.383Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:09:06 +0000] \"GET /api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/generated-assets?languageCode=en HTTP/1.1\" 200 16961 \"http://143.110.241.90:5173/\" \"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-20T09:09:06.398Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:09:06.398Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:09:38 +0000] \"POST /api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16872 \"http://143.110.241.90:5173/\" \"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-20T09:09:38.092Z"}
{"executionTimeMs":6536,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T09:09:38.093Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:09:41 +0000] \"POST /api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17007 \"http://143.110.241.90:5173/\" \"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-20T09:09:41.017Z"}
{"executionTimeMs":6712,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/6bbbacab-3b51-4e20-97b2-ed74c08a000f/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T09:09:41.017Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:09:43 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2574 \"http://143.110.241.90:5173/\" \"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-20T09:09:43.559Z"}
{"executionTimeMs":15502,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=6bbbacab-3b51-4e20-97b2-ed74c08a000f&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:09:43.560Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:10:04 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3772 \"http://143.110.241.90:5173/\" \"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-20T09:10:04.207Z"}
{"executionTimeMs":47,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T09:10:04.209Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:10:20 +0000] \"POST /api/campaigns HTTP/1.1\" 201 977 \"http://143.110.241.90:5173/\" \"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-20T09:10:20.188Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T09:10:20.188Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:10:33 +0000] \"POST /api/campaigns/83c9fbbb-8e6a-43b7-9798-6118af764cd0/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T09:10:33.532Z"}
{"executionTimeMs":13272,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/83c9fbbb-8e6a-43b7-9798-6118af764cd0/create","statusCode":200,"timestamp":"2026-08-20T09:10:33.533Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:10:33 +0000] \"GET /api/campaigns HTTP/1.1\" 200 18996 \"http://143.110.241.90:5173/\" \"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-20T09:10:33.645Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T09:10:33.645Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:12 +0000] \"GET /api/applications HTTP/1.1\" 200 8757 \"http://143.110.241.90:5173/\" \"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-20T09:12:12.280Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:12:12.280Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:12 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:12:12.291Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:12:12.291Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:13 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:12:13.488Z"}
{"executionTimeMs":1236,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:12:13.489Z"}
{"applicationId":"1e515ef1-ef23-4e9e-b1f7-e953bd463e76","customerId":"6891608445","level":"info","message":"Auto-assigned Google Ads customer ID to imported application","packageName":"6786262482","reason":"same developer as 5 existing app(s)","timestamp":"2026-08-20T09:12:18.425Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:18 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1183 \"http://143.110.241.90:5173/\" \"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-20T09:12:18.426Z"}
{"executionTimeMs":2523,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T09:12:18.426Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:18 +0000] \"GET /api/applications HTTP/1.1\" 200 9917 \"http://143.110.241.90:5173/\" \"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-20T09:12:18.501Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:12:18.502Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:19 +0000] \"GET /api/campaigns/conversion-actions?applicationId=1e515ef1-ef23-4e9e-b1f7-e953bd463e76 HTTP/1.1\" 200 63 \"http://143.110.241.90:5173/\" \"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-20T09:12:19.417Z"}
{"executionTimeMs":843,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=1e515ef1-ef23-4e9e-b1f7-e953bd463e76","statusCode":200,"timestamp":"2026-08-20T09:12:19.418Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:19 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=1e515ef1-ef23-4e9e-b1f7-e953bd463e76 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T09:12:19.636Z"}
{"executionTimeMs":1030,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=1e515ef1-ef23-4e9e-b1f7-e953bd463e76","statusCode":200,"timestamp":"2026-08-20T09:12:19.637Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:24 +0000] \"PATCH /api/applications/1e515ef1-ef23-4e9e-b1f7-e953bd463e76/google-ads-customer HTTP/1.1\" 200 1183 \"http://143.110.241.90:5173/\" \"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-20T09:12:24.744Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/1e515ef1-ef23-4e9e-b1f7-e953bd463e76/google-ads-customer","statusCode":200,"timestamp":"2026-08-20T09:12:24.744Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:25 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=1e515ef1-ef23-4e9e-b1f7-e953bd463e76 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:12:25.663Z"}
{"executionTimeMs":846,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=1e515ef1-ef23-4e9e-b1f7-e953bd463e76","statusCode":304,"timestamp":"2026-08-20T09:12:25.663Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:12:25 +0000] \"GET /api/campaigns/conversion-actions?applicationId=1e515ef1-ef23-4e9e-b1f7-e953bd463e76 HTTP/1.1\" 200 1457 \"http://143.110.241.90:5173/\" \"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-20T09:12:25.993Z"}
{"executionTimeMs":1173,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=1e515ef1-ef23-4e9e-b1f7-e953bd463e76","statusCode":200,"timestamp":"2026-08-20T09:12:25.993Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:13:41 +0000] \"POST /api/applications/1e515ef1-ef23-4e9e-b1f7-e953bd463e76/generate-assets?languageCode=en&descriptionMaxLength=30 HTTP/1.1\" 201 12889 \"http://143.110.241.90:5173/\" \"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-20T09:13:41.039Z"}
{"executionTimeMs":5608,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/1e515ef1-ef23-4e9e-b1f7-e953bd463e76/generate-assets?languageCode=en&descriptionMaxLength=30","statusCode":201,"timestamp":"2026-08-20T09:13:41.039Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:13:46 +0000] \"POST /api/applications/1e515ef1-ef23-4e9e-b1f7-e953bd463e76/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17073 \"http://143.110.241.90:5173/\" \"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-20T09:13:46.923Z"}
{"executionTimeMs":6812,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/1e515ef1-ef23-4e9e-b1f7-e953bd463e76/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T09:13:46.923Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:14:06 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3966 \"http://143.110.241.90:5173/\" \"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-20T09:14:06.219Z"}
{"executionTimeMs":12180,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T09:14:06.219Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:14:47 +0000] \"POST /api/campaigns HTTP/1.1\" 201 977 \"http://143.110.241.90:5173/\" \"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-20T09:14:47.241Z"}
{"executionTimeMs":47,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T09:14:47.241Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:14:59 +0000] \"POST /api/campaigns/8d68c9ff-1c8d-4541-9fe1-d752ca027f37/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T09:14:59.539Z"}
{"executionTimeMs":12207,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/8d68c9ff-1c8d-4541-9fe1-d752ca027f37/create","statusCode":200,"timestamp":"2026-08-20T09:14:59.540Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:14:59 +0000] \"GET /api/campaigns HTTP/1.1\" 200 20048 \"http://143.110.241.90:5173/\" \"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-20T09:14:59.701Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T09:14:59.702Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:31 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:16:31.158Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:16:31.158Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:31 +0000] \"GET /api/applications HTTP/1.1\" 200 9917 \"http://143.110.241.90:5173/\" \"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-20T09:16:31.165Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:16:31.165Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:32 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:16:32.506Z"}
{"executionTimeMs":1367,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:16:32.507Z"}
{"applicationId":"54068e8d-3bcf-4279-8e29-4b17bd421eba","customerId":"6891608445","level":"info","message":"Auto-assigned Google Ads customer ID to imported application","packageName":"6778752802","reason":"same developer as 5 existing app(s)","timestamp":"2026-08-20T09:16:40.869Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:40 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1183 \"http://143.110.241.90:5173/\" \"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-20T09:16:40.870Z"}
{"executionTimeMs":2635,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T09:16:40.870Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:40 +0000] \"GET /api/applications HTTP/1.1\" 200 11077 \"http://143.110.241.90:5173/\" \"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-20T09:16:40.946Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:16:40.946Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:41 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T09:16:41.891Z"}
{"executionTimeMs":835,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba","statusCode":200,"timestamp":"2026-08-20T09:16:41.891Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:41 +0000] \"GET /api/campaigns/conversion-actions?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba HTTP/1.1\" 200 63 \"http://143.110.241.90:5173/\" \"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-20T09:16:41.988Z"}
{"executionTimeMs":964,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba","statusCode":200,"timestamp":"2026-08-20T09:16:41.989Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:45 +0000] \"PATCH /api/applications/54068e8d-3bcf-4279-8e29-4b17bd421eba/google-ads-customer HTTP/1.1\" 200 1183 \"http://143.110.241.90:5173/\" \"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-20T09:16:45.652Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/54068e8d-3bcf-4279-8e29-4b17bd421eba/google-ads-customer","statusCode":200,"timestamp":"2026-08-20T09:16:45.652Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:46 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:16:46.646Z"}
{"executionTimeMs":958,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba","statusCode":304,"timestamp":"2026-08-20T09:16:46.646Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:16:46 +0000] \"GET /api/campaigns/conversion-actions?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba HTTP/1.1\" 200 1447 \"http://143.110.241.90:5173/\" \"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-20T09:16:46.855Z"}
{"executionTimeMs":1165,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba","statusCode":200,"timestamp":"2026-08-20T09:16:46.855Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:17:04 +0000] \"POST /api/applications/54068e8d-3bcf-4279-8e29-4b17bd421eba/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17126 \"http://143.110.241.90:5173/\" \"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-20T09:17:04.987Z"}
{"executionTimeMs":6903,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/54068e8d-3bcf-4279-8e29-4b17bd421eba/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T09:17:04.987Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:17:10 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-20T09:17:10.886Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-20T09:17:10.886Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:17:26 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2767 \"http://143.110.241.90:5173/\" \"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-20T09:17:26.675Z"}
{"executionTimeMs":15753,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=54068e8d-3bcf-4279-8e29-4b17bd421eba&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:17:26.675Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:17:40 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3993 \"http://143.110.241.90:5173/\" \"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-20T09:17:40.788Z"}
{"executionTimeMs":18222,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T09:17:40.788Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:17:42 +0000] \"POST /api/campaigns HTTP/1.1\" 201 977 \"http://143.110.241.90:5173/\" \"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-20T09:17:42.706Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T09:17:42.706Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:01 +0000] \"POST /api/campaigns/ecbf1493-aa18-4db2-ade4-1563a19d3b08/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T09:18:01.051Z"}
{"executionTimeMs":18273,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/ecbf1493-aa18-4db2-ade4-1563a19d3b08/create","statusCode":200,"timestamp":"2026-08-20T09:18:01.051Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:01 +0000] \"GET /api/campaigns HTTP/1.1\" 200 21100 \"http://143.110.241.90:5173/\" \"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-20T09:18:01.204Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T09:18:01.204Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:19 +0000] \"GET /api/applications HTTP/1.1\" 200 11077 \"http://143.110.241.90:5173/\" \"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-20T09:18:19.027Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:18:19.028Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:19 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:18:19.049Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:18:19.050Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:20 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:18:20.274Z"}
{"executionTimeMs":1262,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:18:20.274Z"}
{"applicationId":"e3cbf712-2a60-4cc1-919b-f22bb2439dfb","customerId":"6891608445","level":"info","message":"Auto-assigned Google Ads customer ID to imported application","packageName":"6776521522","reason":"same developer as 5 existing app(s)","timestamp":"2026-08-20T09:18:26.338Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:26 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1174 \"http://143.110.241.90:5173/\" \"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-20T09:18:26.339Z"}
{"executionTimeMs":4422,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T09:18:26.339Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:26 +0000] \"GET /api/applications HTTP/1.1\" 200 12228 \"http://143.110.241.90:5173/\" \"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-20T09:18:26.424Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:18:26.424Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:27 +0000] \"GET /api/campaigns/conversion-actions?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb HTTP/1.1\" 200 63 \"http://143.110.241.90:5173/\" \"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-20T09:18:27.293Z"}
{"executionTimeMs":774,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb","statusCode":200,"timestamp":"2026-08-20T09:18:27.294Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:27 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T09:18:27.605Z"}
{"executionTimeMs":1056,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb","statusCode":200,"timestamp":"2026-08-20T09:18:27.605Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:44 +0000] \"PATCH /api/applications/e3cbf712-2a60-4cc1-919b-f22bb2439dfb/google-ads-customer HTTP/1.1\" 200 1174 \"http://143.110.241.90:5173/\" \"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-20T09:18:44.252Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/e3cbf712-2a60-4cc1-919b-f22bb2439dfb/google-ads-customer","statusCode":200,"timestamp":"2026-08-20T09:18:44.253Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:45 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:18:45.265Z"}
{"executionTimeMs":901,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb","statusCode":304,"timestamp":"2026-08-20T09:18:45.265Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:18:45 +0000] \"GET /api/campaigns/conversion-actions?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb HTTP/1.1\" 200 1437 \"http://143.110.241.90:5173/\" \"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-20T09:18:45.620Z"}
{"executionTimeMs":1267,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb","statusCode":200,"timestamp":"2026-08-20T09:18:45.620Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:19:08 +0000] \"GET /api/applications/e3cbf712-2a60-4cc1-919b-f22bb2439dfb/generated-assets?languageCode=en HTTP/1.1\" 200 28 \"http://143.110.241.90:5173/\" \"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-20T09:19:08.513Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/e3cbf712-2a60-4cc1-919b-f22bb2439dfb/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:19:08.513Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:19:23 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2527 \"http://143.110.241.90:5173/\" \"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-20T09:19:23.949Z"}
{"executionTimeMs":15447,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:19:23.949Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:19:37 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3803 \"http://143.110.241.90:5173/\" \"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-20T09:19:37.006Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T09:19:37.007Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:19:38 +0000] \"POST /api/campaigns HTTP/1.1\" 201 975 \"http://143.110.241.90:5173/\" \"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-20T09:19:38.603Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T09:19:38.604Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:19:51 +0000] \"POST /api/campaigns/9968fcb1-8bde-4e8e-8951-3aa2c30c8f82/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T09:19:51.299Z"}
{"executionTimeMs":12577,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/9968fcb1-8bde-4e8e-8951-3aa2c30c8f82/create","statusCode":200,"timestamp":"2026-08-20T09:19:51.300Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:19:51 +0000] \"GET /api/campaigns HTTP/1.1\" 200 22148 \"http://143.110.241.90:5173/\" \"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-20T09:19:51.452Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T09:19:51.453Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:38:52 +0000] \"GET /api/applications HTTP/1.1\" 200 12228 \"http://143.110.241.90:5173/\" \"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-20T09:38:52.706Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:38:52.706Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:38:52 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:38:52.750Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:38:52.751Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:38:54 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:38:54.142Z"}
{"executionTimeMs":1463,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:38:54.142Z"}
{"accountName":"Somish - IOS","customerId":"3440438561","level":"info","message":"Found existing Google Ads campaign for package name","packageName":"6760327819","timestamp":"2026-08-20T09:40:27.125Z"}
{"accountName":"Somish - IOS","applicationId":"38bb8f78-8df1-4417-add2-46bb5da95d07","customerId":"3440438561","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"6760327819","timestamp":"2026-08-20T09:40:27.130Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:27 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1172 \"http://143.110.241.90:5173/\" \"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-20T09:40:27.132Z"}
{"executionTimeMs":2685,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T09:40:27.132Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:27 +0000] \"GET /api/applications HTTP/1.1\" 200 13377 \"http://143.110.241.90:5173/\" \"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-20T09:40:27.232Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:40:27.232Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:27 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-20T09:40:27.387Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-20T09:40:27.388Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:27 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-20T09:40:27.392Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-20T09:40:27.393Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:27 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-20T09:40:27.400Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-20T09:40:27.402Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:27 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-20T09:40:27.409Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-20T09:40:27.410Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:28 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T09:40:28.236Z"}
{"executionTimeMs":749,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07","statusCode":200,"timestamp":"2026-08-20T09:40:28.236Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:28 +0000] \"GET /api/campaigns/conversion-actions?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07 HTTP/1.1\" 200 2630 \"http://143.110.241.90:5173/\" \"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-20T09:40:28.890Z"}
{"executionTimeMs":1408,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07","statusCode":200,"timestamp":"2026-08-20T09:40:28.890Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:57 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:40:57.796Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T09:40:57.796Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:40:57 +0000] \"GET /api/applications/38bb8f78-8df1-4417-add2-46bb5da95d07/generated-assets?languageCode=en HTTP/1.1\" 200 28 \"http://143.110.241.90:5173/\" \"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-20T09:40:57.818Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/38bb8f78-8df1-4417-add2-46bb5da95d07/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:40:57.818Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:41:19 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2415 \"http://143.110.241.90:5173/\" \"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-20T09:41:19.551Z"}
{"executionTimeMs":21751,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:41:19.551Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:41:35 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3773 \"http://143.110.241.90:5173/\" \"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-20T09:41:35.309Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T09:41:35.310Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:41:37 +0000] \"POST /api/campaigns HTTP/1.1\" 201 975 \"http://143.110.241.90:5173/\" \"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-20T09:41:37.078Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T09:41:37.078Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:41:51 +0000] \"POST /api/campaigns/52ccfa86-c3a6-4ac8-a36a-ed2d7323510a/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T09:41:51.030Z"}
{"executionTimeMs":13878,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/52ccfa86-c3a6-4ac8-a36a-ed2d7323510a/create","statusCode":200,"timestamp":"2026-08-20T09:41:51.030Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:41:51 +0000] \"GET /api/campaigns HTTP/1.1\" 200 23195 \"http://143.110.241.90:5173/\" \"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-20T09:41:51.165Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T09:41:51.165Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:42:01 +0000] \"GET /api/campaigns HTTP/1.1\" 200 23195 \"http://143.110.241.90:5173/\" \"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-20T09:42:01.915Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T09:42:01.918Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:42:05 +0000] \"GET /api/campaigns/52ccfa86-c3a6-4ac8-a36a-ed2d7323510a HTTP/1.1\" 200 5166 \"http://143.110.241.90:5173/\" \"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-20T09:42:05.482Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/52ccfa86-c3a6-4ac8-a36a-ed2d7323510a","statusCode":200,"timestamp":"2026-08-20T09:42:05.482Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:42:06 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:42:06.799Z"}
{"executionTimeMs":1228,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:42:06.799Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:03 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:44:03.367Z"}
{"executionTimeMs":65,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T09:44:03.368Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:03 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:44:03.385Z"}
{"executionTimeMs":58,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:44:03.385Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:04 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:44:04.710Z"}
{"executionTimeMs":1419,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:44:04.711Z"}
{"accountName":"Somish - IOS","customerId":"3440438561","level":"info","message":"Found existing Google Ads campaign for package name","packageName":"6759232711","timestamp":"2026-08-20T09:44:13.291Z"}
{"accountName":"Somish - IOS","applicationId":"e6725832-604d-4f34-94e3-590e59b0d99b","customerId":"3440438561","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"6759232711","timestamp":"2026-08-20T09:44:13.296Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:13 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1172 \"http://143.110.241.90:5173/\" \"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-20T09:44:13.298Z"}
{"executionTimeMs":2303,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T09:44:13.299Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:13 +0000] \"GET /api/applications HTTP/1.1\" 200 14526 \"http://143.110.241.90:5173/\" \"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-20T09:44:13.380Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:44:13.380Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:14 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T09:44:14.228Z"}
{"executionTimeMs":704,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b","statusCode":200,"timestamp":"2026-08-20T09:44:14.228Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:14 +0000] \"GET /api/campaigns/conversion-actions?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b HTTP/1.1\" 200 1719 \"http://143.110.241.90:5173/\" \"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-20T09:44:14.629Z"}
{"executionTimeMs":1137,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b","statusCode":200,"timestamp":"2026-08-20T09:44:14.629Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:21 +0000] \"PATCH /api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/google-ads-customer HTTP/1.1\" 200 1172 \"http://143.110.241.90:5173/\" \"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-20T09:44:21.920Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/google-ads-customer","statusCode":200,"timestamp":"2026-08-20T09:44:21.921Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:22 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:44:22.824Z"}
{"executionTimeMs":799,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b","statusCode":304,"timestamp":"2026-08-20T09:44:22.824Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:23 +0000] \"GET /api/campaigns/conversion-actions?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:44:23.149Z"}
{"executionTimeMs":1150,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b","statusCode":304,"timestamp":"2026-08-20T09:44:23.150Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:44:39 +0000] \"POST /api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16987 \"http://143.110.241.90:5173/\" \"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-20T09:44:39.187Z"}
{"executionTimeMs":7892,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T09:44:39.187Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:45:10 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2641 \"http://143.110.241.90:5173/\" \"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-20T09:45:10.601Z"}
{"executionTimeMs":27545,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:45:10.602Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:45:11 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3868 \"http://143.110.241.90:5173/\" \"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-20T09:45:11.925Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T09:45:11.925Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:45:14 +0000] \"POST /api/campaigns HTTP/1.1\" 201 978 \"http://143.110.241.90:5173/\" \"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-20T09:45:14.745Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T09:45:14.745Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:45:27 +0000] \"POST /api/campaigns/981cbd7c-62c9-4c11-826d-288ee2056ff2/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T09:45:27.900Z"}
{"executionTimeMs":13071,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/981cbd7c-62c9-4c11-826d-288ee2056ff2/create","statusCode":200,"timestamp":"2026-08-20T09:45:27.900Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:45:28 +0000] \"GET /api/campaigns HTTP/1.1\" 200 24248 \"http://143.110.241.90:5173/\" \"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-20T09:45:28.007Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T09:45:28.007Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:46:38 +0000] \"GET /api/applications HTTP/1.1\" 200 14526 \"http://143.110.241.90:5173/\" \"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-20T09:46:38.946Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:46:38.947Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:46:38 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:46:38.966Z"}
{"executionTimeMs":44,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:46:38.966Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:46:40 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:46:40.253Z"}
{"executionTimeMs":1347,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:46:40.254Z"}
{"level":"error","message":"Request failed null value in column \"app_name\" of relation \"applications\" violates not-null constraint","method":"POST","path":"/api/applications/import","stack":"error: null value in column \"app_name\" of relation \"applications\" violates not-null constraint\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async ApplicationsRepository.upsert (/var/www/html/google-ads-automation/backend/src/repositories/applicationsRepository.js:21:22)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:51:17)","statusCode":500,"timestamp":"2026-08-20T09:46:42.433Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:46:42 +0000] \"POST /api/applications/import HTTP/1.1\" 500 61 \"http://143.110.241.90:5173/\" \"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-20T09:46:42.434Z"}
{"executionTimeMs":289,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":500,"timestamp":"2026-08-20T09:46:42.434Z"}
{"level":"error","message":"Request failed null value in column \"app_name\" of relation \"applications\" violates not-null constraint","method":"POST","path":"/api/applications/import","stack":"error: null value in column \"app_name\" of relation \"applications\" violates not-null constraint\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async ApplicationsRepository.upsert (/var/www/html/google-ads-automation/backend/src/repositories/applicationsRepository.js:21:22)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:51:17)","statusCode":500,"timestamp":"2026-08-20T09:46:53.368Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:46:53 +0000] \"POST /api/applications/import HTTP/1.1\" 500 61 \"http://143.110.241.90:5173/\" \"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-20T09:46:53.369Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":500,"timestamp":"2026-08-20T09:46:53.369Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:47:04 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:47:04.431Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T09:47:04.431Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:47:04 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:47:04.453Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:47:04.454Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:47:05 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:47:05.721Z"}
{"executionTimeMs":1301,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:47:05.721Z"}
{"level":"error","message":"Request failed null value in column \"app_name\" of relation \"applications\" violates not-null constraint","method":"POST","path":"/api/applications/import","stack":"error: null value in column \"app_name\" of relation \"applications\" violates not-null constraint\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async ApplicationsRepository.upsert (/var/www/html/google-ads-automation/backend/src/repositories/applicationsRepository.js:21:22)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:51:17)","statusCode":500,"timestamp":"2026-08-20T09:47:06.788Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:47:06 +0000] \"POST /api/applications/import HTTP/1.1\" 500 61 \"http://143.110.241.90:5173/\" \"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-20T09:47:06.789Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":500,"timestamp":"2026-08-20T09:47:06.790Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:21 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:50:21.350Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:50:21.350Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:21 +0000] \"GET /api/applications HTTP/1.1\" 200 14526 \"http://143.110.241.90:5173/\" \"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-20T09:50:21.356Z"}
{"executionTimeMs":42,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:50:21.357Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:22 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:50:22.560Z"}
{"executionTimeMs":1227,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:50:22.561Z"}
{"level":"info","message":"Serving cached application metadata","packageName":"6503691239","platform":"IOS","timestamp":"2026-08-20T09:50:23.197Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:23 +0000] \"POST /api/applications/import HTTP/1.1\" 200 1166 \"http://143.110.241.90:5173/\" \"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-20T09:50:23.198Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":200,"timestamp":"2026-08-20T09:50:23.198Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:23 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:50:23.265Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T09:50:23.265Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:23 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:50:23.338Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T09:50:23.338Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:23 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:50:23.349Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T09:50:23.349Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:23 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:50:23.351Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T09:50:23.351Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:23 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:50:23.394Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T09:50:23.395Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:24 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0 HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"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-20T09:50:24.384Z"}
{"executionTimeMs":883,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0","statusCode":200,"timestamp":"2026-08-20T09:50:24.384Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:50:26 +0000] \"GET /api/campaigns/conversion-actions?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0 HTTP/1.1\" 200 2711 \"http://143.110.241.90:5173/\" \"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-20T09:50:26.086Z"}
{"executionTimeMs":2540,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0","statusCode":200,"timestamp":"2026-08-20T09:50:26.087Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:51:16 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:51:16.567Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:51:16.567Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:51:16 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:51:16.573Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T09:51:16.573Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:51:17 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:51:17.708Z"}
{"executionTimeMs":1166,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:51:17.709Z"}
{"level":"error","message":"Request failed null value in column \"app_name\" of relation \"applications\" violates not-null constraint","method":"POST","path":"/api/applications/import","stack":"error: null value in column \"app_name\" of relation \"applications\" violates not-null constraint\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async ApplicationsRepository.upsert (/var/www/html/google-ads-automation/backend/src/repositories/applicationsRepository.js:21:22)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:51:17)","statusCode":500,"timestamp":"2026-08-20T09:51:26.139Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:51:26 +0000] \"POST /api/applications/import HTTP/1.1\" 500 61 \"http://143.110.241.90:5173/\" \"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-20T09:51:26.141Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":500,"timestamp":"2026-08-20T09:51:26.142Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:51:40 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:51:40.828Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:51:40.828Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:51:40 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:51:40.849Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T09:51:40.849Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:51:42 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:51:42.184Z"}
{"executionTimeMs":1365,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:51:42.184Z"}
{"level":"error","message":"Request failed null value in column \"app_name\" of relation \"applications\" violates not-null constraint","method":"POST","path":"/api/applications/import","stack":"error: null value in column \"app_name\" of relation \"applications\" violates not-null constraint\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async ApplicationsRepository.upsert (/var/www/html/google-ads-automation/backend/src/repositories/applicationsRepository.js:21:22)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:51:17)","statusCode":500,"timestamp":"2026-08-20T09:51:43.184Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:51:43 +0000] \"POST /api/applications/import HTTP/1.1\" 500 61 \"http://143.110.241.90:5173/\" \"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-20T09:51:43.185Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":500,"timestamp":"2026-08-20T09:51:43.185Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:52:58 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:52:58.186Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T09:52:58.186Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:52:58 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:52:58.190Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T09:52:58.191Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:52:58 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:52:58.227Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T09:52:58.227Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:52:58 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:52:58.259Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T09:52:58.259Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:52:59 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:52:59.111Z"}
{"executionTimeMs":740,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b","statusCode":304,"timestamp":"2026-08-20T09:52:59.112Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:52:59 +0000] \"GET /api/campaigns/conversion-actions?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:52:59.643Z"}
{"executionTimeMs":1254,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b","statusCode":304,"timestamp":"2026-08-20T09:52:59.643Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:55:40 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:55:40.277Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T09:55:40.278Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:55:40 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b&adGroupCount=1&languageCode=en HTTP/1.1\" 200 562 \"http://143.110.241.90:5173/\" \"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-20T09:55:40.318Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:55:40.318Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:55:40 +0000] \"GET /api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generated-assets?languageCode=en HTTP/1.1\" 200 42435 \"http://143.110.241.90:5173/\" \"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-20T09:55:40.322Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T09:55:40.322Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:56:00 +0000] \"GET /api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generated-assets?languageCode=ar HTTP/1.1\" 200 28 \"http://143.110.241.90:5173/\" \"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-20T09:56:00.956Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generated-assets?languageCode=ar","statusCode":200,"timestamp":"2026-08-20T09:56:00.956Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:56:10 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b&adGroupCount=1&languageCode=ar HTTP/1.1\" 200 251 \"http://143.110.241.90:5173/\" \"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-20T09:56:10.923Z"}
{"executionTimeMs":10042,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=e6725832-604d-4f34-94e3-590e59b0d99b&adGroupCount=1&languageCode=ar","statusCode":200,"timestamp":"2026-08-20T09:56:10.923Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:56:42 +0000] \"POST /api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generate-assets?languageCode=en&descriptionMaxLength=40 HTTP/1.1\" 201 17055 \"http://143.110.241.90:5173/\" \"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-20T09:56:42.175Z"}
{"executionTimeMs":8288,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generate-assets?languageCode=en&descriptionMaxLength=40","statusCode":201,"timestamp":"2026-08-20T09:56:42.175Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:56:43 +0000] \"POST /api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generate-assets?languageCode=ar&descriptionMaxLength=40 HTTP/1.1\" 201 17380 \"http://143.110.241.90:5173/\" \"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-20T09:56:43.013Z"}
{"executionTimeMs":9123,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/e6725832-604d-4f34-94e3-590e59b0d99b/generate-assets?languageCode=ar&descriptionMaxLength=40","statusCode":201,"timestamp":"2026-08-20T09:56:43.013Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:26 +0000] \"GET /api/campaigns HTTP/1.1\" 200 24248 \"http://143.110.241.90:5173/\" \"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-20T09:57:26.941Z"}
{"executionTimeMs":33,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T09:57:26.941Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:29 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:29.212Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T09:57:29.212Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:29 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:29.238Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:57:29.238Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:30 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:30.642Z"}
{"executionTimeMs":1415,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:57:30.642Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:34 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:34.878Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T09:57:34.878Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:34 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:34.910Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T09:57:34.910Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:36 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:36.102Z"}
{"executionTimeMs":1186,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T09:57:36.103Z"}
{"accountName":"Somish - IOS","customerId":"3440438561","level":"info","message":"Found existing Google Ads campaign for package name","packageName":"6749614184","timestamp":"2026-08-20T09:57:39.245Z"}
{"accountName":"Somish - IOS","applicationId":"f6013a54-e7f0-4932-a800-a1825cc475b4","customerId":"3440438561","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"6749614184","timestamp":"2026-08-20T09:57:39.249Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:39 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1164 \"http://143.110.241.90:5173/\" \"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-20T09:57:39.250Z"}
{"executionTimeMs":2601,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T09:57:39.250Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:39 +0000] \"GET /api/applications HTTP/1.1\" 200 15667 \"http://143.110.241.90:5173/\" \"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-20T09:57:39.300Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T09:57:39.301Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:39 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:39.398Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T09:57:39.399Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:39 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:39.411Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T09:57:39.412Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:39 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:39.414Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T09:57:39.414Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:39 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T09:57:39.452Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T09:57:39.452Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:40 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=f6013a54-e7f0-4932-a800-a1825cc475b4 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T09:57:40.517Z"}
{"executionTimeMs":976,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=f6013a54-e7f0-4932-a800-a1825cc475b4","statusCode":200,"timestamp":"2026-08-20T09:57:40.517Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:09:57:40 +0000] \"GET /api/campaigns/conversion-actions?applicationId=f6013a54-e7f0-4932-a800-a1825cc475b4 HTTP/1.1\" 200 2629 \"http://143.110.241.90:5173/\" \"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-20T09:57:40.881Z"}
{"executionTimeMs":1308,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=f6013a54-e7f0-4932-a800-a1825cc475b4","statusCode":200,"timestamp":"2026-08-20T09:57:40.882Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:10:09:49 +0000] \"POST /api/applications/f6013a54-e7f0-4932-a800-a1825cc475b4/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17012 \"http://143.110.241.90:5173/\" \"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-20T10:09:49.992Z"}
{"executionTimeMs":8416,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/f6013a54-e7f0-4932-a800-a1825cc475b4/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T10:09:49.992Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:10:09:59 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T10:09:59.217Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T10:09:59.217Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:10:10:23 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=f6013a54-e7f0-4932-a800-a1825cc475b4&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2665 \"http://143.110.241.90:5173/\" \"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-20T10:10:23.677Z"}
{"executionTimeMs":24460,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=f6013a54-e7f0-4932-a800-a1825cc475b4&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T10:10:23.678Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:10:10:34 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3895 \"http://143.110.241.90:5173/\" \"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-20T10:10:34.264Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T10:10:34.264Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:10:11:21 +0000] \"POST /api/campaigns HTTP/1.1\" 201 976 \"http://143.110.241.90:5173/\" \"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-20T10:11:21.024Z"}
{"executionTimeMs":45,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T10:11:21.024Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:10:11:34 +0000] \"POST /api/campaigns/0456eb04-c738-4b87-8c17-b37dc440fceb/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T10:11:34.717Z"}
{"executionTimeMs":13617,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0456eb04-c738-4b87-8c17-b37dc440fceb/create","statusCode":200,"timestamp":"2026-08-20T10:11:34.717Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:10:11:34 +0000] \"GET /api/campaigns HTTP/1.1\" 200 25298 \"http://143.110.241.90:5173/\" \"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-20T10:11:34.832Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T10:11:34.832Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-20T10:48:53.433Z"}
{"level":"http","message":"::ffff:85.217.149.30 - - [20/Aug/2026:10:48:53 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-20T10:48:53.434Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-20T10:48:53.434Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-20T11:34:22.859Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:22 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-20T11:34:22.860Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-08-20T11:34:22.861Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-20T11:34:22.864Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:22 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-20T11:34:22.865Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-08-20T11:34:22.865Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-20T11:34:22.873Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:22 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-20T11:34:22.874Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-08-20T11:34:22.874Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:25 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-20T11:34:25.719Z"}
{"executionTimeMs":408,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-20T11:34:25.720Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:25 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:34:25.807Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T11:34:25.807Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:25 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:34:25.809Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T11:34:25.810Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:27 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:34:27.221Z"}
{"executionTimeMs":1425,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T11:34:27.221Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:30 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:34:30.076Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T11:34:30.076Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:30 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:34:30.077Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T11:34:30.078Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:30 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:34:30.079Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T11:34:30.079Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:30 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:34:30.099Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T11:34:30.099Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:31 +0000] \"GET /api/campaigns/conversion-actions?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:34:31.463Z"}
{"executionTimeMs":1276,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb","statusCode":304,"timestamp":"2026-08-20T11:34:31.463Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:31 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:34:31.882Z"}
{"executionTimeMs":1689,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=e3cbf712-2a60-4cc1-919b-f22bb2439dfb","statusCode":304,"timestamp":"2026-08-20T11:34:31.882Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:41 +0000] \"GET /api/campaigns/conversion-actions?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b HTTP/1.1\" 200 1589 \"http://143.110.241.90:5173/\" \"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-20T11:34:41.719Z"}
{"executionTimeMs":886,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b","statusCode":200,"timestamp":"2026-08-20T11:34:41.719Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:34:41 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"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-20T11:34:41.734Z"}
{"executionTimeMs":891,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b","statusCode":200,"timestamp":"2026-08-20T11:34:41.735Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:35:27 +0000] \"POST /api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generate-assets?languageCode=en&descriptionMaxLength=30 HTTP/1.1\" 201 12728 \"http://143.110.241.90:5173/\" \"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-20T11:35:27.963Z"}
{"executionTimeMs":8146,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/generate-assets?languageCode=en&descriptionMaxLength=30","statusCode":201,"timestamp":"2026-08-20T11:35:27.964Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:35:48 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:35:48.125Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T11:35:48.125Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:36:08 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2749 \"http://143.110.241.90:5173/\" \"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-20T11:36:08.638Z"}
{"executionTimeMs":20488,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T11:36:08.638Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:36:23 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3652 \"http://143.110.241.90:5173/\" \"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-20T11:36:23.758Z"}
{"executionTimeMs":20070,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T11:36:23.758Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:36:54 +0000] \"POST /api/campaigns HTTP/1.1\" 201 978 \"http://143.110.241.90:5173/\" \"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-20T11:36:54.917Z"}
{"executionTimeMs":40,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T11:36:54.917Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:37:08 +0000] \"POST /api/campaigns/d55b71a5-cf6f-496c-be2e-b006b2f716a9/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T11:37:08.114Z"}
{"executionTimeMs":13132,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/d55b71a5-cf6f-496c-be2e-b006b2f716a9/create","statusCode":200,"timestamp":"2026-08-20T11:37:08.114Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:37:08 +0000] \"GET /api/campaigns HTTP/1.1\" 200 26363 \"http://143.110.241.90:5173/\" \"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-20T11:37:08.257Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T11:37:08.257Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:41:42 +0000] \"GET /api/campaigns/d55b71a5-cf6f-496c-be2e-b006b2f716a9 HTTP/1.1\" 200 5053 \"http://143.110.241.90:5173/\" \"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-20T11:41:42.167Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/d55b71a5-cf6f-496c-be2e-b006b2f716a9","statusCode":200,"timestamp":"2026-08-20T11:41:42.168Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:41:43 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T11:41:43.611Z"}
{"executionTimeMs":1361,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T11:41:43.611Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:41:44 +0000] \"GET /api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-20T11:41:44.320Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/image-assets","statusCode":200,"timestamp":"2026-08-20T11:41:44.321Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:41:44 +0000] \"GET /api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/video-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-20T11:41:44.350Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/31158783-845c-4b9c-ad4a-2e6e1dbbce3b/video-assets","statusCode":200,"timestamp":"2026-08-20T11:41:44.350Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:11:41:45 +0000] \"GET /api/campaigns/conversion-actions?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&googleAdsCustomerId=6891608445 HTTP/1.1\" 200 1589 \"http://143.110.241.90:5173/\" \"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-20T11:41:45.385Z"}
{"executionTimeMs":952,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=31158783-845c-4b9c-ad4a-2e6e1dbbce3b&googleAdsCustomerId=6891608445","statusCode":200,"timestamp":"2026-08-20T11:41:45.386Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:11:15 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T12:11:15.841Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T12:11:15.841Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:11:15 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T12:11:15.848Z"}
{"executionTimeMs":33,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T12:11:15.848Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:11:17 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T12:11:17.191Z"}
{"executionTimeMs":1382,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T12:11:17.191Z"}
{"accountName":"Somish - IOS","customerId":"3440438561","level":"info","message":"Found existing Google Ads campaign for package name","packageName":"1639863998","timestamp":"2026-08-20T12:12:04.907Z"}
{"accountName":"Somish - IOS","applicationId":"1d0f80c8-4ce7-4d3f-9396-8a461c914222","customerId":"3440438561","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"1639863998","timestamp":"2026-08-20T12:12:04.917Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:12:04 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1158 \"http://143.110.241.90:5173/\" \"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-20T12:12:04.918Z"}
{"executionTimeMs":2774,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T12:12:04.919Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:12:04 +0000] \"GET /api/applications HTTP/1.1\" 200 16802 \"http://143.110.241.90:5173/\" \"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-20T12:12:04.998Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T12:12:04.999Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:12:05 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T12:12:05.108Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T12:12:05.108Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:12:06 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=1d0f80c8-4ce7-4d3f-9396-8a461c914222 HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"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-20T12:12:06.030Z"}
{"executionTimeMs":826,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=1d0f80c8-4ce7-4d3f-9396-8a461c914222","statusCode":200,"timestamp":"2026-08-20T12:12:06.030Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:12:06 +0000] \"GET /api/campaigns/conversion-actions?applicationId=1d0f80c8-4ce7-4d3f-9396-8a461c914222 HTTP/1.1\" 200 3908 \"http://143.110.241.90:5173/\" \"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-20T12:12:06.523Z"}
{"executionTimeMs":1348,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=1d0f80c8-4ce7-4d3f-9396-8a461c914222","statusCode":200,"timestamp":"2026-08-20T12:12:06.525Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:12:36 +0000] \"POST /api/applications/1d0f80c8-4ce7-4d3f-9396-8a461c914222/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17123 \"http://143.110.241.90:5173/\" \"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-20T12:12:36.810Z"}
{"executionTimeMs":9588,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/1d0f80c8-4ce7-4d3f-9396-8a461c914222/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T12:12:36.810Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:13:16 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=1d0f80c8-4ce7-4d3f-9396-8a461c914222&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2741 \"http://143.110.241.90:5173/\" \"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-20T12:13:16.158Z"}
{"executionTimeMs":21579,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=1d0f80c8-4ce7-4d3f-9396-8a461c914222&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T12:13:16.158Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:13:38 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3813 \"http://143.110.241.90:5173/\" \"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-20T12:13:38.359Z"}
{"executionTimeMs":22584,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T12:13:38.360Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:13:45 +0000] \"POST /api/campaigns HTTP/1.1\" 201 973 \"http://143.110.241.90:5173/\" \"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-20T12:13:45.689Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T12:13:45.690Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:13:59 +0000] \"POST /api/campaigns/ad73a875-3b6a-4f78-aafa-69d95c2ed27f/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T12:13:59.945Z"}
{"executionTimeMs":14187,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/ad73a875-3b6a-4f78-aafa-69d95c2ed27f/create","statusCode":200,"timestamp":"2026-08-20T12:13:59.946Z"}
{"level":"http","message":"::ffff:110.226.115.149 - - [20/Aug/2026:12:14:00 +0000] \"GET /api/campaigns HTTP/1.1\" 200 27406 \"http://143.110.241.90:5173/\" \"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-20T12:14:00.052Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T12:14:00.053Z"}
{"level":"http","message":"::ffff:103.250.151.241 - - [20/Aug/2026:12:39:28 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T12:39:28.704Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T12:39:28.704Z"}
{"level":"http","message":"::ffff:103.250.151.241 - - [20/Aug/2026:12:39:29 +0000] \"GET /api/applications HTTP/1.1\" 200 16802 \"http://143.110.241.90:5173/\" \"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-20T12:39:29.378Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T12:39:29.378Z"}
{"level":"http","message":"::ffff:103.250.151.241 - - [20/Aug/2026:12:39:29 +0000] \"GET /api/campaigns/conversion-actions?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T12:39:29.412Z"}
{"executionTimeMs":1625,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0","statusCode":304,"timestamp":"2026-08-20T12:39:29.413Z"}
{"level":"http","message":"::ffff:103.250.151.241 - - [20/Aug/2026:12:39:29 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T12:39:29.520Z"}
{"executionTimeMs":898,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=54ffff71-2890-41c6-8a8d-14435cb01fa0","statusCode":304,"timestamp":"2026-08-20T12:39:29.520Z"}
{"level":"http","message":"::ffff:103.250.151.241 - - [20/Aug/2026:12:39:30 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T12:39:30.662Z"}
{"executionTimeMs":1247,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T12:39:30.662Z"}
{"level":"http","message":"::ffff:103.250.151.241 - - [20/Aug/2026:12:39:35 +0000] \"GET /api/campaigns HTTP/1.1\" 200 27406 \"http://143.110.241.90:5173/\" \"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-20T12:39:35.189Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T12:39:35.190Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:24 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:18:24.749Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T13:18:24.749Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:24 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:18:24.759Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T13:18:24.759Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:26 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:18:26.192Z"}
{"executionTimeMs":1464,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T13:18:26.193Z"}
{"accountName":"Somish - IOS","customerId":"3440438561","level":"info","message":"Found existing Google Ads campaign for package name","packageName":"1548678686","timestamp":"2026-08-20T13:18:31.338Z"}
{"accountName":"Somish - IOS","applicationId":"18208a66-a130-4c90-98f7-ffe06498db9a","customerId":"3440438561","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"1548678686","timestamp":"2026-08-20T13:18:31.341Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:31 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1170 \"http://143.110.241.90:5173/\" \"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-20T13:18:31.342Z"}
{"executionTimeMs":2618,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T13:18:31.342Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:31 +0000] \"GET /api/applications HTTP/1.1\" 200 17949 \"http://143.110.241.90:5173/\" \"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-20T13:18:31.414Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T13:18:31.415Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:31 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:18:31.541Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T13:18:31.542Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:31 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:18:31.545Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T13:18:31.545Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:31 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:18:31.547Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T13:18:31.547Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:31 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:18:31.548Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T13:18:31.548Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:32 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=18208a66-a130-4c90-98f7-ffe06498db9a HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T13:18:32.658Z"}
{"executionTimeMs":1047,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=18208a66-a130-4c90-98f7-ffe06498db9a","statusCode":200,"timestamp":"2026-08-20T13:18:32.658Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:18:32 +0000] \"GET /api/campaigns/conversion-actions?applicationId=18208a66-a130-4c90-98f7-ffe06498db9a HTTP/1.1\" 200 2709 \"http://143.110.241.90:5173/\" \"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-20T13:18:32.870Z"}
{"executionTimeMs":1259,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=18208a66-a130-4c90-98f7-ffe06498db9a","statusCode":200,"timestamp":"2026-08-20T13:18:32.871Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:19:10 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:19:10.094Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T13:19:10.094Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:19:10 +0000] \"GET /api/applications/18208a66-a130-4c90-98f7-ffe06498db9a/generated-assets?languageCode=en HTTP/1.1\" 200 28 \"http://143.110.241.90:5173/\" \"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-20T13:19:10.142Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/18208a66-a130-4c90-98f7-ffe06498db9a/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T13:19:10.142Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:19:36 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=18208a66-a130-4c90-98f7-ffe06498db9a&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2501 \"http://143.110.241.90:5173/\" \"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-20T13:19:36.876Z"}
{"executionTimeMs":26757,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=18208a66-a130-4c90-98f7-ffe06498db9a&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T13:19:36.876Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:20:39 +0000] \"POST /api/applications/18208a66-a130-4c90-98f7-ffe06498db9a/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17101 \"http://143.110.241.90:5173/\" \"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-20T13:20:39.157Z"}
{"executionTimeMs":13274,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/18208a66-a130-4c90-98f7-ffe06498db9a/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T13:20:39.158Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:21:29 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3921 \"http://143.110.241.90:5173/\" \"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-20T13:21:29.779Z"}
{"executionTimeMs":28780,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T13:21:29.780Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:21:44 +0000] \"POST /api/campaigns HTTP/1.1\" 201 978 \"http://143.110.241.90:5173/\" \"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-20T13:21:44.826Z"}
{"executionTimeMs":33,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T13:21:44.826Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:21:59 +0000] \"POST /api/campaigns/e9fe2999-303a-43a7-8bdc-b6d392f9b934/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T13:21:59.785Z"}
{"executionTimeMs":14891,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/e9fe2999-303a-43a7-8bdc-b6d392f9b934/create","statusCode":200,"timestamp":"2026-08-20T13:21:59.786Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:21:59 +0000] \"GET /api/campaigns HTTP/1.1\" 200 28459 \"http://143.110.241.90:5173/\" \"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-20T13:21:59.992Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T13:21:59.993Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:27:10 +0000] \"POST /api/applications/18208a66-a130-4c90-98f7-ffe06498db9a/generate-assets?languageCode=en&descriptionMaxLength=30 HTTP/1.1\" 201 14501 \"http://143.110.241.90:5173/\" \"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-20T13:27:10.274Z"}
{"executionTimeMs":10150,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/18208a66-a130-4c90-98f7-ffe06498db9a/generate-assets?languageCode=en&descriptionMaxLength=30","statusCode":201,"timestamp":"2026-08-20T13:27:10.275Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:30 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:33:30.545Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T13:33:30.546Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:30 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:33:30.555Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T13:33:30.555Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:32 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:33:32.180Z"}
{"executionTimeMs":1666,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T13:33:32.181Z"}
{"accountName":"Somish - IOS","customerId":"3440438561","level":"info","message":"Found existing Google Ads campaign for package name","packageName":"6753741763","timestamp":"2026-08-20T13:33:57.987Z"}
{"accountName":"Somish - IOS","applicationId":"99b577d3-75d1-4f40-9af3-b70b97d5de50","customerId":"3440438561","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"6753741763","timestamp":"2026-08-20T13:33:57.992Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:57 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1184 \"http://143.110.241.90:5173/\" \"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-20T13:33:57.993Z"}
{"executionTimeMs":25531,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T13:33:57.994Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:58 +0000] \"GET /api/applications HTTP/1.1\" 200 19110 \"http://143.110.241.90:5173/\" \"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-20T13:33:58.075Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T13:33:58.075Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:58 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:33:58.222Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T13:33:58.226Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:58 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:33:58.229Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T13:33:58.230Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:58 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:33:58.235Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T13:33:58.238Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:58 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:33:58.252Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T13:33:58.255Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:59 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=99b577d3-75d1-4f40-9af3-b70b97d5de50 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T13:33:59.278Z"}
{"executionTimeMs":956,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=99b577d3-75d1-4f40-9af3-b70b97d5de50","statusCode":200,"timestamp":"2026-08-20T13:33:59.278Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:33:59 +0000] \"GET /api/campaigns/conversion-actions?applicationId=99b577d3-75d1-4f40-9af3-b70b97d5de50 HTTP/1.1\" 200 2575 \"http://143.110.241.90:5173/\" \"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-20T13:33:59.621Z"}
{"executionTimeMs":1289,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=99b577d3-75d1-4f40-9af3-b70b97d5de50","statusCode":200,"timestamp":"2026-08-20T13:33:59.621Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:34:21 +0000] \"POST /api/applications/99b577d3-75d1-4f40-9af3-b70b97d5de50/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17095 \"http://143.110.241.90:5173/\" \"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-20T13:34:21.261Z"}
{"executionTimeMs":11277,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/99b577d3-75d1-4f40-9af3-b70b97d5de50/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T13:34:21.262Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:34:54 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:34:54.358Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T13:34:54.359Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:34:54 +0000] \"GET /api/applications/99b577d3-75d1-4f40-9af3-b70b97d5de50/generated-assets?languageCode=en HTTP/1.1\" 200 17095 \"http://143.110.241.90:5173/\" \"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-20T13:34:54.416Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/99b577d3-75d1-4f40-9af3-b70b97d5de50/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-20T13:34:54.416Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:35:21 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=99b577d3-75d1-4f40-9af3-b70b97d5de50&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2884 \"http://143.110.241.90:5173/\" \"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-20T13:35:21.708Z"}
{"executionTimeMs":27334,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=99b577d3-75d1-4f40-9af3-b70b97d5de50&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T13:35:21.708Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:35:26 +0000] \"POST /api/applications/18208a66-a130-4c90-98f7-ffe06498db9a/generate-assets?languageCode=en&descriptionMaxLength=30 HTTP/1.1\" 201 13557 \"http://143.110.241.90:5173/\" \"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-20T13:35:26.215Z"}
{"executionTimeMs":11007,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/18208a66-a130-4c90-98f7-ffe06498db9a/generate-assets?languageCode=en&descriptionMaxLength=30","statusCode":201,"timestamp":"2026-08-20T13:35:26.216Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:35:32 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3825 \"http://143.110.241.90:5173/\" \"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-20T13:35:32.186Z"}
{"executionTimeMs":23968,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T13:35:32.186Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:35:37 +0000] \"POST /api/campaigns HTTP/1.1\" 201 1030 \"http://143.110.241.90:5173/\" \"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-20T13:35:37.095Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T13:35:37.095Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:35:53 +0000] \"POST /api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T13:35:53.817Z"}
{"executionTimeMs":16653,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/create","statusCode":200,"timestamp":"2026-08-20T13:35:53.817Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:35:53 +0000] \"GET /api/campaigns HTTP/1.1\" 200 29564 \"http://143.110.241.90:5173/\" \"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-20T13:35:53.997Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T13:35:53.998Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:19 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:42:19.028Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-20T13:42:19.029Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:19 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:42:19.240Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-20T13:42:19.240Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:20 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:42:20.379Z"}
{"executionTimeMs":1390,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-20T13:42:20.380Z"}
{"accountName":"Somish - IOS","customerId":"3440438561","level":"info","message":"Found existing Google Ads campaign for package name","packageName":"1351622205","timestamp":"2026-08-20T13:42:27.930Z"}
{"accountName":"Somish - IOS","applicationId":"e833d610-a6fd-4c0a-8964-95b9281e9812","customerId":"3440438561","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"1351622205","timestamp":"2026-08-20T13:42:27.934Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:27 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1167 \"http://143.110.241.90:5173/\" \"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-20T13:42:27.935Z"}
{"executionTimeMs":2672,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-20T13:42:27.935Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:28 +0000] \"GET /api/applications HTTP/1.1\" 200 20254 \"http://143.110.241.90:5173/\" \"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-20T13:42:28.017Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-20T13:42:28.018Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:28 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:42:28.159Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-20T13:42:28.160Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:28 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:42:28.175Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-20T13:42:28.175Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:28 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:42:28.370Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-20T13:42:28.370Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:28 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:42:28.419Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-20T13:42:28.419Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:29 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-20T13:42:29.513Z"}
{"executionTimeMs":1024,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812","statusCode":200,"timestamp":"2026-08-20T13:42:29.513Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:29 +0000] \"GET /api/campaigns/conversion-actions?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812 HTTP/1.1\" 200 2214 \"http://143.110.241.90:5173/\" \"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-20T13:42:29.775Z"}
{"executionTimeMs":1288,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812","statusCode":200,"timestamp":"2026-08-20T13:42:29.775Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:42:50 +0000] \"POST /api/applications/e833d610-a6fd-4c0a-8964-95b9281e9812/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17071 \"http://143.110.241.90:5173/\" \"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-20T13:42:50.019Z"}
{"executionTimeMs":8632,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/e833d610-a6fd-4c0a-8964-95b9281e9812/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T13:42:50.020Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:43:02 +0000] \"POST /api/applications/e833d610-a6fd-4c0a-8964-95b9281e9812/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17103 \"http://143.110.241.90:5173/\" \"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-20T13:43:02.045Z"}
{"executionTimeMs":9255,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/e833d610-a6fd-4c0a-8964-95b9281e9812/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-20T13:43:02.046Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:43:14 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-20T13:43:14.815Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-20T13:43:14.815Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:43:37 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2909 \"http://143.110.241.90:5173/\" \"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-20T13:43:37.495Z"}
{"executionTimeMs":22655,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-20T13:43:37.495Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:43:49 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 3835 \"http://143.110.241.90:5173/\" \"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-20T13:43:49.056Z"}
{"executionTimeMs":21431,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-20T13:43:49.057Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:43:52 +0000] \"POST /api/campaigns HTTP/1.1\" 201 978 \"http://143.110.241.90:5173/\" \"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-20T13:43:52.491Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-20T13:43:52.491Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:44:05 +0000] \"POST /api/campaigns/f5d875b7-4953-4771-a0f8-7e60ff22b71d/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-20T13:44:05.710Z"}
{"executionTimeMs":13147,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/f5d875b7-4953-4771-a0f8-7e60ff22b71d/create","statusCode":200,"timestamp":"2026-08-20T13:44:05.710Z"}
{"level":"http","message":"::ffff:103.17.80.217 - - [20/Aug/2026:13:44:05 +0000] \"GET /api/campaigns HTTP/1.1\" 200 30617 \"http://143.110.241.90:5173/\" \"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-20T13:44:05.852Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-20T13:44:05.853Z"}
{"level":"error","message":"Request failed Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","stack":"ApiError: Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-20T21:47:50.416Z"}
{"level":"http","message":"::ffff:192.161.49.2 - - [20/Aug/2026:21:47:50 +0000] \"GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1\" 404 104 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0\"","timestamp":"2026-08-20T21:47:50.417Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","statusCode":404,"timestamp":"2026-08-20T21:47:50.417Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [21/Aug/2026:03:41:18 +0000] \"GET /api/campaigns HTTP/1.1\" 200 30617 \"http://143.110.241.90:5173/\" \"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-21T03:41:18.093Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-21T03:41:18.094Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [21/Aug/2026:03:41:29 +0000] \"POST /api/campaigns/bulk/sync-status HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"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-21T03:41:29.473Z"}
{"executionTimeMs":3166,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/sync-status","statusCode":200,"timestamp":"2026-08-21T03:41:29.473Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [21/Aug/2026:03:41:29 +0000] \"GET /api/campaigns HTTP/1.1\" 200 30617 \"http://143.110.241.90:5173/\" \"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-21T03:41:29.743Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-21T03:41:29.743Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [21/Aug/2026:03:41:56 +0000] \"POST /api/campaigns/bulk/metrics/sync HTTP/1.1\" 200 2997 \"http://143.110.241.90:5173/\" \"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-21T03:41:56.627Z"}
{"executionTimeMs":30315,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/metrics/sync","statusCode":200,"timestamp":"2026-08-21T03:41:56.627Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [21/Aug/2026:03:41:56 +0000] \"GET /api/campaigns HTTP/1.1\" 200 32909 \"http://143.110.241.90:5173/\" \"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-21T03:41:56.710Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-21T03:41:56.710Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-21T08:07:27.176Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:27 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-21T08:07:27.177Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-08-21T08:07:27.177Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-21T08:07:27.183Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:27 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-21T08:07:27.184Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-08-21T08:07:27.184Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-21T08:07:27.187Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:27 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-21T08:07:27.188Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-08-21T08:07:27.188Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:31 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-21T08:07:31.927Z"}
{"executionTimeMs":382,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-21T08:07:31.928Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:32 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:07:32.042Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-21T08:07:32.042Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:32 +0000] \"GET /api/applications HTTP/1.1\" 200 20254 \"http://143.110.241.90:5173/\" \"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-21T08:07:32.046Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-21T08:07:32.046Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:33 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:07:33.496Z"}
{"executionTimeMs":1463,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-21T08:07:33.496Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:36 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:07:36.067Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-21T08:07:36.068Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:36 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-21T08:07:36.071Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-21T08:07:36.071Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:36 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:07:36.072Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-21T08:07:36.073Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:36 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:07:36.105Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-21T08:07:36.105Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:37 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-21T08:07:37.275Z"}
{"executionTimeMs":1075,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812","statusCode":200,"timestamp":"2026-08-21T08:07:37.275Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:07:37 +0000] \"GET /api/campaigns/conversion-actions?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812 HTTP/1.1\" 200 2214 \"http://143.110.241.90:5173/\" \"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-21T08:07:37.460Z"}
{"executionTimeMs":1265,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812","statusCode":200,"timestamp":"2026-08-21T08:07:37.461Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:35:56 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:35:56.346Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-21T08:35:56.347Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:35:56 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:35:56.352Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-21T08:35:56.352Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:35:57 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:35:57.696Z"}
{"executionTimeMs":1397,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-21T08:35:57.696Z"}
{"level":"error","message":"Request failed null value in column \"app_name\" of relation \"applications\" violates not-null constraint","method":"POST","path":"/api/applications/import","stack":"error: null value in column \"app_name\" of relation \"applications\" violates not-null constraint\n    at /var/www/html/google-ads-automation/backend/node_modules/pg-pool/index.js:45:11\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async query (/var/www/html/google-ads-automation/backend/src/config/db.js:26:18)\n    at async ApplicationsRepository.upsert (/var/www/html/google-ads-automation/backend/src/repositories/applicationsRepository.js:21:22)\n    at async importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:51:17)","statusCode":500,"timestamp":"2026-08-21T08:42:33.595Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:42:33 +0000] \"POST /api/applications/import HTTP/1.1\" 500 61 \"http://143.110.241.90:5173/\" \"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-21T08:42:33.597Z"}
{"executionTimeMs":42,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":500,"timestamp":"2026-08-21T08:42:33.597Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-21T08:54:02.773Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-21T08:54:09.329Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:54:12 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-21T08:54:12.745Z"}
{"executionTimeMs":106,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-21T08:54:12.746Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:54:12 +0000] \"GET /api/applications HTTP/1.1\" 200 20254 \"http://143.110.241.90:5173/\" \"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-21T08:54:12.762Z"}
{"executionTimeMs":98,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-21T08:54:12.762Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:54:14 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-21T08:54:14.122Z"}
{"executionTimeMs":1454,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-21T08:54:14.122Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:54:16 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:54:16.497Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-21T08:54:16.497Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:54:16 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:54:16.502Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-21T08:54:16.502Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:54:16 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:54:16.505Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-21T08:54:16.505Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:54:16 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T08:54:16.517Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-21T08:54:16.517Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:54:17 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-21T08:54:17.632Z"}
{"executionTimeMs":1014,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812","statusCode":200,"timestamp":"2026-08-21T08:54:17.632Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:08:54:17 +0000] \"GET /api/campaigns/conversion-actions?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812 HTTP/1.1\" 200 2214 \"http://143.110.241.90:5173/\" \"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-21T08:54:17.991Z"}
{"executionTimeMs":1370,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=e833d610-a6fd-4c0a-8964-95b9281e9812","statusCode":200,"timestamp":"2026-08-21T08:54:17.991Z"}
{"level":"error","message":"Request failed That App Store link points to a developer page, not an app — open the specific app on the App Store and paste its link (it looks like https://apps.apple.com/us/app/<name>/id<number>)","method":"POST","path":"/api/applications/import","stack":"ApiError: That App Store link points to a developer page, not an app — open the specific app on the App Store and paste its link (it looks like https://apps.apple.com/us/app/<name>/id<number>)\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at extractAppleId (/var/www/html/google-ads-automation/backend/src/utils/appStoreUrl.js:47:20)\n    at importApplication (/var/www/html/google-ads-automation/backend/src/controllers/applicationsController.js:34:44)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:14:12\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)","statusCode":400,"timestamp":"2026-08-21T09:31:00.464Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:31:00 +0000] \"POST /api/applications/import HTTP/1.1\" 400 224 \"http://143.110.241.90:5173/\" \"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-21T09:31:00.466Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":400,"timestamp":"2026-08-21T09:31:00.467Z"}
{"accountName":"Somish - IOS","customerId":"3440438561","level":"info","message":"Found existing Google Ads campaign for package name","packageName":"6446764475","timestamp":"2026-08-21T09:31:18.166Z"}
{"accountName":"Somish - IOS","applicationId":"30100c60-9144-4b8f-b1bb-92e935b2ee8d","customerId":"3440438561","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"6446764475","timestamp":"2026-08-21T09:31:18.173Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:31:18 +0000] \"POST /api/applications/import HTTP/1.1\" 201 1173 \"http://143.110.241.90:5173/\" \"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-21T09:31:18.175Z"}
{"executionTimeMs":4367,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-21T09:31:18.175Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:31:18 +0000] \"GET /api/applications HTTP/1.1\" 200 21404 \"http://143.110.241.90:5173/\" \"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-21T09:31:18.260Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-21T09:31:18.260Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:31:18 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-21T09:31:18.394Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-21T09:31:18.394Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:31:18 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-21T09:31:18.406Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-21T09:31:18.406Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:31:18 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-21T09:31:18.418Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-21T09:31:18.419Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:31:18 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-21T09:31:18.421Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-21T09:31:18.421Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:31:19 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=30100c60-9144-4b8f-b1bb-92e935b2ee8d HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-21T09:31:19.293Z"}
{"executionTimeMs":787,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=30100c60-9144-4b8f-b1bb-92e935b2ee8d","statusCode":200,"timestamp":"2026-08-21T09:31:19.294Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:31:19 +0000] \"GET /api/campaigns/conversion-actions?applicationId=30100c60-9144-4b8f-b1bb-92e935b2ee8d HTTP/1.1\" 200 4346 \"http://143.110.241.90:5173/\" \"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-21T09:31:19.687Z"}
{"executionTimeMs":1181,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=30100c60-9144-4b8f-b1bb-92e935b2ee8d","statusCode":200,"timestamp":"2026-08-21T09:31:19.687Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:33:23 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 4105 \"http://143.110.241.90:5173/\" \"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-21T09:33:23.590Z"}
{"executionTimeMs":15718,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-21T09:33:23.591Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:33:27 +0000] \"POST /api/campaigns HTTP/1.1\" 201 974 \"http://143.110.241.90:5173/\" \"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-21T09:33:27.673Z"}
{"executionTimeMs":49,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-21T09:33:27.673Z"}
{"adGroupId":"d106fbc6-8985-4dbc-9a64-7db8b4e6d5ae","error":"Multiple requests were attempting to modify the same resource at once. Retry the request. (2)","level":"error","message":"Ad group creation failed","timestamp":"2026-08-21T09:33:40.392Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:33:41 +0000] \"POST /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/create HTTP/1.1\" 200 1425 \"http://143.110.241.90:5173/\" \"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-21T09:33:41.905Z"}
{"executionTimeMs":14127,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/create","statusCode":200,"timestamp":"2026-08-21T09:33:41.906Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:33:42 +0000] \"GET /api/campaigns HTTP/1.1\" 200 33987 \"http://143.110.241.90:5173/\" \"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-21T09:33:42.060Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-21T09:33:42.061Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:33:49 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96 HTTP/1.1\" 200 5540 \"http://143.110.241.90:5173/\" \"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-21T09:33:49.557Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","statusCode":200,"timestamp":"2026-08-21T09:33:49.558Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:33:50 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T09:33:50.807Z"}
{"executionTimeMs":1175,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-21T09:33:50.807Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:35:08 +0000] \"GET /api/applications/30100c60-9144-4b8f-b1bb-92e935b2ee8d/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-21T09:35:08.213Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/30100c60-9144-4b8f-b1bb-92e935b2ee8d/image-assets","statusCode":200,"timestamp":"2026-08-21T09:35:08.214Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:35:08 +0000] \"GET /api/applications/30100c60-9144-4b8f-b1bb-92e935b2ee8d/video-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-21T09:35:08.218Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/30100c60-9144-4b8f-b1bb-92e935b2ee8d/video-assets","statusCode":200,"timestamp":"2026-08-21T09:35:08.219Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:35:08 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-21T09:35:08.238Z"}
{"executionTimeMs":50,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","statusCode":304,"timestamp":"2026-08-21T09:35:08.239Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:35:08 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-21T09:35:08.391Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-21T09:35:08.392Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [21/Aug/2026:09:35:09 +0000] \"GET /api/campaigns/conversion-actions?applicationId=30100c60-9144-4b8f-b1bb-92e935b2ee8d&googleAdsCustomerId=3440438561 HTTP/1.1\" 200 4346 \"http://143.110.241.90:5173/\" \"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-21T09:35:09.858Z"}
{"executionTimeMs":1466,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=30100c60-9144-4b8f-b1bb-92e935b2ee8d&googleAdsCustomerId=3440438561","statusCode":200,"timestamp":"2026-08-21T09:35:09.859Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [22/Aug/2026:05:06:22 +0000] \"GET /api/applications HTTP/1.1\" 200 21404 \"http://143.110.241.90:5173/\" \"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-22T05:06:22.747Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-22T05:06:22.748Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [22/Aug/2026:05:06:22 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-22T05:06:22.754Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-22T05:06:22.754Z"}
{"level":"http","message":"::ffff:110.226.115.153 - - [22/Aug/2026:05:06:24 +0000] \"GET /api/accounts HTTP/1.1\" 200 1690 \"http://143.110.241.90:5173/\" \"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-22T05:06:24.318Z"}
{"executionTimeMs":1610,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-22T05:06:24.319Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-22T07:21:11.796Z"}
{"level":"http","message":"::ffff:85.217.149.12 - - [22/Aug/2026:07:21:11 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-22T07:21:11.797Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-22T07:21:11.797Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-22T07:37:07.825Z"}
{"level":"http","message":"::ffff:85.217.149.19 - - [22/Aug/2026:07:37:07 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-22T07:37:07.826Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-22T07:37:07.826Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-23T05:57:34.551Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [23/Aug/2026:05:57:34 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96 HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-23T05:57:34.552Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","statusCode":401,"timestamp":"2026-08-23T05:57:34.552Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [23/Aug/2026:05:57:34 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-23T05:57:34.555Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-23T05:57:34.555Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [23/Aug/2026:05:57:34 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-23T05:57:34.558Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-23T05:57:34.558Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [23/Aug/2026:05:57:34 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-23T05:57:34.560Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-23T05:57:34.561Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-24T04:12:08.949Z"}
{"level":"http","message":"::ffff:85.217.149.11 - - [24/Aug/2026:04:12:08 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-24T04:12:08.973Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-24T04:12:08.974Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:04:57:06 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-24T04:57:06.432Z"}
{"executionTimeMs":532,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-24T04:57:06.432Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:04:57:06 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T04:57:06.633Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-24T04:57:06.633Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:04:57:06 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T04:57:06.652Z"}
{"executionTimeMs":41,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-24T04:57:06.653Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:04:57:08 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T04:57:08.149Z"}
{"executionTimeMs":1578,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-24T04:57:08.149Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-24T06:19:18.552Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:18 +0000] \"GET /api/campaigns HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-24T06:19:18.553Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":401,"timestamp":"2026-08-24T06:19:18.554Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:21 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-24T06:19:21.438Z"}
{"executionTimeMs":395,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-24T06:19:21.439Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:21 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T06:19:21.571Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-24T06:19:21.572Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:21 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T06:19:21.593Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-24T06:19:21.593Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:22 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T06:19:22.993Z"}
{"executionTimeMs":1451,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-24T06:19:22.993Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:23 +0000] \"GET /api/campaigns HTTP/1.1\" 200 33987 \"http://143.110.241.90:5173/\" \"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-24T06:19:23.407Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-24T06:19:23.408Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:30 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96 HTTP/1.1\" 200 5540 \"http://143.110.241.90:5173/\" \"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-24T06:19:30.038Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","statusCode":200,"timestamp":"2026-08-24T06:19:30.038Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:43 +0000] \"POST /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/sync-status HTTP/1.1\" 200 5509 \"http://143.110.241.90:5173/\" \"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-24T06:19:43.629Z"}
{"executionTimeMs":990,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/sync-status","statusCode":200,"timestamp":"2026-08-24T06:19:43.629Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:43 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96 HTTP/1.1\" 200 5509 \"http://143.110.241.90:5173/\" \"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-24T06:19:43.721Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","statusCode":200,"timestamp":"2026-08-24T06:19:43.722Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:48 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/metrics HTTP/1.1\" 200 107 \"http://143.110.241.90:5173/\" \"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-24T06:19:48.139Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/metrics","statusCode":200,"timestamp":"2026-08-24T06:19:48.140Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:48 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/metrics/assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-24T06:19:48.170Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/metrics/assets","statusCode":200,"timestamp":"2026-08-24T06:19:48.170Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:48 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/copy-history HTTP/1.1\" 200 4660 \"http://143.110.241.90:5173/\" \"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-24T06:19:48.704Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/copy-history","statusCode":200,"timestamp":"2026-08-24T06:19:48.704Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:49 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/logs HTTP/1.1\" 200 9435 \"http://143.110.241.90:5173/\" \"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-24T06:19:49.186Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/logs","statusCode":200,"timestamp":"2026-08-24T06:19:49.186Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:06:19:51 +0000] \"GET /api/campaigns HTTP/1.1\" 200 33956 \"http://143.110.241.90:5173/\" \"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-24T06:19:51.133Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-24T06:19:51.133Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:08:54:23 +0000] \"GET /api/campaigns HTTP/1.1\" 200 33956 \"http://143.110.241.90:5173/\" \"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-24T08:54:23.433Z"}
{"executionTimeMs":220,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-24T08:54:23.437Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:08:54:29 +0000] \"POST /api/campaigns/bulk/sync-status HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"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-24T08:54:29.763Z"}
{"executionTimeMs":3911,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/sync-status","statusCode":200,"timestamp":"2026-08-24T08:54:29.765Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:08:54:29 +0000] \"GET /api/campaigns HTTP/1.1\" 200 33950 \"http://143.110.241.90:5173/\" \"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-24T08:54:29.946Z"}
{"executionTimeMs":90,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-24T08:54:29.947Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:08:54:59 +0000] \"POST /api/campaigns/bulk/metrics/sync HTTP/1.1\" 200 3116 \"http://143.110.241.90:5173/\" \"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-24T08:54:59.340Z"}
{"executionTimeMs":33355,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/metrics/sync","statusCode":200,"timestamp":"2026-08-24T08:54:59.340Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:08:54:59 +0000] \"GET /api/campaigns HTTP/1.1\" 200 34481 \"http://143.110.241.90:5173/\" \"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-24T08:54:59.413Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-24T08:54:59.413Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:09:17:54 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T09:17:54.272Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-24T09:17:54.273Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:09:17:54 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T09:17:54.285Z"}
{"executionTimeMs":48,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-24T09:17:54.285Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:09:17:55 +0000] \"GET /api/accounts HTTP/1.1\" 200 1878 \"http://143.110.241.90:5173/\" \"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-24T09:17:55.919Z"}
{"executionTimeMs":1676,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-24T09:17:55.919Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:10:30:06 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96 HTTP/1.1\" 200 5509 \"http://143.110.241.90:5173/\" \"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-24T10:30:06.782Z"}
{"executionTimeMs":64,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","statusCode":200,"timestamp":"2026-08-24T10:30:06.784Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [24/Aug/2026:10:30:08 +0000] \"GET /api/accounts HTTP/1.1\" 200 1878 \"http://143.110.241.90:5173/\" \"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-24T10:30:08.382Z"}
{"executionTimeMs":1523,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-24T10:30:08.382Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:15 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T11:01:15.518Z"}
{"executionTimeMs":34,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-24T11:01:15.518Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:15 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T11:01:15.521Z"}
{"executionTimeMs":34,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-24T11:01:15.521Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:16 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T11:01:16.787Z"}
{"executionTimeMs":1310,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-24T11:01:16.788Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-24T11:01:45.815Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:45 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-24T11:01:45.817Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-08-24T11:01:45.817Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-24T11:01:45.819Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:45 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-24T11:01:45.820Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-08-24T11:01:45.821Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-24T11:01:45.823Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:45 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-24T11:01:45.824Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-08-24T11:01:45.825Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:48 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-24T11:01:48.688Z"}
{"executionTimeMs":455,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-24T11:01:48.688Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:48 +0000] \"GET /api/applications HTTP/1.1\" 200 21404 \"http://143.110.241.90:5173/\" \"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-24T11:01:48.732Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-24T11:01:48.733Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:48 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-24T11:01:48.734Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-24T11:01:48.734Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:01:50 +0000] \"GET /api/accounts HTTP/1.1\" 200 1878 \"http://143.110.241.90:5173/\" \"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-24T11:01:50.001Z"}
{"executionTimeMs":1280,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-24T11:01:50.001Z"}
{"alternates":[{"accountName":"Srushti","customerId":"8918679452"}],"level":"info","message":"Multiple Google Ads accounts already advertise this package name; picked the most active one","packageName":"com.voice.gps.navigation.map.location.route","selected":{"accountName":"pipaliyachirag","customerId":"8691240190"},"timestamp":"2026-08-24T11:02:50.592Z"}
{"accountName":"pipaliyachirag","alternateAccounts":[{"accountName":"Srushti","customerId":"8918679452"}],"applicationId":"5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","customerId":"8691240190","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"com.voice.gps.navigation.map.location.route","timestamp":"2026-08-24T11:02:50.606Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:02:50 +0000] \"POST /api/applications/import HTTP/1.1\" 201 867 \"http://143.110.241.90:5173/\" \"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-24T11:02:50.608Z"}
{"executionTimeMs":2696,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-24T11:02:50.608Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:02:50 +0000] \"GET /api/applications HTTP/1.1\" 200 22248 \"http://143.110.241.90:5173/\" \"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-24T11:02:50.676Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-24T11:02:50.677Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:02:50 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 867 \"http://143.110.241.90:5173/\" \"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-24T11:02:50.758Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-08-24T11:02:50.758Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:02:50 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en HTTP/1.1\" 200 28 \"http://143.110.241.90:5173/\" \"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-24T11:02:50.786Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-24T11:02:50.786Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:02:50 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/competitors HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-24T11:02:50.831Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/competitors","statusCode":200,"timestamp":"2026-08-24T11:02:50.832Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:02:50 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/keywords HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-24T11:02:50.862Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/keywords","statusCode":200,"timestamp":"2026-08-24T11:02:50.863Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:02:52 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T11:02:52.018Z"}
{"executionTimeMs":1206,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-24T11:02:52.020Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:14 +0000] \"PATCH /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/google-ads-customer HTTP/1.1\" 200 759 \"http://143.110.241.90:5173/\" \"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-24T11:03:14.107Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/google-ads-customer","statusCode":200,"timestamp":"2026-08-24T11:03:14.107Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:14 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 759 \"http://143.110.241.90:5173/\" \"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-24T11:03:14.153Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-08-24T11:03:14.154Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:22 +0000] \"GET /api/campaigns HTTP/1.1\" 200 34481 \"http://143.110.241.90:5173/\" \"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-24T11:03:22.482Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-24T11:03:22.482Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:24 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T11:03:24.965Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-24T11:03:24.965Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:24 +0000] \"GET /api/applications HTTP/1.1\" 200 22140 \"http://143.110.241.90:5173/\" \"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-24T11:03:24.970Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-24T11:03:24.970Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:25 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T11:03:25.034Z"}
{"executionTimeMs":1267,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-24T11:03:25.034Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:28 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-24T11:03:28.590Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-24T11:03:28.590Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:28 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-24T11:03:28.592Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-24T11:03:28.592Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:28 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-24T11:03:28.599Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-24T11:03:28.600Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:28 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-24T11:03:28.611Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-24T11:03:28.612Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:29 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"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-24T11:03:29.574Z"}
{"executionTimeMs":918,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-08-24T11:03:29.574Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:03:29 +0000] \"GET /api/campaigns/conversion-actions?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 3386 \"http://143.110.241.90:5173/\" \"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-24T11:03:29.806Z"}
{"executionTimeMs":1145,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-08-24T11:03:29.806Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:05:16 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-24T11:05:16.733Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-24T11:05:16.734Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:05:16 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T11:05:16.764Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-24T11:05:16.765Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:05:31 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599&adGroupCount=3&languageCode=en HTTP/1.1\" 200 1701 \"http://143.110.241.90:5173/\" \"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-24T11:05:31.907Z"}
{"executionTimeMs":15180,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599&adGroupCount=3&languageCode=en","statusCode":200,"timestamp":"2026-08-24T11:05:31.908Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:08:20 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 2997 \"http://143.110.241.90:5173/\" \"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-24T11:08:20.813Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-24T11:08:20.813Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:08:36 +0000] \"POST /api/campaigns HTTP/1.1\" 201 980 \"http://143.110.241.90:5173/\" \"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-24T11:08:36.816Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-24T11:08:36.817Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:08:47 +0000] \"POST /api/campaigns/17f9bb16-328b-4e5c-9c52-bd2062200ca2/create HTTP/1.1\" 200 985 \"http://143.110.241.90:5173/\" \"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-24T11:08:47.595Z"}
{"executionTimeMs":10735,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/17f9bb16-328b-4e5c-9c52-bd2062200ca2/create","statusCode":200,"timestamp":"2026-08-24T11:08:47.595Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:08:47 +0000] \"GET /api/campaigns HTTP/1.1\" 200 35567 \"http://143.110.241.90:5173/\" \"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-24T11:08:47.661Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-24T11:08:47.661Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:06 +0000] \"GET /api/campaigns/17f9bb16-328b-4e5c-9c52-bd2062200ca2 HTTP/1.1\" 200 4053 \"http://143.110.241.90:5173/\" \"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-24T11:09:06.205Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/17f9bb16-328b-4e5c-9c52-bd2062200ca2","statusCode":200,"timestamp":"2026-08-24T11:09:06.205Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:07 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T11:09:07.458Z"}
{"executionTimeMs":1205,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-24T11:09:07.459Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:09 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96 HTTP/1.1\" 200 5509 \"http://143.110.241.90:5173/\" \"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-24T11:09:09.981Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","statusCode":200,"timestamp":"2026-08-24T11:09:09.981Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:10 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/metrics HTTP/1.1\" 200 1317 \"http://143.110.241.90:5173/\" \"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-24T11:09:10.762Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/metrics","statusCode":200,"timestamp":"2026-08-24T11:09:10.763Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:10 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/metrics/assets HTTP/1.1\" 200 74496 \"http://143.110.241.90:5173/\" \"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-24T11:09:10.775Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96/metrics/assets","statusCode":200,"timestamp":"2026-08-24T11:09:10.775Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:19 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-24T11:09:19.737Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-24T11:09:19.737Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:20 +0000] \"GET /api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327 HTTP/1.1\" 200 5276 \"http://143.110.241.90:5173/\" \"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-24T11:09:20.427Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327","statusCode":200,"timestamp":"2026-08-24T11:09:20.427Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:23 +0000] \"GET /api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/metrics HTTP/1.1\" 200 2844 \"http://143.110.241.90:5173/\" \"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-24T11:09:23.006Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/metrics","statusCode":200,"timestamp":"2026-08-24T11:09:23.007Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:23 +0000] \"GET /api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/metrics/assets HTTP/1.1\" 200 91886 \"http://143.110.241.90:5173/\" \"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-24T11:09:23.023Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/metrics/assets","statusCode":200,"timestamp":"2026-08-24T11:09:23.024Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:24 +0000] \"GET /api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/copy-history HTTP/1.1\" 200 4364 \"http://143.110.241.90:5173/\" \"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-24T11:09:24.226Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/copy-history","statusCode":200,"timestamp":"2026-08-24T11:09:24.227Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [24/Aug/2026:11:09:25 +0000] \"GET /api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/logs HTTP/1.1\" 200 10187 \"http://143.110.241.90:5173/\" \"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-24T11:09:25.153Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327/logs","statusCode":200,"timestamp":"2026-08-24T11:09:25.153Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-25T07:35:02.050Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:02 +0000] \"GET /api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96 HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-25T07:35:02.064Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2c3d9d2f-b4f4-4488-98b4-15e418b70d96","statusCode":401,"timestamp":"2026-08-25T07:35:02.064Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:05 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-25T07:35:05.118Z"}
{"executionTimeMs":507,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-25T07:35:05.118Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:05 +0000] \"GET /api/applications HTTP/1.1\" 200 22140 \"http://143.110.241.90:5173/\" \"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-25T07:35:05.294Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T07:35:05.295Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:05 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T07:35:05.316Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T07:35:05.316Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:06 +0000] \"GET /api/accounts HTTP/1.1\" 200 2061 \"http://143.110.241.90:5173/\" \"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-25T07:35:06.997Z"}
{"executionTimeMs":1761,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-25T07:35:06.997Z"}
{"alternates":[{"accountName":"Sweta","customerId":"8867172205"}],"level":"info","message":"Multiple Google Ads accounts already advertise this package name; picked the most active one","packageName":"com.coin.identifier.scanner","selected":{"accountName":"pipaliyachirag","customerId":"8691240190"},"timestamp":"2026-08-25T07:35:31.228Z"}
{"accountName":"pipaliyachirag","alternateAccounts":[{"accountName":"Sweta","customerId":"8867172205"}],"applicationId":"7739814b-6cb3-4564-a17a-258b995975cf","customerId":"8691240190","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"com.coin.identifier.scanner","timestamp":"2026-08-25T07:35:31.235Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:31 +0000] \"POST /api/applications/import HTTP/1.1\" 201 844 \"http://143.110.241.90:5173/\" \"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-25T07:35:31.237Z"}
{"executionTimeMs":2713,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-08-25T07:35:31.237Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:31 +0000] \"GET /api/applications HTTP/1.1\" 200 22961 \"http://143.110.241.90:5173/\" \"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-25T07:35:31.341Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T07:35:31.342Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:31 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-25T07:35:31.464Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-25T07:35:31.466Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:31 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-25T07:35:31.514Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-25T07:35:31.514Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:31 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-25T07:35:31.520Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-25T07:35:31.521Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:31 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-25T07:35:31.526Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-25T07:35:31.526Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:32 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"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-25T07:35:32.520Z"}
{"executionTimeMs":891,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-25T07:35:32.521Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:32 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 1895 \"http://143.110.241.90:5173/\" \"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-25T07:35:32.825Z"}
{"executionTimeMs":1193,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-25T07:35:32.826Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:35:59 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17026 \"http://143.110.241.90:5173/\" \"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-25T07:35:59.908Z"}
{"executionTimeMs":9228,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-25T07:35:59.908Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:36:02 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-25T07:36:02.692Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-25T07:36:02.692Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:36:20 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2858 \"http://143.110.241.90:5173/\" \"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-25T07:36:20.862Z"}
{"executionTimeMs":18140,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-25T07:36:20.862Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:37:41 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 6133 \"http://143.110.241.90:5173/\" \"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-25T07:37:41.884Z"}
{"executionTimeMs":32181,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-25T07:37:41.885Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:38:46 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 1753 \"http://143.110.241.90:5173/\" \"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-25T07:38:46.176Z"}
{"executionTimeMs":34,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-25T07:38:46.177Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:39:01 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 4867 \"http://143.110.241.90:5173/\" \"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-25T07:39:01.254Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-25T07:39:01.254Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:39:25 +0000] \"PATCH /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/google-ads-customer HTTP/1.1\" 200 738 \"http://143.110.241.90:5173/\" \"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-25T07:39:25.859Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/google-ads-customer","statusCode":200,"timestamp":"2026-08-25T07:39:25.860Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:39:26 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 63 \"http://143.110.241.90:5173/\" \"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-25T07:39:26.837Z"}
{"executionTimeMs":901,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-25T07:39:26.837Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:40:46 +0000] \"PATCH /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/google-ads-customer HTTP/1.1\" 200 738 \"http://143.110.241.90:5173/\" \"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-25T07:40:46.276Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/google-ads-customer","statusCode":200,"timestamp":"2026-08-25T07:40:46.276Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:40:47 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T07:40:47.485Z"}
{"executionTimeMs":1128,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T07:40:47.486Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:40:53 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-25T07:40:53.146Z"}
{"executionTimeMs":1116,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-25T07:40:53.147Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:40:57 +0000] \"PATCH /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/google-ads-customer HTTP/1.1\" 200 738 \"http://143.110.241.90:5173/\" \"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-25T07:40:57.221Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/google-ads-customer","statusCode":200,"timestamp":"2026-08-25T07:40:57.222Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:40:58 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 1894 \"http://143.110.241.90:5173/\" \"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-25T07:40:58.111Z"}
{"executionTimeMs":810,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-25T07:40:58.111Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:40:58 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T07:40:58.383Z"}
{"executionTimeMs":1053,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T07:40:58.383Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:41:10 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 4867 \"http://143.110.241.90:5173/\" \"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-25T07:41:10.604Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-25T07:41:10.605Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:41:17 +0000] \"POST /api/campaigns HTTP/1.1\" 201 977 \"http://143.110.241.90:5173/\" \"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-25T07:41:17.360Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-25T07:41:17.360Z"}
{"adGroupId":"8946c0bb-bd5d-4bcc-b204-f35ca5b76ab4","error":"Multiple requests were attempting to modify the same resource at once. Retry the request. (2)","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-25T07:41:26.317Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:41:32 +0000] \"POST /api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae/create HTTP/1.1\" 200 1513 \"http://143.110.241.90:5173/\" \"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-25T07:41:32.712Z"}
{"executionTimeMs":15274,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae/create","statusCode":200,"timestamp":"2026-08-25T07:41:32.712Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:41:32 +0000] \"GET /api/campaigns HTTP/1.1\" 200 36636 \"http://143.110.241.90:5173/\" \"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-25T07:41:32.874Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T07:41:32.875Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:43:28 +0000] \"GET /api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae HTTP/1.1\" 200 6344 \"http://143.110.241.90:5173/\" \"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-25T07:43:28.180Z"}
{"executionTimeMs":51,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae","statusCode":200,"timestamp":"2026-08-25T07:43:28.181Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:07:43:29 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T07:43:29.479Z"}
{"executionTimeMs":1233,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T07:43:29.479Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:01:47 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-25T08:01:47.349Z"}
{"executionTimeMs":532,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-25T08:01:47.349Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:01:47 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-25T08:01:47.455Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T08:01:47.455Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:01:47 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T08:01:47.475Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T08:01:47.476Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:01:48 +0000] \"GET /api/accounts HTTP/1.1\" 200 2061 \"http://143.110.241.90:5173/\" \"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-25T08:01:48.894Z"}
{"executionTimeMs":1475,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-25T08:01:48.895Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:01:51 +0000] \"GET /api/campaigns HTTP/1.1\" 200 36636 \"http://143.110.241.90:5173/\" \"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-25T08:01:51.735Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T08:01:51.735Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:01:58 +0000] \"POST /api/campaigns/bulk/sync-status HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"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-25T08:01:58.081Z"}
{"executionTimeMs":3379,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/sync-status","statusCode":200,"timestamp":"2026-08-25T08:01:58.082Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:01:58 +0000] \"GET /api/campaigns HTTP/1.1\" 200 36635 \"http://143.110.241.90:5173/\" \"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-25T08:01:58.167Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T08:01:58.167Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:02:46 +0000] \"POST /api/campaigns/bulk/metrics/sync HTTP/1.1\" 200 3353 \"http://143.110.241.90:5173/\" \"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-25T08:02:46.274Z"}
{"executionTimeMs":51569,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/metrics/sync","statusCode":200,"timestamp":"2026-08-25T08:02:46.274Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:02:46 +0000] \"GET /api/campaigns HTTP/1.1\" 200 37221 \"http://143.110.241.90:5173/\" \"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-25T08:02:46.363Z"}
{"executionTimeMs":34,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T08:02:46.363Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:03:19 +0000] \"GET /api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae HTTP/1.1\" 200 6211 \"http://143.110.241.90:5173/\" \"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-25T08:03:19.216Z"}
{"executionTimeMs":73,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae","statusCode":200,"timestamp":"2026-08-25T08:03:19.217Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:03:20 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T08:03:20.495Z"}
{"executionTimeMs":1214,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T08:03:20.496Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:03:23 +0000] \"GET /api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae/metrics HTTP/1.1\" 200 1218 \"http://143.110.241.90:5173/\" \"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-25T08:03:23.886Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae/metrics","statusCode":200,"timestamp":"2026-08-25T08:03:23.887Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:03:23 +0000] \"GET /api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae/metrics/assets HTTP/1.1\" 200 72570 \"http://143.110.241.90:5173/\" \"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-25T08:03:23.908Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae/metrics/assets","statusCode":200,"timestamp":"2026-08-25T08:03:23.910Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:03:30 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T08:03:30.313Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-25T08:03:30.313Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:03:32 +0000] \"GET /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71 HTTP/1.1\" 200 4985 \"http://143.110.241.90:5173/\" \"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-25T08:03:32.174Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71","statusCode":200,"timestamp":"2026-08-25T08:03:32.175Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:03:33 +0000] \"GET /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics HTTP/1.1\" 200 3057 \"http://143.110.241.90:5173/\" \"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-25T08:03:33.226Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics","statusCode":200,"timestamp":"2026-08-25T08:03:33.226Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:08:03:33 +0000] \"GET /api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/assets HTTP/1.1\" 200 36518 \"http://143.110.241.90:5173/\" \"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-25T08:03:33.245Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/f643b95f-740d-4e03-b3bf-fe5499521e71/metrics/assets","statusCode":200,"timestamp":"2026-08-25T08:03:33.245Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:31:48 +0000] \"GET /api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327 HTTP/1.1\" 200 5276 \"http://143.110.241.90:5173/\" \"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-25T09:31:48.491Z"}
{"executionTimeMs":47,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327","statusCode":200,"timestamp":"2026-08-25T09:31:48.491Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:31:50 +0000] \"GET /api/accounts HTTP/1.1\" 200 2061 \"http://143.110.241.90:5173/\" \"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-25T09:31:50.306Z"}
{"executionTimeMs":1764,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-25T09:31:50.307Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-25T09:39:13.411Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-25T09:39:21.545Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:22 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T09:39:22.680Z"}
{"executionTimeMs":45,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T09:39:22.681Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:22 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-25T09:39:22.696Z"}
{"executionTimeMs":69,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T09:39:22.697Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:24 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:39:24.058Z"}
{"executionTimeMs":1475,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T09:39:24.059Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:29 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-25T09:39:29.961Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-25T09:39:29.962Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:29 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-25T09:39:29.974Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-25T09:39:29.974Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:29 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-25T09:39:29.978Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-25T09:39:29.978Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:29 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-25T09:39:29.983Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-25T09:39:29.983Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:31 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"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-25T09:39:31.094Z"}
{"executionTimeMs":1048,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-08-25T09:39:31.095Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:31 +0000] \"GET /api/campaigns/conversion-actions?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 3386 \"http://143.110.241.90:5173/\" \"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-25T09:39:31.299Z"}
{"executionTimeMs":1261,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-08-25T09:39:31.300Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:40 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-25T09:39:40.855Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-25T09:39:40.856Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:40 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en HTTP/1.1\" 200 25615 \"http://143.110.241.90:5173/\" \"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-25T09:39:40.864Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-25T09:39:40.865Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:39:40 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599&adGroupCount=3&languageCode=en HTTP/1.1\" 200 1701 \"http://143.110.241.90:5173/\" \"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-25T09:39:40.889Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599&adGroupCount=3&languageCode=en","statusCode":200,"timestamp":"2026-08-25T09:39:40.889Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:40:51 +0000] \"POST /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/video-assets HTTP/1.1\" 201 1058 \"http://143.110.241.90:5173/\" \"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-25T09:40:51.054Z"}
{"executionTimeMs":5973,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/video-assets","statusCode":201,"timestamp":"2026-08-25T09:40:51.059Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:42:02 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:42:02.608Z"}
{"executionTimeMs":63,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-25T09:42:02.608Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:42:02 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:42:02.610Z"}
{"executionTimeMs":70,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-25T09:42:02.611Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:42:04 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:42:04.020Z"}
{"executionTimeMs":1513,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T09:42:04.021Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:48:59 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T09:48:59.855Z"}
{"executionTimeMs":48,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T09:48:59.856Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:48:59 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-25T09:48:59.866Z"}
{"executionTimeMs":78,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T09:48:59.867Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:49:01 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:49:01.192Z"}
{"executionTimeMs":1398,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T09:49:01.193Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:50:09 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-25T09:50:09.992Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-25T09:50:09.993Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:50:10 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-25T09:50:10.005Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-25T09:50:10.005Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:50:10 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-25T09:50:10.012Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-25T09:50:10.014Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:50:10 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-25T09:50:10.019Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-25T09:50:10.020Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:50:11 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:50:11.041Z"}
{"executionTimeMs":930,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T09:50:11.043Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:50:11 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:50:11.115Z"}
{"executionTimeMs":1000,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T09:50:11.116Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:53:19 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16818 \"http://143.110.241.90:5173/\" \"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-25T09:53:19.400Z"}
{"executionTimeMs":7460,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-25T09:53:19.401Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:53:23 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-25T09:53:23.687Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-25T09:53:23.689Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:53:38 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2942 \"http://143.110.241.90:5173/\" \"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-25T09:53:38.816Z"}
{"executionTimeMs":15098,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-25T09:53:38.817Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-25T09:53:55.104Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:53:55 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 400 157 \"http://143.110.241.90:5173/\" \"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-25T09:53:55.106Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":400,"timestamp":"2026-08-25T09:53:55.106Z"}
{"level":"error","message":"Request failed Validation failed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","stack":"ApiError: Validation failed\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at /var/www/html/google-ads-automation/backend/src/middlewares/validate.js:11:28\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at param (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:365:14)","statusCode":400,"timestamp":"2026-08-25T09:54:01.394Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:01 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 400 157 \"http://143.110.241.90:5173/\" \"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-25T09:54:01.396Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":400,"timestamp":"2026-08-25T09:54:01.396Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:06 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:06.361Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-25T09:54:06.362Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:06 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:06.388Z"}
{"executionTimeMs":40,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-25T09:54:06.388Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:07 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:07.552Z"}
{"executionTimeMs":1243,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T09:54:07.553Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:08 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-25T09:54:08.893Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T09:54:08.894Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:08 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T09:54:08.897Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T09:54:08.897Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:10 +0000] \"GET /api/accounts HTTP/1.1\" 200 2061 \"http://143.110.241.90:5173/\" \"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-25T09:54:10.249Z"}
{"executionTimeMs":1369,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-25T09:54:10.250Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:11 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T09:54:11.155Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T09:54:11.157Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:11 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-25T09:54:11.166Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T09:54:11.167Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:12 +0000] \"GET /api/accounts HTTP/1.1\" 200 2061 \"http://143.110.241.90:5173/\" \"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-25T09:54:12.430Z"}
{"executionTimeMs":1284,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-25T09:54:12.431Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:13 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:13.749Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-25T09:54:13.750Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:13 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:13.760Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-25T09:54:13.761Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:14 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:14.969Z"}
{"executionTimeMs":1226,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T09:54:14.971Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:15 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:15.982Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-25T09:54:15.983Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:15 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:15.988Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-25T09:54:15.988Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:15 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:15.992Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-25T09:54:15.992Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:16 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:16.025Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-25T09:54:16.026Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:17 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:17.053Z"}
{"executionTimeMs":939,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T09:54:17.054Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:18 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:18.155Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-25T09:54:18.155Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:18 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en HTTP/1.1\" 200 610 \"http://143.110.241.90:5173/\" \"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-25T09:54:18.183Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-25T09:54:18.183Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:18 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 200 42341 \"http://143.110.241.90:5173/\" \"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-25T09:54:18.200Z"}
{"executionTimeMs":39,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-25T09:54:18.200Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:18 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:54:18.820Z"}
{"executionTimeMs":2707,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T09:54:18.820Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:36 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 1105 \"http://143.110.241.90:5173/\" \"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-25T09:54:36.186Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-25T09:54:36.186Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:09:54:50 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 577 \"http://143.110.241.90:5173/\" \"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-25T09:54:50.726Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-25T09:54:50.727Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:38 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:57:38.527Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-25T09:57:38.528Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:38 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:57:38.531Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-25T09:57:38.531Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:38 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:57:38.536Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-25T09:57:38.536Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:38 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:57:38.539Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-25T09:57:38.539Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:39 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 1894 \"http://143.110.241.90:5173/\" \"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-25T09:57:39.375Z"}
{"executionTimeMs":767,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-25T09:57:39.375Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:39 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"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-25T09:57:39.622Z"}
{"executionTimeMs":1012,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-25T09:57:39.622Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:43 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T09:57:43.692Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-25T09:57:43.693Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:43 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 200 42341 \"http://143.110.241.90:5173/\" \"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-25T09:57:43.700Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-25T09:57:43.700Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:43 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en HTTP/1.1\" 200 610 \"http://143.110.241.90:5173/\" \"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-25T09:57:43.713Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-25T09:57:43.714Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:09:57:54 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 848 \"http://143.110.241.90:5173/\" \"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-25T09:57:54.193Z"}
{"executionTimeMs":3454,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-25T09:57:54.194Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:00:33 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:00:33.772Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-25T10:00:33.773Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:00:33 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:00:33.788Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-25T10:00:33.789Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:00:34 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:00:34.989Z"}
{"executionTimeMs":1246,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T10:00:34.990Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-25T10:02:28.946Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-25T10:02:32.954Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:35 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T10:02:35.331Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T10:02:35.332Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:35 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-25T10:02:35.345Z"}
{"executionTimeMs":53,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T10:02:35.345Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:35 +0000] \"GET /api/accounts HTTP/1.1\" - - \"http://143.110.241.90:5173/\" \"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-25T10:02:35.860Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:36 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-25T10:02:36.022Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T10:02:36.022Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:36 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T10:02:36.024Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T10:02:36.024Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:37 +0000] \"GET /api/accounts HTTP/1.1\" 200 2061 \"http://143.110.241.90:5173/\" \"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-25T10:02:37.319Z"}
{"executionTimeMs":1314,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-25T10:02:37.320Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:37 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:02:37.973Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-25T10:02:37.974Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:37 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:02:37.977Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-25T10:02:37.978Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:37 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:02:37.984Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-25T10:02:37.984Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:37 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:02:37.993Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-25T10:02:37.994Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:38 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:02:38.862Z"}
{"executionTimeMs":816,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T10:02:38.865Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:39 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:02:39.019Z"}
{"executionTimeMs":964,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T10:02:39.019Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:42 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:02:42.104Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-25T10:02:42.105Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:42 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:02:42.117Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-25T10:02:42.118Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:02:42 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:02:42.137Z"}
{"executionTimeMs":49,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en","statusCode":304,"timestamp":"2026-08-25T10:02:42.137Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:13 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:13.458Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-25T10:15:13.458Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:13 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:13.463Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-25T10:15:13.464Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:13 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:13.472Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-25T10:15:13.472Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:13 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:13.486Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-25T10:15:13.487Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:14 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:14.629Z"}
{"executionTimeMs":1058,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T10:15:14.630Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:14 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:14.812Z"}
{"executionTimeMs":1224,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T10:15:14.813Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:15 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-25T10:15:15.365Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T10:15:15.365Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:15 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T10:15:15.377Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T10:15:15.378Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:16 +0000] \"GET /api/accounts HTTP/1.1\" 200 2061 \"http://143.110.241.90:5173/\" \"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-25T10:15:16.555Z"}
{"executionTimeMs":1188,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-25T10:15:16.555Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:17 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:17.935Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-25T10:15:17.936Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:17 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:17.938Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-25T10:15:17.938Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:17 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:17.941Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-25T10:15:17.941Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:17 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:17.944Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-25T10:15:17.944Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:18 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:18.703Z"}
{"executionTimeMs":708,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T10:15:18.703Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:18 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:18.904Z"}
{"executionTimeMs":900,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T10:15:18.904Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:41 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:15:41.640Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-25T10:15:41.640Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:41 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2942 \"http://143.110.241.90:5173/\" \"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-25T10:15:41.700Z"}
{"executionTimeMs":42,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-25T10:15:41.701Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:41 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 200 42341 \"http://143.110.241.90:5173/\" \"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-25T10:15:41.709Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-25T10:15:41.709Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:15:41 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16826 \"http://143.110.241.90:5173/\" \"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-25T10:15:41.796Z"}
{"executionTimeMs":8729,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-25T10:15:41.797Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:16:03 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2077 \"http://143.110.241.90:5173/\" \"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-25T10:16:03.345Z"}
{"executionTimeMs":10061,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-25T10:16:03.345Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:16:15 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2077 \"http://143.110.241.90:5173/\" \"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-25T10:16:15.035Z"}
{"executionTimeMs":8327,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-25T10:16:15.035Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:16:26 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2077 \"http://143.110.241.90:5173/\" \"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-25T10:16:26.700Z"}
{"executionTimeMs":8196,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-25T10:16:26.700Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:17:18 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 7713 \"http://143.110.241.90:5173/\" \"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-25T10:17:18.734Z"}
{"executionTimeMs":17993,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-25T10:17:18.735Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:17:26 +0000] \"POST /api/campaigns HTTP/1.1\" 201 977 \"http://143.110.241.90:5173/\" \"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-25T10:17:26.169Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-25T10:17:26.169Z"}
{"adGroupId":"cc40449e-b2b5-4669-a4bf-99c2aad3ba96","error":"This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '8691240190'. (16))","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-25T10:17:38.067Z"}
{"adGroupId":"7a32bbf5-ff68-49be-82d8-f6eacdd3aeb4","error":"This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '8691240190'. (16))","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-25T10:17:39.314Z"}
{"adGroupId":"92c77d2f-f1c5-41d3-9bad-997ddffbf18b","error":"This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '8691240190'. (16))","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-25T10:17:40.637Z"}
{"adGroupId":"7be70b8f-ecfe-4245-a064-7d0e7c7777fc","error":"This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '8691240190'. (16))","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-25T10:17:41.907Z"}
{"adGroupId":"dff96c9e-f5d6-4f62-b81a-824225622fd9","error":"This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '8691240190'. (16))","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-25T10:17:43.143Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:17:43 +0000] \"POST /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/create HTTP/1.1\" 200 1852 \"http://143.110.241.90:5173/\" \"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-25T10:17:43.150Z"}
{"executionTimeMs":16899,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/create","statusCode":200,"timestamp":"2026-08-25T10:17:43.150Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:17:43 +0000] \"GET /api/campaigns HTTP/1.1\" 200 38294 \"http://143.110.241.90:5173/\" \"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-25T10:17:43.340Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T10:17:43.341Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:18:45 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b HTTP/1.1\" 200 9703 \"http://143.110.241.90:5173/\" \"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-25T10:18:45.194Z"}
{"executionTimeMs":47,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b","statusCode":200,"timestamp":"2026-08-25T10:18:45.194Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:18:46 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:18:46.553Z"}
{"executionTimeMs":1171,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T10:18:46.554Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:18:46 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T10:18:46.622Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":200,"timestamp":"2026-08-25T10:18:46.622Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:18:46 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 6781 \"http://143.110.241.90:5173/\" \"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-25T10:18:46.629Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-25T10:18:46.629Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:19:28 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:19:28.423Z"}
{"executionTimeMs":1122,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T10:19:28.425Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:19:35 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:19:35.711Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-25T10:19:35.712Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:19:35 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:19:35.747Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-25T10:19:35.748Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:19:37 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:19:37.709Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-25T10:19:37.709Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:19:38 +0000] \"GET /api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae HTTP/1.1\" 200 6211 \"http://143.110.241.90:5173/\" \"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-25T10:19:38.822Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae","statusCode":200,"timestamp":"2026-08-25T10:19:38.823Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:19:55 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:19:55.567Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b","statusCode":304,"timestamp":"2026-08-25T10:19:55.567Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:20:37 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:20:37.951Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-25T10:20:37.952Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:20:37 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:20:37.958Z"}
{"executionTimeMs":48,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-25T10:20:37.958Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:20:37 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:20:37.991Z"}
{"executionTimeMs":87,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b","statusCode":304,"timestamp":"2026-08-25T10:20:37.992Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:20:38 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445 HTTP/1.1\" 200 1894 \"http://143.110.241.90:5173/\" \"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-25T10:20:38.906Z"}
{"executionTimeMs":992,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445","statusCode":200,"timestamp":"2026-08-25T10:20:38.906Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:20:44 +0000] \"PATCH /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/live-settings HTTP/1.1\" 200 9703 \"http://143.110.241.90:5173/\" \"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-25T10:20:44.331Z"}
{"executionTimeMs":1561,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/live-settings","statusCode":200,"timestamp":"2026-08-25T10:20:44.332Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:20:44 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b HTTP/1.1\" 200 9703 \"http://143.110.241.90:5173/\" \"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-25T10:20:44.480Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b","statusCode":200,"timestamp":"2026-08-25T10:20:44.481Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:20:45 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:20:45.730Z"}
{"executionTimeMs":1224,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T10:20:45.730Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:02 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:21:02.391Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-25T10:21:02.397Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:02 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:21:02.434Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-25T10:21:02.435Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:05 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:21:05.778Z"}
{"executionTimeMs":889,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T10:21:05.778Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:05 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:21:05.839Z"}
{"executionTimeMs":955,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T10:21:05.840Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:23 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en HTTP/1.1\" 200 1014 \"http://143.110.241.90:5173/\" \"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-25T10:21:23.685Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en","statusCode":200,"timestamp":"2026-08-25T10:21:23.686Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:23 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 200 42285 \"http://143.110.241.90:5173/\" \"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-25T10:21:23.695Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-25T10:21:23.696Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:25 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17020 \"http://143.110.241.90:5173/\" \"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-25T10:21:25.820Z"}
{"executionTimeMs":8737,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-25T10:21:25.820Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:48 +0000] \"PATCH /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/google-ads-customer HTTP/1.1\" 200 738 \"http://143.110.241.90:5173/\" \"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-25T10:21:48.041Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/google-ads-customer","statusCode":200,"timestamp":"2026-08-25T10:21:48.041Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:49 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:21:49.079Z"}
{"executionTimeMs":953,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T10:21:49.079Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:21:55 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 4443 \"http://143.110.241.90:5173/\" \"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-25T10:21:55.709Z"}
{"executionTimeMs":18671,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-25T10:21:55.709Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:22:08 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 2602 \"http://143.110.241.90:5173/\" \"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-25T10:22:08.323Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-25T10:22:08.323Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:22:10 +0000] \"POST /api/campaigns HTTP/1.1\" 201 977 \"http://143.110.241.90:5173/\" \"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-25T10:22:10.867Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-25T10:22:10.867Z"}
{"adGroupId":"da972d76-07a6-4267-aee3-36d3c38166f1","error":"This account ID isn't reachable under your MCC — re-link it, or pick a different account. (Invalid customer ID '8691240190'. (16))","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-25T10:22:17.975Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:22:19 +0000] \"POST /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/create HTTP/1.1\" 200 814 \"http://143.110.241.90:5173/\" \"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-25T10:22:19.630Z"}
{"executionTimeMs":8684,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/create","statusCode":200,"timestamp":"2026-08-25T10:22:19.633Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:22:19 +0000] \"GET /api/campaigns HTTP/1.1\" 200 39367 \"http://143.110.241.90:5173/\" \"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-25T10:22:19.765Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T10:22:19.765Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:22:22 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d HTTP/1.1\" 200 3579 \"http://143.110.241.90:5173/\" \"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-25T10:22:22.075Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d","statusCode":200,"timestamp":"2026-08-25T10:22:22.075Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:22:22 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 9147 \"http://143.110.241.90:5173/\" \"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-25T10:22:22.995Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-25T10:22:22.995Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:22:23 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:22:23.003Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-25T10:22:23.004Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:10:22:23 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:22:23.451Z"}
{"executionTimeMs":1297,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T10:22:23.451Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:27:34 +0000] \"GET /api/campaigns HTTP/1.1\" 200 39367 \"http://143.110.241.90:5173/\" \"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-25T10:27:34.620Z"}
{"executionTimeMs":39,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T10:27:34.620Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:27:35 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b HTTP/1.1\" 200 9703 \"http://143.110.241.90:5173/\" \"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-25T10:27:35.818Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b","statusCode":200,"timestamp":"2026-08-25T10:27:35.818Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:27:36 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 9147 \"http://143.110.241.90:5173/\" \"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-25T10:27:36.684Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-25T10:27:36.685Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:27:36 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T10:27:36.686Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":200,"timestamp":"2026-08-25T10:27:36.686Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:27:37 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:27:37.164Z"}
{"executionTimeMs":1302,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T10:27:37.164Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:27:46 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/metrics HTTP/1.1\" 200 107 \"http://143.110.241.90:5173/\" \"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-25T10:27:46.876Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/metrics","statusCode":200,"timestamp":"2026-08-25T10:27:46.876Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:27:46 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/metrics/assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T10:27:46.878Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/metrics/assets","statusCode":200,"timestamp":"2026-08-25T10:27:46.878Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:10:32:48 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T10:32:48.576Z"}
{"executionTimeMs":1437,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T10:32:48.576Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:19:33 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T11:19:33.756Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":200,"timestamp":"2026-08-25T11:19:33.757Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:19:33 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 9147 \"http://143.110.241.90:5173/\" \"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-25T11:19:33.768Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-25T11:19:33.769Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-25T11:24:34.298Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-25T11:24:39.445Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:43 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b HTTP/1.1\" 200 9703 \"http://143.110.241.90:5173/\" \"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-25T11:24:43.636Z"}
{"executionTimeMs":83,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b","statusCode":200,"timestamp":"2026-08-25T11:24:43.637Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:44 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:24:44.667Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-25T11:24:44.668Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:44 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:24:44.674Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-25T11:24:44.675Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:45 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:24:45.320Z"}
{"executionTimeMs":1636,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T11:24:45.321Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:46 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:24:46.307Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-25T11:24:46.307Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:46 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:24:46.310Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-25T11:24:46.310Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:46 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:24:46.313Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-25T11:24:46.314Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:46 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:24:46.390Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-25T11:24:46.390Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:47 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445 HTTP/1.1\" 200 1894 \"http://143.110.241.90:5173/\" \"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-25T11:24:47.414Z"}
{"executionTimeMs":1028,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445","statusCode":200,"timestamp":"2026-08-25T11:24:47.414Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:52 +0000] \"PATCH /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/live-settings HTTP/1.1\" 200 9703 \"http://143.110.241.90:5173/\" \"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-25T11:24:52.787Z"}
{"executionTimeMs":3591,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/live-settings","statusCode":200,"timestamp":"2026-08-25T11:24:52.787Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:24:52 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b HTTP/1.1\" 200 9703 \"http://143.110.241.90:5173/\" \"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-25T11:24:52.846Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b","statusCode":200,"timestamp":"2026-08-25T11:24:52.846Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:25:14 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-25T11:25:14.439Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-25T11:25:14.441Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:26:29 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:26:29.959Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-25T11:26:29.960Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:26:29 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-25T11:26:29.967Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-25T11:26:29.968Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:26:31 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:26:31.284Z"}
{"executionTimeMs":1362,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T11:26:31.285Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:26:33 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:26:33.183Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-25T11:26:33.184Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:26:33 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:26:33.953Z"}
{"executionTimeMs":720,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T11:26:33.954Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:26:34 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:26:34.040Z"}
{"executionTimeMs":808,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-25T11:26:34.040Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:28:26 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 200 17020 \"http://143.110.241.90:5173/\" \"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-25T11:28:26.505Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-25T11:28:26.506Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:28:26 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en HTTP/1.1\" 200 985 \"http://143.110.241.90:5173/\" \"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-25T11:28:26.527Z"}
{"executionTimeMs":50,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en","statusCode":200,"timestamp":"2026-08-25T11:28:26.528Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:31:28 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 1059 \"http://143.110.241.90:5173/\" \"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-25T11:31:28.650Z"}
{"executionTimeMs":4802,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-25T11:31:28.650Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:31:52 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 2167 \"http://143.110.241.90:5173/\" \"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-25T11:31:52.143Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-25T11:31:52.143Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:31:59 +0000] \"POST /api/campaigns HTTP/1.1\" 201 903 \"http://143.110.241.90:5173/\" \"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-25T11:31:59.475Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-25T11:31:59.475Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:08 +0000] \"POST /api/campaigns/435c6fd4-4aa4-4d6e-a928-3ab11d1f6cd6/create HTTP/1.1\" 200 739 \"http://143.110.241.90:5173/\" \"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-25T11:32:08.794Z"}
{"executionTimeMs":9276,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/435c6fd4-4aa4-4d6e-a928-3ab11d1f6cd6/create","statusCode":200,"timestamp":"2026-08-25T11:32:08.794Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:08 +0000] \"GET /api/campaigns HTTP/1.1\" 200 40366 \"http://143.110.241.90:5173/\" \"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-25T11:32:08.871Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T11:32:08.871Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:13 +0000] \"GET /api/campaigns/435c6fd4-4aa4-4d6e-a928-3ab11d1f6cd6 HTTP/1.1\" 200 2958 \"http://143.110.241.90:5173/\" \"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-25T11:32:13.520Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/435c6fd4-4aa4-4d6e-a928-3ab11d1f6cd6","statusCode":200,"timestamp":"2026-08-25T11:32:13.521Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:14 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:32:14.437Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-25T11:32:14.437Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:14 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 9485 \"http://143.110.241.90:5173/\" \"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-25T11:32:14.443Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-25T11:32:14.444Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:14 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:32:14.805Z"}
{"executionTimeMs":1239,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T11:32:14.805Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:29 +0000] \"DELETE /api/campaigns/435c6fd4-4aa4-4d6e-a928-3ab11d1f6cd6 HTTP/1.1\" 204 - \"http://143.110.241.90:5173/\" \"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-25T11:32:29.654Z"}
{"executionTimeMs":809,"level":"http","message":"Request completed","method":"DELETE","path":"/api/campaigns/435c6fd4-4aa4-4d6e-a928-3ab11d1f6cd6","statusCode":204,"timestamp":"2026-08-25T11:32:29.655Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:29 +0000] \"GET /api/campaigns/435c6fd4-4aa4-4d6e-a928-3ab11d1f6cd6 HTTP/1.1\" 200 2958 \"http://143.110.241.90:5173/\" \"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-25T11:32:29.697Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/435c6fd4-4aa4-4d6e-a928-3ab11d1f6cd6","statusCode":200,"timestamp":"2026-08-25T11:32:29.697Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:29 +0000] \"GET /api/campaigns HTTP/1.1\" 200 39367 \"http://143.110.241.90:5173/\" \"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-25T11:32:29.757Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T11:32:29.757Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:33 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d HTTP/1.1\" 200 3579 \"http://143.110.241.90:5173/\" \"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-25T11:32:33.322Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d","statusCode":200,"timestamp":"2026-08-25T11:32:33.322Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:38 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:32:38.974Z"}
{"executionTimeMs":901,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445","statusCode":304,"timestamp":"2026-08-25T11:32:38.974Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:41 +0000] \"PATCH /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/live-settings HTTP/1.1\" 200 3579 \"http://143.110.241.90:5173/\" \"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-25T11:32:41.618Z"}
{"executionTimeMs":1362,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/live-settings","statusCode":200,"timestamp":"2026-08-25T11:32:41.618Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:41 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d HTTP/1.1\" 200 3579 \"http://143.110.241.90:5173/\" \"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-25T11:32:41.689Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d","statusCode":200,"timestamp":"2026-08-25T11:32:41.689Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:46 +0000] \"GET /api/campaigns HTTP/1.1\" 200 39367 \"http://143.110.241.90:5173/\" \"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-25T11:32:46.420Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T11:32:46.420Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:48 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:32:48.293Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-25T11:32:48.293Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:48 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:32:48.296Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-25T11:32:48.297Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:11:32:48 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T11:32:48.721Z"}
{"executionTimeMs":1166,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T11:32:48.721Z"}
{"level":"http","message":"::ffff:110.226.115.144 - - [25/Aug/2026:11:50:53 +0000] \"GET /api/campaigns HTTP/1.1\" 200 39367 \"http://143.110.241.90:5173/\" \"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-25T11:50:53.753Z"}
{"executionTimeMs":41,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-25T11:50:53.754Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:13:04:31 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T13:04:31.047Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-25T13:04:31.048Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:13:04:31 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T13:04:31.055Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-25T13:04:31.055Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:13:04:32 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T13:04:32.612Z"}
{"executionTimeMs":1589,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-25T13:04:32.612Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:13:04:34 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T13:04:34.074Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-25T13:04:34.074Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:13:04:34 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T13:04:34.075Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-25T13:04:34.075Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:13:04:34 +0000] \"GET /api/accounts HTTP/1.1\" - - \"http://143.110.241.90:5173/\" \"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-25T13:04:34.882Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:13:04:37 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T13:04:37.015Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-25T13:04:37.016Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:13:04:37 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-25T13:04:37.026Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-25T13:04:37.026Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [25/Aug/2026:13:04:39 +0000] \"GET /api/accounts HTTP/1.1\" 200 2061 \"http://143.110.241.90:5173/\" \"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-25T13:04:39.260Z"}
{"executionTimeMs":2258,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-25T13:04:39.260Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-26T01:25:56.138Z"}
{"level":"http","message":"::ffff:85.217.149.2 - - [26/Aug/2026:01:25:56 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-26T01:25:56.140Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-26T01:25:56.141Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-26T01:41:17.717Z"}
{"level":"http","message":"::ffff:85.217.149.7 - - [26/Aug/2026:01:41:17 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-26T01:41:17.719Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-26T01:41:17.719Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:03:28:59 +0000] \"GET /api/accounts HTTP/1.1\" 200 2073 \"http://143.110.241.90:5173/\" \"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-26T03:28:59.607Z"}
{"executionTimeMs":1760,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-26T03:28:59.607Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:28:58 +0000] \"GET /api/campaigns HTTP/1.1\" 200 39367 \"http://143.110.241.90:5173/\" \"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-26T04:28:58.551Z"}
{"executionTimeMs":56,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T04:28:58.551Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:01 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d HTTP/1.1\" 200 3579 \"http://143.110.241.90:5173/\" \"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-26T04:29:01.056Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d","statusCode":200,"timestamp":"2026-08-26T04:29:01.057Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:02 +0000] \"GET /api/accounts HTTP/1.1\" 200 2073 \"http://143.110.241.90:5173/\" \"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-26T04:29:02.372Z"}
{"executionTimeMs":1239,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-26T04:29:02.373Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:05 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-26T04:29:05.766Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-26T04:29:05.767Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:05 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T04:29:05.791Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-26T04:29:05.792Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:08 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-26T04:29:08.192Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-26T04:29:08.193Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:08 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-26T04:29:08.195Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-26T04:29:08.195Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:08 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-26T04:29:08.197Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-26T04:29:08.198Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:08 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-26T04:29:08.226Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-26T04:29:08.227Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:09 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 1894 \"http://143.110.241.90:5173/\" \"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-26T04:29:09.274Z"}
{"executionTimeMs":968,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-26T04:29:09.274Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:09 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"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-26T04:29:09.384Z"}
{"executionTimeMs":1080,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-26T04:29:09.384Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:31 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17035 \"http://143.110.241.90:5173/\" \"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-26T04:29:31.018Z"}
{"executionTimeMs":8424,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-26T04:29:31.019Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:35 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-26T04:29:35.157Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-26T04:29:35.158Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:29:51 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2769 \"http://143.110.241.90:5173/\" \"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-26T04:29:51.578Z"}
{"executionTimeMs":16397,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-26T04:29:51.578Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:30:33 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 4443 \"http://143.110.241.90:5173/\" \"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-26T04:30:33.028Z"}
{"executionTimeMs":19582,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T04:30:33.029Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:30:49 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 6824 \"http://143.110.241.90:5173/\" \"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-26T04:30:49.882Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-26T04:30:49.883Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:30:52 +0000] \"POST /api/campaigns HTTP/1.1\" 201 977 \"http://143.110.241.90:5173/\" \"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-26T04:30:52.025Z"}
{"executionTimeMs":61,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-26T04:30:52.026Z"}
{"adGroupId":"64df8a44-60b8-4c27-ac52-b46a7c2f65af","error":"6 image/video asset(s) on this ad group belong to a different Google Ads account and can't be attached here — remove and re-add them under this app's linked account (customers/8691240190/assets/412544615435, customers/8691240190/assets/412651241050, customers/8691240190/assets/412544638595, customers/8691240190/assets/412651277077, customers/8691240190/assets/412720896459, customers/8691240190/assets/412720904052).","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-26T04:30:57.499Z"}
{"adGroupId":"7d7ccc0f-dd0e-47b9-87bf-cc721b67978a","error":"6 image/video asset(s) on this ad group belong to a different Google Ads account and can't be attached here — remove and re-add them under this app's linked account (customers/8691240190/assets/412544615435, customers/8691240190/assets/412651241050, customers/8691240190/assets/412544638595, customers/8691240190/assets/412651277077, customers/8691240190/assets/412720896459, customers/8691240190/assets/412720904052).","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-26T04:30:58.069Z"}
{"adGroupId":"6e9e2d79-acfc-4f33-9333-b4b07b2fb9b0","error":"6 image/video asset(s) on this ad group belong to a different Google Ads account and can't be attached here — remove and re-add them under this app's linked account (customers/8691240190/assets/412544615435, customers/8691240190/assets/412651241050, customers/8691240190/assets/412544638595, customers/8691240190/assets/412651277077, customers/8691240190/assets/412720896459, customers/8691240190/assets/412720904052).","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-26T04:30:58.980Z"}
{"adGroupId":"386c8c3a-d1a5-4a4e-8b53-b79b8e03031f","error":"6 image/video asset(s) on this ad group belong to a different Google Ads account and can't be attached here — remove and re-add them under this app's linked account (customers/8691240190/assets/412544615435, customers/8691240190/assets/412651241050, customers/8691240190/assets/412544638595, customers/8691240190/assets/412651277077, customers/8691240190/assets/412720896459, customers/8691240190/assets/412720904052).","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-26T04:30:59.689Z"}
{"adGroupId":"b59cd916-15d6-49b3-8591-7fdb4a1a454f","error":"6 image/video asset(s) on this ad group belong to a different Google Ads account and can't be attached here — remove and re-add them under this app's linked account (customers/8691240190/assets/412544615435, customers/8691240190/assets/412651241050, customers/8691240190/assets/412544638595, customers/8691240190/assets/412651277077, customers/8691240190/assets/412720896459, customers/8691240190/assets/412720904052).","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-26T04:31:00.364Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:31:00 +0000] \"POST /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/create HTTP/1.1\" 200 3292 \"http://143.110.241.90:5173/\" \"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-26T04:31:00.373Z"}
{"executionTimeMs":8267,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/create","statusCode":200,"timestamp":"2026-08-26T04:31:00.373Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:31:00 +0000] \"GET /api/campaigns HTTP/1.1\" 200 40436 \"http://143.110.241.90:5173/\" \"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-26T04:31:00.562Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T04:31:00.562Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:31:46 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 200 10250 \"http://143.110.241.90:5173/\" \"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-26T04:31:46.479Z"}
{"executionTimeMs":42,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":200,"timestamp":"2026-08-26T04:31:46.480Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:31:47 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T04:31:47.758Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T04:31:47.759Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:31:47 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T04:31:47.760Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":200,"timestamp":"2026-08-26T04:31:47.761Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:04:31:47 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:31:47.768Z"}
{"executionTimeMs":1116,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T04:31:47.768Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:52 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:35:52.412Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T04:35:52.413Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:52 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:35:52.416Z"}
{"executionTimeMs":33,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T04:35:52.417Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:53 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:35:53.579Z"}
{"executionTimeMs":1202,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T04:35:53.580Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:54 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:35:54.366Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T04:35:54.366Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:54 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:35:54.370Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T04:35:54.370Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:55 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:35:55.534Z"}
{"executionTimeMs":1175,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T04:35:55.534Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:56 +0000] \"GET /api/campaigns HTTP/1.1\" 200 40436 \"http://143.110.241.90:5173/\" \"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-26T04:35:56.693Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T04:35:56.693Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:58 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 200 10250 \"http://143.110.241.90:5173/\" \"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-26T04:35:58.331Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":200,"timestamp":"2026-08-26T04:35:58.332Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:59 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T04:35:59.269Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T04:35:59.270Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:35:59 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:35:59.272Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T04:35:59.272Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:37:57 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:37:57.811Z"}
{"executionTimeMs":1303,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T04:37:57.811Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:38:16 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:38:16.950Z"}
{"executionTimeMs":1149,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T04:38:16.951Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:38:36 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:38:36.692Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T04:38:36.692Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:38:36 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:38:36.702Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T04:38:36.702Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:48:43 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:48:43.056Z"}
{"executionTimeMs":1411,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T04:48:43.057Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:48:52 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:48:52.224Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-26T04:48:52.224Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:48:53 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:48:53.870Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":304,"timestamp":"2026-08-26T04:48:53.870Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:48:54 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:48:54.457Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T04:48:54.457Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:04:48:54 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T04:48:54.479Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T04:48:54.480Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-26T05:07:46.144Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-26T05:07:52.274Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:07:53 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:07:53.655Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T05:07:53.656Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:07:53 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:07:53.672Z"}
{"executionTimeMs":61,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T05:07:53.673Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:07:55 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:07:55.120Z"}
{"executionTimeMs":1549,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:07:55.121Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:07:55 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:07:55.812Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T05:07:55.813Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:07:55 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:07:55.815Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-26T05:07:55.816Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:07:55 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:07:55.818Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T05:07:55.819Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:07:56 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:07:56.053Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T05:07:56.054Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:07:57 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"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-26T05:07:57.007Z"}
{"executionTimeMs":873,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-26T05:07:57.007Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:07:57 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:07:57.201Z"}
{"executionTimeMs":1072,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-26T05:07:57.202Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:08:16 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:08:16.452Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T05:08:16.452Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:08:16 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 200 42201 \"http://143.110.241.90:5173/\" \"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-26T05:08:16.463Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-26T05:08:16.464Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:08:16 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en HTTP/1.1\" 200 1192 \"http://143.110.241.90:5173/\" \"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-26T05:08:16.483Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en","statusCode":200,"timestamp":"2026-08-26T05:08:16.483Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:11 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/logs HTTP/1.1\" 200 4702 \"http://143.110.241.90:5173/\" \"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-26T05:11:11.739Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/logs","statusCode":200,"timestamp":"2026-08-26T05:11:11.739Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:14 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:14.002Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:11:14.003Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:14 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:14.022Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T05:11:14.022Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:15 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/metrics/assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T05:11:15.180Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/metrics/assets","statusCode":200,"timestamp":"2026-08-26T05:11:15.181Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:15 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/metrics HTTP/1.1\" 200 107 \"http://143.110.241.90:5173/\" \"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-26T05:11:15.188Z"}
{"executionTimeMs":43,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/metrics","statusCode":200,"timestamp":"2026-08-26T05:11:15.189Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:44 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:44.441Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T05:11:44.441Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:44 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:44.444Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:11:44.445Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:44 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:44.448Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T05:11:44.448Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:44 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:44.450Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T05:11:44.450Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:44 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:44.457Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T05:11:44.458Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:44 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:44.485Z"}
{"executionTimeMs":54,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":304,"timestamp":"2026-08-26T05:11:44.485Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:44 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:44.521Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T05:11:44.521Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:45 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:45.413Z"}
{"executionTimeMs":891,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445","statusCode":304,"timestamp":"2026-08-26T05:11:45.413Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:11:52 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:11:52.860Z"}
{"executionTimeMs":1168,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:11:52.861Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:07 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2077 \"http://143.110.241.90:5173/\" \"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-26T05:12:07.689Z"}
{"executionTimeMs":10013,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T05:12:07.691Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:09 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 2541 \"http://143.110.241.90:5173/\" \"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-26T05:12:09.560Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-26T05:12:09.561Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:13 +0000] \"POST /api/campaigns HTTP/1.1\" 201 903 \"http://143.110.241.90:5173/\" \"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-26T05:12:13.291Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-26T05:12:13.291Z"}
{"adGroupId":"2ee8f4fe-e698-4f0f-9dd4-08cc25aa3c25","error":"6 image/video asset(s) on this ad group belong to a different Google Ads account and can't be attached here — remove and re-add them under this app's linked account (customers/8691240190/assets/412544615435, customers/8691240190/assets/412720896459, customers/8691240190/assets/412544638595, customers/8691240190/assets/412720904052, customers/8691240190/assets/412651277077, customers/8691240190/assets/412651241050).","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-26T05:12:20.563Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:20 +0000] \"POST /api/campaigns/12b33df9-04a3-45e7-96df-d18162141982/create HTTP/1.1\" 200 1102 \"http://143.110.241.90:5173/\" \"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-26T05:12:20.568Z"}
{"executionTimeMs":7232,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/12b33df9-04a3-45e7-96df-d18162141982/create","statusCode":200,"timestamp":"2026-08-26T05:12:20.569Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:20 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41435 \"http://143.110.241.90:5173/\" \"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-26T05:12:20.696Z"}
{"executionTimeMs":47,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:12:20.697Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:22 +0000] \"GET /api/campaigns/12b33df9-04a3-45e7-96df-d18162141982 HTTP/1.1\" 200 3737 \"http://143.110.241.90:5173/\" \"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-26T05:12:22.617Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/12b33df9-04a3-45e7-96df-d18162141982","statusCode":200,"timestamp":"2026-08-26T05:12:22.618Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:23 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:12:23.500Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:12:23.501Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:23 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T05:12:23.508Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T05:12:23.508Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:23 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:12:23.883Z"}
{"executionTimeMs":1216,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:12:23.884Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:49 +0000] \"DELETE /api/campaigns/12b33df9-04a3-45e7-96df-d18162141982 HTTP/1.1\" 204 - \"http://143.110.241.90:5173/\" \"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-26T05:12:49.588Z"}
{"executionTimeMs":717,"level":"http","message":"Request completed","method":"DELETE","path":"/api/campaigns/12b33df9-04a3-45e7-96df-d18162141982","statusCode":204,"timestamp":"2026-08-26T05:12:49.588Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:49 +0000] \"GET /api/campaigns/12b33df9-04a3-45e7-96df-d18162141982 HTTP/1.1\" 200 3737 \"http://143.110.241.90:5173/\" \"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-26T05:12:49.657Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/12b33df9-04a3-45e7-96df-d18162141982","statusCode":200,"timestamp":"2026-08-26T05:12:49.657Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:49 +0000] \"GET /api/campaigns HTTP/1.1\" 200 40436 \"http://143.110.241.90:5173/\" \"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-26T05:12:49.741Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:12:49.741Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:12:50 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:12:50.747Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":304,"timestamp":"2026-08-26T05:12:50.748Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-26T05:18:55.276Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-26T05:19:00.801Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:01 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:01.620Z"}
{"executionTimeMs":112,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-26T05:19:01.622Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:03 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:03.271Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-26T05:19:03.271Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:03 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:03.940Z"}
{"executionTimeMs":83,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":304,"timestamp":"2026-08-26T05:19:03.941Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:04 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:04.782Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:19:04.783Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:04 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:04.791Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T05:19:04.792Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:05 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:05.647Z"}
{"executionTimeMs":1652,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:19:05.647Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:08 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:08.782Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T05:19:08.783Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:08 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:08.802Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T05:19:08.804Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:09 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:09.917Z"}
{"executionTimeMs":1163,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:19:09.918Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:11 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:11.318Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T05:19:11.319Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:11 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:11.323Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T05:19:11.323Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:11 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:11.326Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-26T05:19:11.327Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:11 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:11.346Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T05:19:11.346Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:12 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:12.267Z"}
{"executionTimeMs":867,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-26T05:19:12.268Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:12 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"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-26T05:19:12.348Z"}
{"executionTimeMs":950,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-26T05:19:12.349Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:25 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:25.723Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T05:19:25.723Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:25 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:19:25.738Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-26T05:19:25.738Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:25 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en HTTP/1.1\" 200 1234 \"http://143.110.241.90:5173/\" \"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-26T05:19:25.751Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en","statusCode":200,"timestamp":"2026-08-26T05:19:25.751Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:46 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2077 \"http://143.110.241.90:5173/\" \"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-26T05:19:46.220Z"}
{"executionTimeMs":9763,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T05:19:46.220Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:48 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 2539 \"http://143.110.241.90:5173/\" \"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-26T05:19:48.613Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-26T05:19:48.613Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:50 +0000] \"POST /api/campaigns HTTP/1.1\" 201 900 \"http://143.110.241.90:5173/\" \"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-26T05:19:50.634Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-26T05:19:50.634Z"}
{"adGroupId":"788283ac-9c45-40fd-a4d5-674a50dbd213","error":"6 image/video asset(s) on this ad group belong to a different Google Ads account and can't be attached here — remove and re-add them under this app's linked account (customers/8691240190/assets/412544615435, customers/8691240190/assets/412720896459, customers/8691240190/assets/412544638595, customers/8691240190/assets/412720904052, customers/8691240190/assets/412651277077, customers/8691240190/assets/412651241050).","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-26T05:19:57.629Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:57 +0000] \"POST /api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6/create HTTP/1.1\" 200 1102 \"http://143.110.241.90:5173/\" \"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-26T05:19:57.636Z"}
{"executionTimeMs":6953,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6/create","statusCode":200,"timestamp":"2026-08-26T05:19:57.636Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:57 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41432 \"http://143.110.241.90:5173/\" \"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-26T05:19:57.749Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:19:57.749Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:19:59 +0000] \"GET /api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6 HTTP/1.1\" 200 3734 \"http://143.110.241.90:5173/\" \"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-26T05:19:59.724Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6","statusCode":200,"timestamp":"2026-08-26T05:19:59.725Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:20:00 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:20:00.644Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:20:00.647Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:20:00 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T05:20:00.651Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T05:20:00.651Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:20:00 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:20:00.960Z"}
{"executionTimeMs":1185,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:20:00.961Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:24 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:24.949Z"}
{"executionTimeMs":58,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-26T05:27:24.950Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:25 +0000] \"GET /api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:25.554Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6","statusCode":304,"timestamp":"2026-08-26T05:27:25.555Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:26 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:26.794Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T05:27:26.794Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:26 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:26.800Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:27:26.800Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:26 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:26.806Z"}
{"executionTimeMs":1206,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:27:26.807Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:31 +0000] \"DELETE /api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6 HTTP/1.1\" 204 - \"http://143.110.241.90:5173/\" \"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-26T05:27:31.285Z"}
{"executionTimeMs":769,"level":"http","message":"Request completed","method":"DELETE","path":"/api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6","statusCode":204,"timestamp":"2026-08-26T05:27:31.286Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:31 +0000] \"GET /api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6 HTTP/1.1\" 200 3734 \"http://143.110.241.90:5173/\" \"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-26T05:27:31.370Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/916d0c3f-e5b8-49cc-95f9-cb61f3fe68a6","statusCode":200,"timestamp":"2026-08-26T05:27:31.370Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:31 +0000] \"GET /api/campaigns HTTP/1.1\" 200 40436 \"http://143.110.241.90:5173/\" \"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-26T05:27:31.399Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:27:31.400Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:32 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:32.269Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":304,"timestamp":"2026-08-26T05:27:32.270Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:38 +0000] \"POST /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/sync-status HTTP/1.1\" 200 7949 \"http://143.110.241.90:5173/\" \"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-26T05:27:38.477Z"}
{"executionTimeMs":740,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/sync-status","statusCode":200,"timestamp":"2026-08-26T05:27:38.478Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:38 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 200 7949 \"http://143.110.241.90:5173/\" \"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-26T05:27:38.542Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":200,"timestamp":"2026-08-26T05:27:38.542Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:42 +0000] \"GET /api/campaigns HTTP/1.1\" 200 40435 \"http://143.110.241.90:5173/\" \"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-26T05:27:42.373Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:27:42.374Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:44 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:44.773Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d","statusCode":304,"timestamp":"2026-08-26T05:27:44.773Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:49 +0000] \"POST /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/sync-status HTTP/1.1\" 200 3406 \"http://143.110.241.90:5173/\" \"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-26T05:27:49.516Z"}
{"executionTimeMs":672,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/sync-status","statusCode":200,"timestamp":"2026-08-26T05:27:49.517Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:49 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d HTTP/1.1\" 200 3406 \"http://143.110.241.90:5173/\" \"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-26T05:27:49.547Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d","statusCode":200,"timestamp":"2026-08-26T05:27:49.547Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:51 +0000] \"GET /api/campaigns HTTP/1.1\" 200 40434 \"http://143.110.241.90:5173/\" \"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-26T05:27:51.425Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:27:51.425Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:52 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:52.241Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b","statusCode":304,"timestamp":"2026-08-26T05:27:52.242Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:55 +0000] \"POST /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/sync-status HTTP/1.1\" 200 8842 \"http://143.110.241.90:5173/\" \"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-26T05:27:55.078Z"}
{"executionTimeMs":642,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b/sync-status","statusCode":200,"timestamp":"2026-08-26T05:27:55.078Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:55 +0000] \"GET /api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b HTTP/1.1\" 200 8842 \"http://143.110.241.90:5173/\" \"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-26T05:27:55.112Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/7a59151a-71c9-485b-841c-af19e715af0b","statusCode":200,"timestamp":"2026-08-26T05:27:55.113Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:56 +0000] \"GET /api/campaigns HTTP/1.1\" 200 40433 \"http://143.110.241.90:5173/\" \"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-26T05:27:56.201Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:27:56.202Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:57 +0000] \"GET /api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae HTTP/1.1\" 200 6211 \"http://143.110.241.90:5173/\" \"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-26T05:27:57.173Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/879da62b-b4b6-4741-a6bb-bad3e7d99aae","statusCode":200,"timestamp":"2026-08-26T05:27:57.174Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:58 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:58.379Z"}
{"executionTimeMs":1161,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:27:58.380Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:58 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:58.514Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:27:58.515Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:27:58 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:27:58.537Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T05:27:58.537Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:08 +0000] \"POST /api/campaigns/bulk/sync-status HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"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-26T05:28:08.079Z"}
{"executionTimeMs":3031,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/sync-status","statusCode":200,"timestamp":"2026-08-26T05:28:08.079Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:08 +0000] \"GET /api/campaigns HTTP/1.1\" 200 40420 \"http://143.110.241.90:5173/\" \"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-26T05:28:08.145Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:28:08.146Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:10 +0000] \"GET /api/campaigns/f5d875b7-4953-4771-a0f8-7e60ff22b71d HTTP/1.1\" 200 5233 \"http://143.110.241.90:5173/\" \"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-26T05:28:10.500Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/f5d875b7-4953-4771-a0f8-7e60ff22b71d","statusCode":200,"timestamp":"2026-08-26T05:28:10.500Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:11 +0000] \"GET /api/applications/e833d610-a6fd-4c0a-8964-95b9281e9812/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T05:28:11.261Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/e833d610-a6fd-4c0a-8964-95b9281e9812/image-assets","statusCode":200,"timestamp":"2026-08-26T05:28:11.261Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:11 +0000] \"GET /api/applications/e833d610-a6fd-4c0a-8964-95b9281e9812/video-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T05:28:11.284Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/e833d610-a6fd-4c0a-8964-95b9281e9812/video-assets","statusCode":200,"timestamp":"2026-08-26T05:28:11.285Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:36 +0000] \"GET /api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b HTTP/1.1\" 200 4969 \"http://143.110.241.90:5173/\" \"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-26T05:28:36.972Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/2e6b1204-3148-43ba-9b9d-85512da3292b","statusCode":200,"timestamp":"2026-08-26T05:28:36.972Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:38 +0000] \"GET /api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T05:28:38.069Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/image-assets","statusCode":200,"timestamp":"2026-08-26T05:28:38.070Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:38 +0000] \"GET /api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/video-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T05:28:38.076Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/c7c15487-a0fa-4b63-8f68-41f86a2153fd/video-assets","statusCode":200,"timestamp":"2026-08-26T05:28:38.076Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:38 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:28:38.138Z"}
{"executionTimeMs":1107,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:28:38.138Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:40 +0000] \"POST /api/campaigns/bulk/metrics/sync HTTP/1.1\" 200 3705 \"http://143.110.241.90:5173/\" \"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-26T05:28:40.913Z"}
{"executionTimeMs":35879,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/metrics/sync","statusCode":200,"timestamp":"2026-08-26T05:28:40.914Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:28:44 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T05:28:44.904Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:28:44.904Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:07 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 200 7949 \"http://143.110.241.90:5173/\" \"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-26T05:29:07.777Z"}
{"executionTimeMs":53,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":200,"timestamp":"2026-08-26T05:29:07.778Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:08 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:08.431Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:29:08.432Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:08 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:08.460Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T05:29:08.460Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:11 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T05:29:11.552Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:29:11.553Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:12 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:12.099Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T05:29:12.099Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:12 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:12.106Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T05:29:12.106Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:13 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:13.246Z"}
{"executionTimeMs":1167,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:29:13.247Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-26T05:29:17.652Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-26T05:29:23.183Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:27 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T05:29:27.019Z"}
{"executionTimeMs":58,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-26T05:29:27.020Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:27 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-26T05:29:27.034Z"}
{"executionTimeMs":66,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-26T05:29:27.035Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:28 +0000] \"GET /api/accounts HTTP/1.1\" 200 2073 \"http://143.110.241.90:5173/\" \"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-26T05:29:28.285Z"}
{"executionTimeMs":1374,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-26T05:29:28.286Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:29 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:29.459Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T05:29:29.459Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:29 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:29.464Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-26T05:29:29.464Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:29 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:29.467Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T05:29:29.467Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:29 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:29.479Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T05:29:29.479Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:30 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:30.256Z"}
{"executionTimeMs":728,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-26T05:29:30.257Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:30 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:30.440Z"}
{"executionTimeMs":909,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-26T05:29:30.441Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:48 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:48.223Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T05:29:48.223Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:48 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:29:48.233Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-26T05:29:48.233Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:29:48 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en HTTP/1.1\" 200 1244 \"http://143.110.241.90:5173/\" \"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-26T05:29:48.254Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en","statusCode":200,"timestamp":"2026-08-26T05:29:48.254Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:32:57 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:32:57.265Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T05:32:57.265Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:32:57 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:32:57.274Z"}
{"executionTimeMs":39,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T05:32:57.274Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:32:58 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:32:58.546Z"}
{"executionTimeMs":1321,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:32:58.546Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:03 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T05:33:03.419Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-26T05:33:03.420Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:03 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-26T05:33:03.442Z"}
{"executionTimeMs":33,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-26T05:33:03.442Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:04 +0000] \"GET /api/accounts HTTP/1.1\" - - \"http://143.110.241.90:5173/\" \"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-26T05:33:04.027Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:04 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-26T05:33:04.216Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-26T05:33:04.216Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:04 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T05:33:04.223Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-26T05:33:04.223Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:04 +0000] \"GET /api/accounts HTTP/1.1\" - - \"http://143.110.241.90:5173/\" \"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-26T05:33:04.618Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:04 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-26T05:33:04.784Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-26T05:33:04.784Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:04 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T05:33:04.792Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-26T05:33:04.792Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:05 +0000] \"GET /api/accounts HTTP/1.1\" 200 2073 \"http://143.110.241.90:5173/\" \"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-26T05:33:05.997Z"}
{"executionTimeMs":1233,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-26T05:33:05.997Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:06 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:06.701Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-26T05:33:06.702Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:06 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:06.705Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T05:33:06.706Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:06 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:06.708Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T05:33:06.709Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:06 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:06.725Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T05:33:06.725Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:07 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:07.565Z"}
{"executionTimeMs":785,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-26T05:33:07.566Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:07 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"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-26T05:33:07.688Z"}
{"executionTimeMs":904,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-26T05:33:07.688Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:18 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:18.997Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T05:33:18.998Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:19 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:19.006Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-26T05:33:19.007Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:19 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:19.022Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en","statusCode":304,"timestamp":"2026-08-26T05:33:19.022Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:34 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2077 \"http://143.110.241.90:5173/\" \"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-26T05:33:34.029Z"}
{"executionTimeMs":9763,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T05:33:34.030Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:36 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 2539 \"http://143.110.241.90:5173/\" \"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-26T05:33:36.657Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-26T05:33:36.657Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:38 +0000] \"POST /api/campaigns HTTP/1.1\" 201 900 \"http://143.110.241.90:5173/\" \"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-26T05:33:38.982Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-26T05:33:38.983Z"}
{"adGroupId":"25ce862d-de5f-4639-b52c-19b761e41b73","error":"6 image/video asset(s) on this ad group belong to a different Google Ads account and can't be attached here — remove and re-add them under this app's linked account (customers/8691240190/assets/412544615435, customers/8691240190/assets/412720896459, customers/8691240190/assets/412544638595, customers/8691240190/assets/412720904052, customers/8691240190/assets/412651277077, customers/8691240190/assets/412651241050).","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-26T05:33:44.345Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:46 +0000] \"POST /api/campaigns/ecc28128-47e5-458b-9907-26e95be2f0c2/create HTTP/1.1\" 200 1102 \"http://143.110.241.90:5173/\" \"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-26T05:33:46.192Z"}
{"executionTimeMs":7164,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/ecc28128-47e5-458b-9907-26e95be2f0c2/create","statusCode":200,"timestamp":"2026-08-26T05:33:46.192Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:46 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42189 \"http://143.110.241.90:5173/\" \"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-26T05:33:46.311Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:33:46.311Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:47 +0000] \"GET /api/campaigns/ecc28128-47e5-458b-9907-26e95be2f0c2 HTTP/1.1\" 200 3734 \"http://143.110.241.90:5173/\" \"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-26T05:33:47.483Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ecc28128-47e5-458b-9907-26e95be2f0c2","statusCode":200,"timestamp":"2026-08-26T05:33:47.483Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:48 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:48.140Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:33:48.140Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:48 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T05:33:48.142Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T05:33:48.143Z"}
{"level":"http","message":"::ffff:103.254.172.165 - - [26/Aug/2026:05:33:48 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:33:48.668Z"}
{"executionTimeMs":1141,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:33:48.669Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:05:51:53 +0000] \"DELETE /api/campaigns/ecc28128-47e5-458b-9907-26e95be2f0c2 HTTP/1.1\" 204 - \"http://143.110.241.90:5173/\" \"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-26T05:51:53.494Z"}
{"executionTimeMs":982,"level":"http","message":"Request completed","method":"DELETE","path":"/api/campaigns/ecc28128-47e5-458b-9907-26e95be2f0c2","statusCode":204,"timestamp":"2026-08-26T05:51:53.494Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:05:51:53 +0000] \"GET /api/campaigns/ecc28128-47e5-458b-9907-26e95be2f0c2 HTTP/1.1\" 200 3734 \"http://143.110.241.90:5173/\" \"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-26T05:51:53.590Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ecc28128-47e5-458b-9907-26e95be2f0c2","statusCode":200,"timestamp":"2026-08-26T05:51:53.590Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:05:51:53 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T05:51:53.658Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T05:51:53.660Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:05:51:56 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:51:56.375Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":304,"timestamp":"2026-08-26T05:51:56.376Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:05:51:57 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:51:57.198Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T05:51:57.198Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:05:51:57 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:51:57.237Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T05:51:57.238Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:05:51:57 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T05:51:57.736Z"}
{"executionTimeMs":1276,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T05:51:57.737Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-26T05:59:47.614Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-26T05:59:51.895Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:06 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T06:00:06.356Z"}
{"executionTimeMs":171,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T06:00:06.357Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:08 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:08.725Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T06:00:08.726Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:08 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:08.749Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T06:00:08.754Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:10 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:10.431Z"}
{"executionTimeMs":1759,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T06:00:10.432Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:10 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:10.769Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T06:00:10.771Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:10 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:10.776Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T06:00:10.777Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:10 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:10.780Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-26T06:00:10.780Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:10 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:10.805Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T06:00:10.805Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:11 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:11.851Z"}
{"executionTimeMs":955,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-26T06:00:11.853Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:12 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"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-26T06:00:12.080Z"}
{"executionTimeMs":1178,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-26T06:00:12.081Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:21 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:21.057Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T06:00:21.058Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:21 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en HTTP/1.1\" 200 1230 \"http://143.110.241.90:5173/\" \"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-26T06:00:21.096Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=2&languageCode=en","statusCode":200,"timestamp":"2026-08-26T06:00:21.097Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:21 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:21.113Z"}
{"executionTimeMs":52,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-26T06:00:21.114Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:38 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2077 \"http://143.110.241.90:5173/\" \"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-26T06:00:38.479Z"}
{"executionTimeMs":10415,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T06:00:38.480Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:41 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 2539 \"http://143.110.241.90:5173/\" \"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-26T06:00:41.142Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-26T06:00:41.142Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:42 +0000] \"POST /api/campaigns HTTP/1.1\" 201 900 \"http://143.110.241.90:5173/\" \"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-26T06:00:42.771Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-26T06:00:42.771Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:52 +0000] \"POST /api/campaigns/4f398f6d-1b63-41d0-95b2-3cf922734136/create HTTP/1.1\" 200 739 \"http://143.110.241.90:5173/\" \"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-26T06:00:52.300Z"}
{"executionTimeMs":9452,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/4f398f6d-1b63-41d0-95b2-3cf922734136/create","statusCode":200,"timestamp":"2026-08-26T06:00:52.301Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:52 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42189 \"http://143.110.241.90:5173/\" \"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-26T06:00:52.457Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T06:00:52.457Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:53 +0000] \"GET /api/campaigns/4f398f6d-1b63-41d0-95b2-3cf922734136 HTTP/1.1\" 200 3329 \"http://143.110.241.90:5173/\" \"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-26T06:00:53.783Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/4f398f6d-1b63-41d0-95b2-3cf922734136","statusCode":200,"timestamp":"2026-08-26T06:00:53.784Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:54 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:54.538Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T06:00:54.539Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:54 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T06:00:54.552Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T06:00:54.553Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:00:55 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:00:55.991Z"}
{"executionTimeMs":2102,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T06:00:55.991Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:01:10 +0000] \"DELETE /api/campaigns/4f398f6d-1b63-41d0-95b2-3cf922734136 HTTP/1.1\" 204 - \"http://143.110.241.90:5173/\" \"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-26T06:01:10.643Z"}
{"executionTimeMs":696,"level":"http","message":"Request completed","method":"DELETE","path":"/api/campaigns/4f398f6d-1b63-41d0-95b2-3cf922734136","statusCode":204,"timestamp":"2026-08-26T06:01:10.643Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:01:10 +0000] \"GET /api/campaigns/4f398f6d-1b63-41d0-95b2-3cf922734136 HTTP/1.1\" 200 3329 \"http://143.110.241.90:5173/\" \"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-26T06:01:10.719Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/4f398f6d-1b63-41d0-95b2-3cf922734136","statusCode":200,"timestamp":"2026-08-26T06:01:10.719Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:01:10 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T06:01:10.826Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T06:01:10.827Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:01:15 +0000] \"POST /api/campaigns/bulk/sync-status HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"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-26T06:01:15.981Z"}
{"executionTimeMs":3244,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/sync-status","statusCode":200,"timestamp":"2026-08-26T06:01:15.982Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:01:16 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T06:01:16.069Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T06:01:16.070Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:01:45 +0000] \"POST /api/campaigns/bulk/metrics/sync HTTP/1.1\" 200 3705 \"http://143.110.241.90:5173/\" \"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-26T06:01:45.127Z"}
{"executionTimeMs":32403,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/metrics/sync","statusCode":200,"timestamp":"2026-08-26T06:01:45.127Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:01:45 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T06:01:45.204Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T06:01:45.204Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:18:26 +0000] \"POST /api/campaigns/bulk/sync-status HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"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-26T06:18:26.430Z"}
{"executionTimeMs":2823,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/sync-status","statusCode":200,"timestamp":"2026-08-26T06:18:26.430Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:18:26 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T06:18:26.537Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T06:18:26.538Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:18:51 +0000] \"POST /api/campaigns/bulk/metrics/sync HTTP/1.1\" 200 3705 \"http://143.110.241.90:5173/\" \"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-26T06:18:51.758Z"}
{"executionTimeMs":28058,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/metrics/sync","statusCode":200,"timestamp":"2026-08-26T06:18:51.758Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:18:51 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T06:18:51.844Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T06:18:51.844Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:01 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:01.396Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T06:19:01.396Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:01 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:01.397Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T06:19:01.397Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:02 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:02.516Z"}
{"executionTimeMs":1138,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T06:19:02.516Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:03 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:03.262Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T06:19:03.264Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:03 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:03.270Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-26T06:19:03.270Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:03 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:03.275Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T06:19:03.275Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:03 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:03.312Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T06:19:03.314Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:04 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:04.164Z"}
{"executionTimeMs":769,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-26T06:19:04.164Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:04 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:04.206Z"}
{"executionTimeMs":813,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-26T06:19:04.206Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:14 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:14.426Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T06:19:14.427Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:14 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:14.435Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-26T06:19:14.435Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:14 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en HTTP/1.1\" 200 2769 \"http://143.110.241.90:5173/\" \"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-26T06:19:14.461Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=5&languageCode=en","statusCode":200,"timestamp":"2026-08-26T06:19:14.461Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:29 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2077 \"http://143.110.241.90:5173/\" \"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-26T06:19:29.387Z"}
{"executionTimeMs":9085,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T06:19:29.387Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:31 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 4399 \"http://143.110.241.90:5173/\" \"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-26T06:19:31.291Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-26T06:19:31.292Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:36 +0000] \"POST /api/campaigns HTTP/1.1\" 201 900 \"http://143.110.241.90:5173/\" \"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-26T06:19:36.997Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-26T06:19:36.997Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:49 +0000] \"POST /api/campaigns/dd4ab6aa-d8c2-4d6d-9e5c-94cbaa7432fb/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-26T06:19:49.594Z"}
{"executionTimeMs":12521,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/dd4ab6aa-d8c2-4d6d-9e5c-94cbaa7432fb/create","statusCode":200,"timestamp":"2026-08-26T06:19:49.595Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:49 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42189 \"http://143.110.241.90:5173/\" \"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-26T06:19:49.750Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T06:19:49.751Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:52 +0000] \"GET /api/campaigns/dd4ab6aa-d8c2-4d6d-9e5c-94cbaa7432fb HTTP/1.1\" 200 5726 \"http://143.110.241.90:5173/\" \"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-26T06:19:52.012Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/dd4ab6aa-d8c2-4d6d-9e5c-94cbaa7432fb","statusCode":200,"timestamp":"2026-08-26T06:19:52.013Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:52 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T06:19:52.902Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T06:19:52.903Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:52 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:52.922Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T06:19:52.922Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:19:53 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T06:19:53.213Z"}
{"executionTimeMs":1124,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T06:19:53.213Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:20:01 +0000] \"DELETE /api/campaigns/dd4ab6aa-d8c2-4d6d-9e5c-94cbaa7432fb HTTP/1.1\" 204 - \"http://143.110.241.90:5173/\" \"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-26T06:20:01.270Z"}
{"executionTimeMs":668,"level":"http","message":"Request completed","method":"DELETE","path":"/api/campaigns/dd4ab6aa-d8c2-4d6d-9e5c-94cbaa7432fb","statusCode":204,"timestamp":"2026-08-26T06:20:01.271Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:20:01 +0000] \"GET /api/campaigns/dd4ab6aa-d8c2-4d6d-9e5c-94cbaa7432fb HTTP/1.1\" 200 5726 \"http://143.110.241.90:5173/\" \"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-26T06:20:01.356Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/dd4ab6aa-d8c2-4d6d-9e5c-94cbaa7432fb","statusCode":200,"timestamp":"2026-08-26T06:20:01.357Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:06:20:01 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T06:20:01.452Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T06:20:01.453Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-26T12:22:54.150Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:54 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-26T12:22:54.152Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":401,"timestamp":"2026-08-26T12:22:54.153Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-26T12:22:54.156Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:54 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-26T12:22:54.157Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":401,"timestamp":"2026-08-26T12:22:54.158Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:54 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"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-26T12:22:54.183Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-26T12:22:54.188Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:54 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"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-26T12:22:54.197Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-26T12:22:54.197Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:54 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"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-26T12:22:54.208Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-26T12:22:54.210Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-26T12:22:54.216Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:54 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-26T12:22:54.219Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":401,"timestamp":"2026-08-26T12:22:54.221Z"}
{"level":"error","message":"Request failed Missing or malformed Authorization header","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445","stack":"ApiError: Missing or malformed Authorization header\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:15:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-26T12:22:54.311Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:54 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445 HTTP/1.1\" 401 81 \"http://143.110.241.90:5173/\" \"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-26T12:22:54.313Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445","statusCode":401,"timestamp":"2026-08-26T12:22:54.313Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:54 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"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-26T12:22:54.321Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-26T12:22:54.322Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:57 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-26T12:22:57.732Z"}
{"executionTimeMs":516,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-26T12:22:57.732Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:57 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T12:22:57.887Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-26T12:22:57.887Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:57 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-26T12:22:57.895Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-26T12:22:57.896Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:22:59 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:22:59.469Z"}
{"executionTimeMs":1595,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T12:22:59.469Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:00 +0000] \"GET /api/campaigns HTTP/1.1\" 200 41193 \"http://143.110.241.90:5173/\" \"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-26T12:23:00.527Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T12:23:00.528Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:04 +0000] \"GET /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad HTTP/1.1\" 200 7949 \"http://143.110.241.90:5173/\" \"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-26T12:23:04.273Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad","statusCode":200,"timestamp":"2026-08-26T12:23:04.273Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:05 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T12:23:05.309Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":200,"timestamp":"2026-08-26T12:23:05.310Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:05 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T12:23:05.329Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T12:23:05.330Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:13 +0000] \"POST /api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/duplicate HTTP/1.1\" 201 969 \"http://143.110.241.90:5173/\" \"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-26T12:23:13.172Z"}
{"executionTimeMs":62,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/c207a580-c78b-4071-a860-ac014e5bcfad/duplicate","statusCode":201,"timestamp":"2026-08-26T12:23:13.173Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:13 +0000] \"GET /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c HTTP/1.1\" 200 6422 \"http://143.110.241.90:5173/\" \"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-26T12:23:13.299Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c","statusCode":200,"timestamp":"2026-08-26T12:23:13.299Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:22 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42224 \"http://143.110.241.90:5173/\" \"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-26T12:23:22.662Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T12:23:22.662Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:33 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:23:33.171Z"}
{"executionTimeMs":1444,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T12:23:33.172Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:48 +0000] \"POST /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c/create HTTP/1.1\" 200 1477 \"http://143.110.241.90:5173/\" \"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-26T12:23:48.352Z"}
{"executionTimeMs":14098,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c/create","statusCode":200,"timestamp":"2026-08-26T12:23:48.352Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:23:48 +0000] \"GET /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c HTTP/1.1\" 200 6939 \"http://143.110.241.90:5173/\" \"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-26T12:23:48.447Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c","statusCode":200,"timestamp":"2026-08-26T12:23:48.448Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:24:11 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:24:11.503Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T12:24:11.503Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:24:11 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:24:11.517Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T12:24:11.517Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:25:55 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:25:55.667Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T12:25:55.668Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:25:55 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:25:55.673Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T12:25:55.673Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:25:55 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:25:55.676Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T12:25:55.676Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:25:55 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:25:55.733Z"}
{"executionTimeMs":64,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-26T12:25:55.734Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:25:55 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:25:55.745Z"}
{"executionTimeMs":42,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T12:25:55.745Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:25:55 +0000] \"GET /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:25:55.765Z"}
{"executionTimeMs":102,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c","statusCode":304,"timestamp":"2026-08-26T12:25:55.765Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:25:55 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:25:55.819Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T12:25:55.819Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:25:56 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445 HTTP/1.1\" 200 1894 \"http://143.110.241.90:5173/\" \"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-26T12:25:56.644Z"}
{"executionTimeMs":830,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&googleAdsCustomerId=6891608445","statusCode":200,"timestamp":"2026-08-26T12:25:56.645Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:26:38 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 4443 \"http://143.110.241.90:5173/\" \"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-26T12:26:38.355Z"}
{"executionTimeMs":18576,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T12:26:38.355Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:26:38 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T12:26:38.434Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T12:26:38.435Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:27:28 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2077 \"http://143.110.241.90:5173/\" \"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-26T12:27:28.557Z"}
{"executionTimeMs":8430,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T12:27:28.557Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:27:28 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T12:27:28.633Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T12:27:28.634Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:27:46 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2415 \"http://143.110.241.90:5173/\" \"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-26T12:27:46.481Z"}
{"executionTimeMs":9599,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T12:27:46.482Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:27:46 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T12:27:46.566Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T12:27:46.567Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:28:13 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 2415 \"http://143.110.241.90:5173/\" \"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-26T12:28:13.149Z"}
{"executionTimeMs":8914,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-26T12:28:13.150Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:28:13 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T12:28:13.222Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T12:28:13.222Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:28:22 +0000] \"PATCH /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c/live-settings HTTP/1.1\" 200 6939 \"http://143.110.241.90:5173/\" \"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-26T12:28:22.303Z"}
{"executionTimeMs":1564,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c/live-settings","statusCode":200,"timestamp":"2026-08-26T12:28:22.304Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:28:22 +0000] \"GET /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c HTTP/1.1\" 200 6939 \"http://143.110.241.90:5173/\" \"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-26T12:28:22.392Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c","statusCode":200,"timestamp":"2026-08-26T12:28:22.392Z"}
{"level":"error","message":"Request failed {\"errors\":[{\"error_code\":{\"ad_group_ad_error\":\"AD_TYPE_CANNOT_BE_REMOVED\"},\"message\":\"Cannot remove an adgroup ad with this ad type.\",\"trigger\":{\"int64_value\":\"3\"},\"location\":{\"field_path_elements\":[{\"field_name\":\"operations\",\"index\":0},{\"field_name\":\"remove\"}]}}],\"request_id\":\"5LACoMLUs_c7IjEwRDonEg\"}","method":"PATCH","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c/ad-groups/7d7f549f-e2b6-40ef-acec-4a271224ed20/copy","statusCode":500,"timestamp":"2026-08-26T12:28:23.964Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:28:23 +0000] \"PATCH /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c/ad-groups/7d7f549f-e2b6-40ef-acec-4a271224ed20/copy HTTP/1.1\" 500 61 \"http://143.110.241.90:5173/\" \"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-26T12:28:23.966Z"}
{"executionTimeMs":1472,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c/ad-groups/7d7f549f-e2b6-40ef-acec-4a271224ed20/copy","statusCode":500,"timestamp":"2026-08-26T12:28:23.967Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-26T12:32:10.808Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:10 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-26T12:32:10.810Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-08-26T12:32:10.810Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-26T12:32:10.815Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:10 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-26T12:32:10.817Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-08-26T12:32:10.818Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-26T12:32:10.825Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:10 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-26T12:32:10.827Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-08-26T12:32:10.828Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:15 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-26T12:32:15.286Z"}
{"executionTimeMs":397,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-26T12:32:15.286Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:15 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:32:15.388Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T12:32:15.389Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:15 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:32:15.403Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T12:32:15.404Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:16 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:32:16.746Z"}
{"executionTimeMs":1359,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T12:32:16.748Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:17 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42266 \"http://143.110.241.90:5173/\" \"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-26T12:32:17.489Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T12:32:17.490Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:22 +0000] \"POST /api/campaigns/bulk/sync-status HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"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-26T12:32:22.312Z"}
{"executionTimeMs":3077,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/sync-status","statusCode":200,"timestamp":"2026-08-26T12:32:22.312Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:22 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42266 \"http://143.110.241.90:5173/\" \"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-26T12:32:22.364Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T12:32:22.364Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:55 +0000] \"POST /api/campaigns/bulk/metrics/sync HTTP/1.1\" 200 3824 \"http://143.110.241.90:5173/\" \"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-26T12:32:55.434Z"}
{"executionTimeMs":36226,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/metrics/sync","statusCode":200,"timestamp":"2026-08-26T12:32:55.434Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:32:55 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42413 \"http://143.110.241.90:5173/\" \"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-26T12:32:55.531Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T12:32:55.532Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:33:21 +0000] \"GET /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c HTTP/1.1\" 200 6939 \"http://143.110.241.90:5173/\" \"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-26T12:33:21.187Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c","statusCode":200,"timestamp":"2026-08-26T12:33:21.187Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:33:22 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T12:33:22.189Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T12:33:22.190Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:33:22 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:33:22.191Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T12:33:22.191Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:33:22 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:33:22.418Z"}
{"executionTimeMs":1155,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T12:33:22.418Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:33:38 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:33:38.440Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T12:33:38.440Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:33:38 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T12:33:38.445Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T12:33:38.446Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-26T12:34:49.376Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:12:34:49 +0000] \"GET /api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327 HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-26T12:34:49.377Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/66210ddd-ebba-4b26-9a7e-ea138a827327","statusCode":401,"timestamp":"2026-08-26T12:34:49.378Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-26T13:49:53.237Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-26T13:49:57.535Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:00 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T13:50:00.950Z"}
{"executionTimeMs":49,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-26T13:50:00.951Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:00 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-26T13:50:00.964Z"}
{"executionTimeMs":56,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-26T13:50:00.965Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:02 +0000] \"GET /api/accounts HTTP/1.1\" 200 2073 \"http://143.110.241.90:5173/\" \"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-26T13:50:02.491Z"}
{"executionTimeMs":1646,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-26T13:50:02.491Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:22 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"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-26T13:50:22.590Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-26T13:50:22.591Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:22 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:50:22.595Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T13:50:22.595Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:22 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:50:22.598Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T13:50:22.599Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:22 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:50:22.603Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T13:50:22.604Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:23 +0000] \"GET /api/campaigns/conversion-actions?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5 HTTP/1.1\" 200 1666 \"http://143.110.241.90:5173/\" \"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-26T13:50:23.824Z"}
{"executionTimeMs":1129,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5","statusCode":200,"timestamp":"2026-08-26T13:50:23.827Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:32 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5 HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"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-26T13:50:32.553Z"}
{"executionTimeMs":9862,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5","statusCode":200,"timestamp":"2026-08-26T13:50:32.553Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:33 +0000] \"PATCH /api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/google-ads-customer HTTP/1.1\" 200 764 \"http://143.110.241.90:5173/\" \"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-26T13:50:33.571Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/google-ads-customer","statusCode":200,"timestamp":"2026-08-26T13:50:33.572Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:34 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5 HTTP/1.1\" 200 68 \"http://143.110.241.90:5173/\" \"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-26T13:50:34.810Z"}
{"executionTimeMs":1119,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5","statusCode":200,"timestamp":"2026-08-26T13:50:34.811Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:35 +0000] \"GET /api/campaigns/conversion-actions?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5 HTTP/1.1\" 200 3721 \"http://143.110.241.90:5173/\" \"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-26T13:50:35.160Z"}
{"executionTimeMs":1494,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5","statusCode":200,"timestamp":"2026-08-26T13:50:35.160Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:43 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:50:43.188Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T13:50:43.188Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:43 +0000] \"GET /api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generated-assets?languageCode=en HTTP/1.1\" 200 17285 \"http://143.110.241.90:5173/\" \"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-26T13:50:43.224Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-26T13:50:43.224Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:50:43 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&adGroupCount=1&languageCode=en HTTP/1.1\" 200 593 \"http://143.110.241.90:5173/\" \"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-26T13:50:43.245Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-26T13:50:43.245Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:51:12 +0000] \"POST /api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets HTTP/1.1\" 201 1063 \"http://143.110.241.90:5173/\" \"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-26T13:51:12.811Z"}
{"executionTimeMs":6334,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets","statusCode":201,"timestamp":"2026-08-26T13:51:12.812Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:51:15 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1645 \"http://143.110.241.90:5173/\" \"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-26T13:51:15.131Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-26T13:51:15.131Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:51:22 +0000] \"POST /api/campaigns HTTP/1.1\" 201 900 \"http://143.110.241.90:5173/\" \"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-26T13:51:22.764Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-26T13:51:22.764Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:51:30 +0000] \"POST /api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"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-26T13:51:30.050Z"}
{"executionTimeMs":7200,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029/create","statusCode":200,"timestamp":"2026-08-26T13:51:30.051Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:51:30 +0000] \"GET /api/campaigns HTTP/1.1\" 200 43410 \"http://143.110.241.90:5173/\" \"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-26T13:51:30.233Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T13:51:30.234Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:52:00 +0000] \"GET /api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029 HTTP/1.1\" 200 2252 \"http://143.110.241.90:5173/\" \"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-26T13:52:00.435Z"}
{"executionTimeMs":50,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029","statusCode":200,"timestamp":"2026-08-26T13:52:00.436Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:52:01 +0000] \"GET /api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T13:52:01.259Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/image-assets","statusCode":200,"timestamp":"2026-08-26T13:52:01.259Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:52:01 +0000] \"GET /api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets HTTP/1.1\" 200 1039 \"http://143.110.241.90:5173/\" \"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-26T13:52:01.273Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets","statusCode":200,"timestamp":"2026-08-26T13:52:01.274Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:52:01 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:52:01.850Z"}
{"executionTimeMs":1330,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T13:52:01.854Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:53:58 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:53:58.550Z"}
{"executionTimeMs":56,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-26T13:53:58.551Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:53:59 +0000] \"GET /api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:53:59.381Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029","statusCode":304,"timestamp":"2026-08-26T13:53:59.382Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:00 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:54:00.721Z"}
{"executionTimeMs":1389,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T13:54:00.722Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:05 +0000] \"GET /api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:54:05.606Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets","statusCode":304,"timestamp":"2026-08-26T13:54:05.606Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:05 +0000] \"GET /api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:54:05.612Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/image-assets","statusCode":304,"timestamp":"2026-08-26T13:54:05.613Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:06 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&googleAdsCustomerId=8691240190 HTTP/1.1\" 200 68 \"http://143.110.241.90:5173/\" \"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-26T13:54:06.638Z"}
{"executionTimeMs":1003,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&googleAdsCustomerId=8691240190","statusCode":200,"timestamp":"2026-08-26T13:54:06.639Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:06 +0000] \"GET /api/campaigns/conversion-actions?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&googleAdsCustomerId=8691240190 HTTP/1.1\" 200 3721 \"http://143.110.241.90:5173/\" \"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-26T13:54:06.946Z"}
{"executionTimeMs":1302,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=257645c4-ccef-4605-9ab2-cba41aa209b5&googleAdsCustomerId=8691240190","statusCode":200,"timestamp":"2026-08-26T13:54:06.948Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:27 +0000] \"POST /api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets HTTP/1.1\" 201 1063 \"http://143.110.241.90:5173/\" \"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-26T13:54:27.514Z"}
{"executionTimeMs":4687,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets","statusCode":201,"timestamp":"2026-08-26T13:54:27.515Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:27 +0000] \"GET /api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets HTTP/1.1\" 200 2053 \"http://143.110.241.90:5173/\" \"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-26T13:54:27.554Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/257645c4-ccef-4605-9ab2-cba41aa209b5/video-assets","statusCode":200,"timestamp":"2026-08-26T13:54:27.555Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:34 +0000] \"PATCH /api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029/live-settings HTTP/1.1\" 200 2252 \"http://143.110.241.90:5173/\" \"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-26T13:54:34.536Z"}
{"executionTimeMs":5026,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029/live-settings","statusCode":200,"timestamp":"2026-08-26T13:54:34.536Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:34 +0000] \"GET /api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029 HTTP/1.1\" 200 2252 \"http://143.110.241.90:5173/\" \"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-26T13:54:34.608Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029","statusCode":200,"timestamp":"2026-08-26T13:54:34.608Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:36 +0000] \"PATCH /api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029/ad-groups/2018bfa2-cadc-40a8-ac9a-1a626e17b5ca/copy HTTP/1.1\" 200 2381 \"http://143.110.241.90:5173/\" \"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-26T13:54:36.154Z"}
{"executionTimeMs":1455,"level":"http","message":"Request completed","method":"PATCH","path":"/api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029/ad-groups/2018bfa2-cadc-40a8-ac9a-1a626e17b5ca/copy","statusCode":200,"timestamp":"2026-08-26T13:54:36.154Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:36 +0000] \"GET /api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029 HTTP/1.1\" 200 2381 \"http://143.110.241.90:5173/\" \"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-26T13:54:36.250Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029","statusCode":200,"timestamp":"2026-08-26T13:54:36.251Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:54:37 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:54:37.485Z"}
{"executionTimeMs":1207,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T13:54:37.485Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:56:31 +0000] \"DELETE /api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029 HTTP/1.1\" 204 - \"http://143.110.241.90:5173/\" \"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-26T13:56:31.637Z"}
{"executionTimeMs":731,"level":"http","message":"Request completed","method":"DELETE","path":"/api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029","statusCode":204,"timestamp":"2026-08-26T13:56:31.637Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:56:31 +0000] \"GET /api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029 HTTP/1.1\" 200 2381 \"http://143.110.241.90:5173/\" \"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-26T13:56:31.707Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/e2d89e1c-ae17-404b-9030-d48d73991029","statusCode":200,"timestamp":"2026-08-26T13:56:31.708Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:56:31 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42413 \"http://143.110.241.90:5173/\" \"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-26T13:56:31.783Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T13:56:31.783Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:13:56:35 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T13:56:35.055Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-26T13:56:35.055Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:14:58:57 +0000] \"POST /api/campaigns/bulk/sync-status HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"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-26T14:58:57.588Z"}
{"executionTimeMs":3495,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/sync-status","statusCode":200,"timestamp":"2026-08-26T14:58:57.589Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:14:58:57 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42413 \"http://143.110.241.90:5173/\" \"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-26T14:58:57.680Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T14:58:57.681Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:14:59:27 +0000] \"POST /api/campaigns/bulk/metrics/sync HTTP/1.1\" 200 3824 \"http://143.110.241.90:5173/\" \"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-26T14:59:27.556Z"}
{"executionTimeMs":33446,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/metrics/sync","statusCode":200,"timestamp":"2026-08-26T14:59:27.556Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:14:59:27 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42413 \"http://143.110.241.90:5173/\" \"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-26T14:59:27.653Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-26T14:59:27.653Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:03 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-26T15:04:03.718Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-26T15:04:03.719Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:03 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T15:04:03.721Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-26T15:04:03.721Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:04 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:04.477Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T15:04:04.477Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:11 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:11.991Z"}
{"executionTimeMs":8315,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T15:04:11.992Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:13 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:13.270Z"}
{"executionTimeMs":1246,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T15:04:13.272Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:14 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d HTTP/1.1\" 200 3406 \"http://143.110.241.90:5173/\" \"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-26T15:04:14.808Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d","statusCode":200,"timestamp":"2026-08-26T15:04:14.809Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:15 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:15.227Z"}
{"executionTimeMs":1925,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T15:04:15.227Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:16 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:16.345Z"}
{"executionTimeMs":1087,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T15:04:16.345Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:28 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-26T15:04:28.314Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-26T15:04:28.314Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:28 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:28.317Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-26T15:04:28.317Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:28 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/metrics/assets HTTP/1.1\" 200 18333 \"http://143.110.241.90:5173/\" \"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-26T15:04:28.420Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/metrics/assets","statusCode":200,"timestamp":"2026-08-26T15:04:28.421Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:28 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/metrics HTTP/1.1\" 200 1314 \"http://143.110.241.90:5173/\" \"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-26T15:04:28.425Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/metrics","statusCode":200,"timestamp":"2026-08-26T15:04:28.425Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:28 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/copy-history HTTP/1.1\" 200 1736 \"http://143.110.241.90:5173/\" \"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-26T15:04:28.558Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/copy-history","statusCode":200,"timestamp":"2026-08-26T15:04:28.558Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:28 +0000] \"GET /api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/logs HTTP/1.1\" 200 7751 \"http://143.110.241.90:5173/\" \"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-26T15:04:28.690Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/769a485d-58e6-4d24-81e7-45cdc368ee5d/logs","statusCode":200,"timestamp":"2026-08-26T15:04:28.691Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:36 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:36.071Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T15:04:36.071Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:37 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:37.176Z"}
{"executionTimeMs":1136,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T15:04:37.176Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:49 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 738 \"http://143.110.241.90:5173/\" \"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-26T15:04:49.363Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-26T15:04:49.363Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:49 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 200 42201 \"http://143.110.241.90:5173/\" \"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-26T15:04:49.366Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-08-26T15:04:49.366Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:49 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:49.538Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T15:04:49.539Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:49 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/keywords HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T15:04:49.559Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/keywords","statusCode":200,"timestamp":"2026-08-26T15:04:49.560Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:49 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/competitors HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-26T15:04:49.562Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/competitors","statusCode":200,"timestamp":"2026-08-26T15:04:49.562Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:50 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:50.721Z"}
{"executionTimeMs":1193,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T15:04:50.722Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:57 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:57.846Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-26T15:04:57.846Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:57 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:57.848Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-26T15:04:57.848Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:04:59 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:04:59.129Z"}
{"executionTimeMs":1299,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T15:04:59.129Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:29 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:05:29.984Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-26T15:05:29.985Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:29 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:05:29.993Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-26T15:05:29.994Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:29 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:05:29.999Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-08-26T15:05:29.999Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:30 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:05:30.009Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-26T15:05:30.010Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:31 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"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-26T15:05:31.001Z"}
{"executionTimeMs":908,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-26T15:05:31.001Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:31 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 1894 \"http://143.110.241.90:5173/\" \"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-26T15:05:31.048Z"}
{"executionTimeMs":964,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-26T15:05:31.048Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:45 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:05:45.239Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-26T15:05:45.239Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:45 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:05:45.247Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":304,"timestamp":"2026-08-26T15:05:45.248Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:45 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en HTTP/1.1\" 200 546 \"http://143.110.241.90:5173/\" \"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-26T15:05:45.261Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-26T15:05:45.261Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [26/Aug/2026:15:05:56 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-26T15:05:56.472Z"}
{"executionTimeMs":1303,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-26T15:05:56.473Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-27T05:33:44.315Z"}
{"level":"http","message":"::ffff:84.239.14.183 - - [27/Aug/2026:05:33:44 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"-\"","timestamp":"2026-08-27T05:33:44.317Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-27T05:33:44.317Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-27T05:33:45.028Z"}
{"level":"http","message":"::ffff:45.84.102.23 - - [27/Aug/2026:05:33:45 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-08-27T05:33:45.029Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-27T05:33:45.030Z"}
{"level":"error","message":"Request failed Route not found: GET /favicon.ico","method":"GET","path":"/favicon.ico","stack":"ApiError: Route not found: GET /favicon.ico\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-27T05:33:45.428Z"}
{"level":"http","message":"::ffff:45.84.102.23 - - [27/Aug/2026:05:33:45 +0000] \"GET /favicon.ico HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\"","timestamp":"2026-08-27T05:33:45.429Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/favicon.ico","statusCode":404,"timestamp":"2026-08-27T05:33:45.429Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:09:46:48 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"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-27T09:46:48.411Z"}
{"executionTimeMs":52,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-27T09:46:48.412Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:09:46:48 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"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-27T09:46:48.434Z"}
{"executionTimeMs":79,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-27T09:46:48.435Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:09:46:50 +0000] \"GET /api/accounts HTTP/1.1\" 200 2073 \"http://143.110.241.90:5173/\" \"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-27T09:46:50.328Z"}
{"executionTimeMs":1982,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-27T09:46:50.329Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:09:47:09 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-27T09:47:09.912Z"}
{"executionTimeMs":1399,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-27T09:47:09.914Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:09:56:08 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-27T09:56:08.157Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-27T09:56:08.157Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:09:56:08 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-27T09:56:08.168Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-27T09:56:08.168Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:09:56:09 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-27T09:56:09.416Z"}
{"executionTimeMs":1326,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-27T09:56:09.417Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:09:56:10 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42413 \"http://143.110.241.90:5173/\" \"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-27T09:56:10.319Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-27T09:56:10.319Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:10:00:43 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-27T10:00:43.311Z"}
{"executionTimeMs":1207,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-27T10:00:43.311Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:10:04:25 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-27T10:04:25.138Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-27T10:04:25.138Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:10:04:25 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-27T10:04:25.162Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-27T10:04:25.163Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [27/Aug/2026:10:04:26 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-27T10:04:26.357Z"}
{"executionTimeMs":1252,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-27T10:04:26.358Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-27T22:28:22.323Z"}
{"level":"http","message":"::ffff:85.217.149.15 - - [27/Aug/2026:22:28:22 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-27T22:28:22.325Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-27T22:28:22.325Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-29T18:47:49.949Z"}
{"level":"http","message":"::ffff:85.217.149.16 - - [29/Aug/2026:18:47:49 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-29T18:47:49.953Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-29T18:47:49.953Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-29T19:02:44.459Z"}
{"level":"http","message":"::ffff:85.217.149.51 - - [29/Aug/2026:19:02:44 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-29T19:02:44.461Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-29T19:02:44.461Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-31T04:07:49.405Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:07:49 +0000] \"GET /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:07:49.407Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c","statusCode":401,"timestamp":"2026-08-31T04:07:49.407Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:07:49 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:07:49.410Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-08-31T04:07:49.410Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:07:49 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:07:49.418Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-08-31T04:07:49.418Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:07:49 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:07:49.426Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-08-31T04:07:49.427Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:07:53 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:07:53.689Z"}
{"executionTimeMs":422,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-31T04:07:53.689Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:07:53 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:07:53.852Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-31T04:07:53.852Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:07:53 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:07:53.854Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-31T04:07:53.854Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:07:55 +0000] \"GET /api/accounts HTTP/1.1\" 200 2448 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:07:55.359Z"}
{"executionTimeMs":1540,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-31T04:07:55.360Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:00 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:00.926Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-31T04:08:00.926Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:00 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:00.954Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-31T04:08:00.954Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:00 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:00.956Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-31T04:08:00.956Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:01 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:01.447Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-31T04:08:01.448Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:02 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:02.418Z"}
{"executionTimeMs":860,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-31T04:08:02.419Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:02 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 1894 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:02.483Z"}
{"executionTimeMs":927,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-31T04:08:02.484Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:32 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 17024 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:32.026Z"}
{"executionTimeMs":7184,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-31T04:08:32.026Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:45 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:45.787Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-08-31T04:08:45.788Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:45 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en HTTP/1.1\" 200 510 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:45.821Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-31T04:08:45.822Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:55 +0000] \"GET /api/campaigns HTTP/1.1\" 200 42413 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:55.793Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-31T04:08:55.794Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:08:58 +0000] \"GET /api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c HTTP/1.1\" 200 6939 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:08:58.727Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/fb606e08-0cf6-4689-84ea-444eec69868c","statusCode":200,"timestamp":"2026-08-31T04:08:58.727Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:09:00 +0000] \"GET /api/accounts HTTP/1.1\" 200 2448 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:09:00.056Z"}
{"executionTimeMs":1230,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-31T04:09:00.057Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:15:26 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 3767 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:15:26.263Z"}
{"executionTimeMs":16388,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-31T04:15:26.264Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:15:46 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16918 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:15:46.447Z"}
{"executionTimeMs":5806,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-31T04:15:46.447Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:15:54 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en HTTP/1.1\" 200 498 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:15:54.196Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-31T04:15:54.197Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:03 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 5019 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:03.292Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-31T04:16:03.292Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:36 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:36.377Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-08-31T04:16:36.378Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:36 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:36.379Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-08-31T04:16:36.379Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:37 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:37.545Z"}
{"executionTimeMs":1223,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-31T04:16:37.545Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:39 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:39.568Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-08-31T04:16:39.568Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:39 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:39.573Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-08-31T04:16:39.573Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:39 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:39.575Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-08-31T04:16:39.575Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:39 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:39.608Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-08-31T04:16:39.609Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:40 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 1894 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:40.595Z"}
{"executionTimeMs":859,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-31T04:16:40.596Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:40 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:40.774Z"}
{"executionTimeMs":1044,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-08-31T04:16:40.775Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:54 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16914 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:54.566Z"}
{"executionTimeMs":5550,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-31T04:16:54.567Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:56 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:56.020Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-08-31T04:16:56.021Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:16:56 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en HTTP/1.1\" 200 486 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:16:56.033Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-31T04:16:56.034Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:17:16 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16993 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:17:16.881Z"}
{"executionTimeMs":5924,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-31T04:17:16.881Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:17:30 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 3767 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:17:30.488Z"}
{"executionTimeMs":14152,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-31T04:17:30.489Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:17:32 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1919 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:17:32.470Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-31T04:17:32.471Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:01 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1919 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:01.598Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-31T04:18:01.599Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:03 +0000] \"POST /api/campaigns HTTP/1.1\" 201 977 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:03.029Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-31T04:18:03.030Z"}
{"adGroupId":"725bab58-d914-496a-ad53-50f89768ac44","error":"Assets are duplicated across operations. (3)","level":"error","message":"App Ad creation failed for ad group","timestamp":"2026-08-31T04:18:10.450Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:10 +0000] \"POST /api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2/create HTTP/1.1\" 200 480 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:10.457Z"}
{"executionTimeMs":7331,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2/create","statusCode":200,"timestamp":"2026-08-31T04:18:10.458Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:10 +0000] \"GET /api/campaigns HTTP/1.1\" 200 43482 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:10.628Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-31T04:18:10.629Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:14 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:14.370Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-31T04:18:14.370Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:14 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:14.401Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-31T04:18:14.401Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:15 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:15.558Z"}
{"executionTimeMs":1200,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-31T04:18:15.559Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:17 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:17.364Z"}
{"executionTimeMs":900,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":304,"timestamp":"2026-08-31T04:18:17.364Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:34 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16951 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:34.100Z"}
{"executionTimeMs":6014,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-08-31T04:18:34.101Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:18:45 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en HTTP/1.1\" 200 478 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:18:45.659Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=7739814b-6cb3-4564-a17a-258b995975cf&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-08-31T04:18:45.660Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:19:04 +0000] \"POST /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 201 3767 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:19:04.382Z"}
{"executionTimeMs":15126,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":201,"timestamp":"2026-08-31T04:19:04.383Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:19:55 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1421 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:19:55.982Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-08-31T04:19:55.983Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:20:16 +0000] \"POST /api/campaigns HTTP/1.1\" 201 977 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:20:16.955Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-08-31T04:20:16.955Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:20:22 +0000] \"POST /api/campaigns/985e1179-31bb-485e-b6fe-4376bdecfe7d/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:20:22.734Z"}
{"executionTimeMs":5689,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/985e1179-31bb-485e-b6fe-4376bdecfe7d/create","statusCode":200,"timestamp":"2026-08-31T04:20:22.735Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:20:22 +0000] \"GET /api/campaigns HTTP/1.1\" 200 44555 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:20:22.938Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-31T04:20:22.939Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:20:30 +0000] \"GET /api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2 HTTP/1.1\" 200 2625 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:20:30.757Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2","statusCode":200,"timestamp":"2026-08-31T04:20:30.758Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:20:31 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:20:31.950Z"}
{"executionTimeMs":1095,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-31T04:20:31.951Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:20:32 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:20:32.310Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":200,"timestamp":"2026-08-31T04:20:32.311Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:20:32 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:20:32.351Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-31T04:20:32.351Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:21 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:21:21.871Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-31T04:21:21.871Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:21 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:21:21.886Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-31T04:21:21.887Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-31T04:21:23.229Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:23 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-31T04:21:23.231Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-08-31T04:21:23.231Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-31T04:21:23.233Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:23 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-31T04:21:23.233Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-08-31T04:21:23.234Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-08-31T04:21:23.236Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:23 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"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-31T04:21:23.236Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-08-31T04:21:23.236Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:26 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"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-31T04:21:26.180Z"}
{"executionTimeMs":385,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-08-31T04:21:26.180Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:26 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T04:21:26.292Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-31T04:21:26.292Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:26 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T04:21:26.293Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-31T04:21:26.293Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:27 +0000] \"GET /api/accounts HTTP/1.1\" 200 2448 \"http://143.110.241.90:5173/\" \"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-31T04:21:27.372Z"}
{"executionTimeMs":1091,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-08-31T04:21:27.372Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:46 +0000] \"GET /api/campaigns HTTP/1.1\" 200 44555 \"http://143.110.241.90:5173/\" \"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-31T04:21:46.824Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-31T04:21:46.825Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:47 +0000] \"GET /api/campaigns/985e1179-31bb-485e-b6fe-4376bdecfe7d HTTP/1.1\" 200 2102 \"http://143.110.241.90:5173/\" \"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-31T04:21:47.499Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/985e1179-31bb-485e-b6fe-4376bdecfe7d","statusCode":200,"timestamp":"2026-08-31T04:21:47.500Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:48 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T04:21:48.269Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-31T04:21:48.270Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:48 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 200 11851 \"http://143.110.241.90:5173/\" \"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-31T04:21:48.305Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":200,"timestamp":"2026-08-31T04:21:48.306Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:21:51 +0000] \"GET /api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2 HTTP/1.1\" 200 2625 \"http://143.110.241.90:5173/\" \"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-31T04:21:51.444Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2","statusCode":200,"timestamp":"2026-08-31T04:21:51.444Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:22:35 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T04:22:35.435Z"}
{"executionTimeMs":1319,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-31T04:22:35.437Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:22:45 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T04:22:45.219Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-31T04:22:45.219Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:22:45 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T04:22:45.239Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-31T04:22:45.239Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:22:58 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:22:58.951Z"}
{"executionTimeMs":34,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-31T04:22:58.952Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:23:01 +0000] \"GET /api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:23:01.438Z"}
{"executionTimeMs":54,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2","statusCode":304,"timestamp":"2026-08-31T04:23:01.438Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:23:02 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:23:02.728Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-31T04:23:02.729Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:23:02 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:23:02.736Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-31T04:23:02.736Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:23:02 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:23:02.749Z"}
{"executionTimeMs":1220,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-31T04:23:02.751Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:04:23:46 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T04:23:46.042Z"}
{"executionTimeMs":49,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-31T04:23:46.043Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-08-31T04:30:03.706Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-08-31T04:30:14.190Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:05:33:59 +0000] \"GET /api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2 HTTP/1.1\" 200 2625 \"http://143.110.241.90:5173/\" \"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-31T05:33:59.036Z"}
{"executionTimeMs":87,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2","statusCode":200,"timestamp":"2026-08-31T05:33:59.037Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:05:34:00 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T05:34:00.721Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/image-assets","statusCode":304,"timestamp":"2026-08-31T05:34:00.722Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:05:34:00 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T05:34:00.736Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/video-assets","statusCode":304,"timestamp":"2026-08-31T05:34:00.736Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:05:34:00 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T05:34:00.778Z"}
{"executionTimeMs":1626,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-31T05:34:00.778Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:05:34:03 +0000] \"GET /api/campaigns HTTP/1.1\" 200 44555 \"http://143.110.241.90:5173/\" \"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-31T05:34:03.117Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-31T05:34:03.118Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:10:30:05 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T10:30:05.834Z"}
{"executionTimeMs":68,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-08-31T10:30:05.834Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:10:30:05 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T10:30:05.877Z"}
{"executionTimeMs":105,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-08-31T10:30:05.877Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:10:30:07 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T10:30:07.155Z"}
{"executionTimeMs":72,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-08-31T10:30:07.159Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:10:30:07 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"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-31T10:30:07.714Z"}
{"executionTimeMs":1977,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-08-31T10:30:07.720Z"}
{"level":"http","message":"::ffff:110.226.114.5 - - [31/Aug/2026:10:33:58 +0000] \"GET /api/campaigns HTTP/1.1\" 200 44555 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-08-31T10:33:58.120Z"}
{"executionTimeMs":65,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-08-31T10:33:58.120Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-31T15:16:19.399Z"}
{"level":"http","message":"::ffff:85.217.149.67 - - [31/Aug/2026:15:16:19 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-31T15:16:19.400Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-31T15:16:19.401Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-08-31T15:31:06.712Z"}
{"level":"http","message":"::ffff:85.217.149.55 - - [31/Aug/2026:15:31:06 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-08-31T15:31:06.714Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-08-31T15:31:06.714Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-01T13:39:00.504Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [01/Sep/2026:13:39:00 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-01T13:39:00.516Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-09-01T13:39:00.517Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-01T13:39:00.647Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [01/Sep/2026:13:39:00 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-01T13:39:00.649Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-01T13:39:00.650Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-02T05:19:57.801Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [02/Sep/2026:05:19:57 +0000] \"GET /api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2 HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-02T05:19:57.803Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/efbe6933-7318-4969-92cd-cf062ff0e8e2","statusCode":401,"timestamp":"2026-09-02T05:19:57.804Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [02/Sep/2026:05:20:00 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-02T05:20:00.961Z"}
{"executionTimeMs":632,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-02T05:20:00.961Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [02/Sep/2026:05:20:01 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-02T05:20:01.191Z"}
{"executionTimeMs":42,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-02T05:20:01.191Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [02/Sep/2026:05:20:01 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-02T05:20:01.206Z"}
{"executionTimeMs":61,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-02T05:20:01.207Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [02/Sep/2026:05:20:02 +0000] \"GET /api/campaigns HTTP/1.1\" 200 44555 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-02T05:20:02.738Z"}
{"executionTimeMs":116,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-02T05:20:02.738Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [02/Sep/2026:05:20:02 +0000] \"GET /api/accounts HTTP/1.1\" 200 2448 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-02T05:20:02.878Z"}
{"executionTimeMs":1776,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-02T05:20:02.878Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-02T12:19:47.955Z"}
{"level":"http","message":"::ffff:85.217.149.38 - - [02/Sep/2026:12:19:47 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-09-02T12:19:47.960Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-02T12:19:47.960Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-02T12:34:53.068Z"}
{"level":"http","message":"::ffff:85.217.149.6 - - [02/Sep/2026:12:34:53 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; ModatScanner/1.2; +https://modat.io/)\"","timestamp":"2026-09-02T12:34:53.070Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-02T12:34:53.070Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-03T10:21:38.824Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [03/Sep/2026:10:21:38 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-03T10:21:38.825Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-09-03T10:21:38.825Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-03T10:21:38.842Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [03/Sep/2026:10:21:38 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-03T10:21:38.844Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-09-03T10:21:38.844Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-03T10:21:38.858Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [03/Sep/2026:10:21:38 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-03T10:21:38.859Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-09-03T10:21:38.859Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-04T08:59:30.137Z"}
{"level":"http","message":"::ffff:85.217.149.33 - - [04/Sep/2026:08:59:30 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-04T08:59:30.140Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-04T08:59:30.140Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-06T05:36:27.109Z"}
{"level":"http","message":"::ffff:85.217.149.31 - - [06/Sep/2026:05:36:27 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-06T05:36:27.111Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-06T05:36:27.112Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-06T05:51:02.469Z"}
{"level":"http","message":"::ffff:85.217.149.62 - - [06/Sep/2026:05:51:02 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-06T05:51:02.471Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-06T05:51:02.471Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-07T09:12:06.700Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [07/Sep/2026:09:12:06 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-07T09:12:06.703Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-09-07T09:12:06.704Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-07T09:12:06.709Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [07/Sep/2026:09:12:06 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-07T09:12:06.711Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-09-07T09:12:06.711Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-07T09:12:06.723Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [07/Sep/2026:09:12:06 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-07T09:12:06.724Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-09-07T09:12:06.725Z"}
{"level":"error","message":"Request failed Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","stack":"ApiError: Route not found: GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-07T14:51:37.793Z"}
{"level":"http","message":"::ffff:192.161.49.2 - - [07/Sep/2026:14:51:37 +0000] \"GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1\" 404 104 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0\"","timestamp":"2026-09-07T14:51:37.794Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd","statusCode":404,"timestamp":"2026-09-07T14:51:37.795Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-08T02:58:58.057Z"}
{"level":"http","message":"::ffff:85.217.149.16 - - [08/Sep/2026:02:58:58 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-08T02:58:58.058Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-08T02:58:58.059Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-08T23:52:47.443Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [08/Sep/2026:23:52:47 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-08T23:52:47.445Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-09-08T23:52:47.445Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-08T23:52:47.603Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [08/Sep/2026:23:52:47 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-08T23:52:47.605Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-08T23:52:47.606Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:21:43 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:21:43.429Z"}
{"executionTimeMs":386,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-09T03:21:43.430Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:21:43 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:21:43.604Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-09T03:21:43.604Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:21:43 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:21:43.606Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-09T03:21:43.606Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:21:44 +0000] \"GET /api/campaigns HTTP/1.1\" 200 44555 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:21:44.897Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-09T03:21:44.897Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:21:45 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:21:45.411Z"}
{"executionTimeMs":1858,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-09T03:21:45.412Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:21:52 +0000] \"POST /api/campaigns/bulk/sync-status HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:21:52.113Z"}
{"executionTimeMs":3072,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/sync-status","statusCode":200,"timestamp":"2026-09-09T03:21:52.114Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:21:52 +0000] \"GET /api/campaigns HTTP/1.1\" 200 44555 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:21:52.225Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-09T03:21:52.225Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:22:25 +0000] \"POST /api/campaigns/bulk/metrics/sync HTTP/1.1\" 200 4060 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:22:25.299Z"}
{"executionTimeMs":36229,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/bulk/metrics/sync","statusCode":200,"timestamp":"2026-09-09T03:22:25.300Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:22:25 +0000] \"GET /api/campaigns HTTP/1.1\" 200 44581 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:22:25.405Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-09T03:22:25.405Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:22:57 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:22:57.451Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-09T03:22:57.451Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:22:58 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:22:58.528Z"}
{"executionTimeMs":1129,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-09T03:22:58.528Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:23:01 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 738 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:23:01.964Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-09-09T03:23:01.964Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:23:02 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 200 16951 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:23:02.016Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-09-09T03:23:02.017Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:23:02 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/competitors HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:23:02.066Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/competitors","statusCode":200,"timestamp":"2026-09-09T03:23:02.066Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:03:23:02 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/keywords HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T03:23:02.096Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/keywords","statusCode":200,"timestamp":"2026-09-09T03:23:02.096Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:49 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:49.351Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-09-09T04:31:49.352Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:51 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:51.453Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-09T04:31:51.453Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:51 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:51.465Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-09T04:31:51.465Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:53 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:53.035Z"}
{"executionTimeMs":1623,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-09T04:31:53.035Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:54 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:54.636Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-09-09T04:31:54.637Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:54 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:54.643Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-09-09T04:31:54.643Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:54 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:54.645Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-09-09T04:31:54.646Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:54 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:54.651Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-09-09T04:31:54.652Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:56 +0000] \"GET /api/campaigns/conversion-actions?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 3386 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:56.459Z"}
{"executionTimeMs":1707,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-09-09T04:31:56.460Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:31:57 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:31:57.382Z"}
{"executionTimeMs":2627,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-09-09T04:31:57.382Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:32:04 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:32:04.008Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-09-09T04:32:04.008Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:32:04 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en HTTP/1.1\" 200 25615 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:32:04.031Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-09-09T04:32:04.032Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:32:04 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599&adGroupCount=1&languageCode=en HTTP/1.1\" 200 596 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:32:04.049Z"}
{"executionTimeMs":65,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-09-09T04:32:04.051Z"}
{"attempt":0,"error":"401 Your API key has been invalidated.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-09T04:32:11.045Z"}
{"attempt":1,"error":"401 Your API key has been invalidated.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-09T04:32:11.841Z"}
{"attempt":2,"error":"401 Your API key has been invalidated.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-09T04:32:13.134Z"}
{"applicationId":"5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","error":"AI asset generation failed","level":"error","message":"AI asset generation call failed, falling back to heuristic copy","timestamp":"2026-09-09T04:32:13.137Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:32:13 +0000] \"POST /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generate-assets?languageCode=en&descriptionMaxLength=90 HTTP/1.1\" 201 16980 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:32:13.170Z"}
{"executionTimeMs":2974,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generate-assets?languageCode=en&descriptionMaxLength=90","statusCode":201,"timestamp":"2026-09-09T04:32:13.170Z"}
{"attempt":0,"error":"401 Your API key has been invalidated.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-09T04:32:21.290Z"}
{"attempt":1,"error":"401 Your API key has been invalidated.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-09T04:32:22.069Z"}
{"attempt":2,"error":"401 Your API key has been invalidated.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-09T04:32:23.354Z"}
{"applicationId":"5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","error":"AI asset generation failed","level":"error","message":"AI asset generation call failed, falling back to heuristic copy","timestamp":"2026-09-09T04:32:23.355Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:32:23 +0000] \"POST /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generate-assets?languageCode=en&descriptionMaxLength=90 HTTP/1.1\" 201 14716 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:32:23.391Z"}
{"executionTimeMs":2623,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generate-assets?languageCode=en&descriptionMaxLength=90","statusCode":201,"timestamp":"2026-09-09T04:32:23.392Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-09T04:33:11.928Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-09T04:33:16.794Z"}
{"attempt":0,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-09T04:33:21.253Z"}
{"attempt":1,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-09T04:33:24.778Z"}
{"attempt":2,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-09T04:33:29.041Z"}
{"applicationId":"5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","error":"AI asset generation failed","level":"error","message":"AI asset generation call failed, falling back to heuristic copy","timestamp":"2026-09-09T04:33:29.042Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:33:29 +0000] \"POST /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generate-assets?languageCode=en&descriptionMaxLength=90 HTTP/1.1\" 201 16980 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:33:29.065Z"}
{"executionTimeMs":12130,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generate-assets?languageCode=en&descriptionMaxLength=90","statusCode":201,"timestamp":"2026-09-09T04:33:29.066Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:47:51 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:47:51.067Z"}
{"executionTimeMs":426,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-09T04:47:51.067Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:47:51 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:47:51.295Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-09T04:47:51.295Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:47:51 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:47:51.305Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-09T04:47:51.305Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [09/Sep/2026:04:47:53 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-09T04:47:53.022Z"}
{"executionTimeMs":1774,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-09T04:47:53.023Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-09T23:52:02.788Z"}
{"level":"http","message":"::ffff:85.217.149.23 - - [09/Sep/2026:23:52:02 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-09T23:52:02.791Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-09T23:52:02.792Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-10T09:43:25.300Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:09:43:25 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T09:43:25.303Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-09-10T09:43:25.304Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-10T09:43:25.309Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:09:43:25 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T09:43:25.310Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-09-10T09:43:25.310Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-10T09:43:25.313Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:09:43:25 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T09:43:25.314Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-09-10T09:43:25.314Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:10:26:53 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T10:26:53.357Z"}
{"executionTimeMs":463,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-10T10:26:53.358Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:10:26:53 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T10:26:53.655Z"}
{"executionTimeMs":54,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-10T10:26:53.655Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:10:26:53 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T10:26:53.683Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-10T10:26:53.683Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:10:26:55 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T10:26:55.136Z"}
{"executionTimeMs":1534,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-10T10:26:55.137Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:11:51:03 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T11:51:03.902Z"}
{"executionTimeMs":59,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-10T11:51:03.902Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:11:51:03 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T11:51:03.905Z"}
{"executionTimeMs":57,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-10T11:51:03.906Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:11:51:05 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T11:51:05.287Z"}
{"executionTimeMs":1460,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-10T11:51:05.287Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-10T13:10:13.759Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:13:10:13 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T13:10:13.763Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-09-10T13:10:13.763Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-10T13:10:13.774Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:13:10:13 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T13:10:13.775Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-09-10T13:10:13.775Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-10T13:10:13.778Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [10/Sep/2026:13:10:13 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-10T13:10:13.780Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-09-10T13:10:13.780Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:02:58 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:02:58.017Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-11T03:02:58.018Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:02:58 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:02:58.034Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-11T03:02:58.034Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:02:59 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:02:59.659Z"}
{"executionTimeMs":1683,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-11T03:02:59.659Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:03:45 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:03:45.787Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-11T03:03:45.787Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:03:45 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:03:45.795Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-11T03:03:45.796Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:03:47 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:03:47.032Z"}
{"executionTimeMs":1274,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-11T03:03:47.032Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:26:58 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:26:58.018Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-11T03:26:58.018Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:26:58 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:26:58.022Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-11T03:26:58.023Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:26:58 +0000] \"GET /api/accounts HTTP/1.1\" - - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:26:58.994Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:53:28 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:53:28.397Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-11T03:53:28.398Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:53:28 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:53:28.428Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-11T03:53:28.428Z"}
{"level":"http","message":"::ffff:110.226.114.55 - - [11/Sep/2026:03:53:29 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36\"","timestamp":"2026-09-11T03:53:29.866Z"}
{"executionTimeMs":1502,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-11T03:53:29.866Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-11T20:19:04.226Z"}
{"level":"http","message":"::ffff:85.217.149.49 - - [11/Sep/2026:20:19:04 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-11T20:19:04.235Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-11T20:19:04.235Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-11T20:33:19.092Z"}
{"level":"http","message":"::ffff:85.217.149.10 - - [11/Sep/2026:20:33:19 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-11T20:33:19.093Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-11T20:33:19.093Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-13T17:16:50.131Z"}
{"level":"http","message":"::ffff:85.217.149.39 - - [13/Sep/2026:17:16:50 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-13T17:16:50.132Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-13T17:16:50.132Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-13T17:31:47.017Z"}
{"level":"http","message":"::ffff:85.217.149.67 - - [13/Sep/2026:17:31:47 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-13T17:31:47.018Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-13T17:31:47.018Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [14/Sep/2026:05:33:11 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-14T05:33:11.440Z"}
{"executionTimeMs":411,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-14T05:33:11.440Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [14/Sep/2026:05:33:11 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-14T05:33:11.646Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-14T05:33:11.647Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [14/Sep/2026:05:33:11 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-14T05:33:11.667Z"}
{"executionTimeMs":46,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-14T05:33:11.668Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [14/Sep/2026:05:33:13 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-14T05:33:13.091Z"}
{"executionTimeMs":1497,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-14T05:33:13.091Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [14/Sep/2026:11:21:22 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-14T11:21:22.650Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-14T11:21:22.650Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [14/Sep/2026:11:21:22 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-14T11:21:22.670Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-14T11:21:22.671Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [14/Sep/2026:11:21:23 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-14T11:21:23.923Z"}
{"executionTimeMs":1309,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-14T11:21:23.923Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-15T03:34:30.111Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:34:30 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:34:30.113Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-09-15T03:34:30.114Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-15T03:34:30.120Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:34:30 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:34:30.121Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-09-15T03:34:30.122Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-15T03:34:30.128Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:34:30 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:34:30.130Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-09-15T03:34:30.130Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:36:54 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:36:54.407Z"}
{"executionTimeMs":410,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-15T03:36:54.407Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:36:54 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:36:54.580Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-15T03:36:54.580Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:36:54 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:36:54.601Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-15T03:36:54.602Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:36:55 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:36:55.989Z"}
{"executionTimeMs":1455,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-15T03:36:55.989Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:37:12 +0000] \"GET /api/campaigns HTTP/1.1\" 200 44581 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:37:12.687Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-15T03:37:12.687Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:37:50 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:37:50.611Z"}
{"executionTimeMs":1233,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-15T03:37:50.611Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:37:55 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:37:55.252Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-09-15T03:37:55.252Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:37:56 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:37:56.384Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-15T03:37:56.384Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:10 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en HTTP/1.1\" 200 16951 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:10.693Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-09-15T03:57:10.693Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:11 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 738 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:11.627Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-09-15T03:57:11.627Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:11 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:11.772Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-15T03:57:11.773Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:11 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/competitors HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:11.790Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/competitors","statusCode":200,"timestamp":"2026-09-15T03:57:11.791Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:11 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf/keywords HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:11.792Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf/keywords","statusCode":200,"timestamp":"2026-09-15T03:57:11.792Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:12 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:12.943Z"}
{"executionTimeMs":1206,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-15T03:57:12.944Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:13 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:13.411Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-09-15T03:57:13.412Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:13 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:13.414Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-09-15T03:57:13.415Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:13 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:13.417Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-09-15T03:57:13.417Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:13 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:13.420Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-09-15T03:57:13.420Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:13 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:13.427Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-15T03:57:13.428Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:14 +0000] \"GET /api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 2151 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:14.380Z"}
{"executionTimeMs":854,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-09-15T03:57:14.380Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:03:57:14 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 200 70 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T03:57:14.439Z"}
{"executionTimeMs":920,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=7739814b-6cb3-4564-a17a-258b995975cf","statusCode":200,"timestamp":"2026-09-15T03:57:14.440Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:07:34 +0000] \"GET /api/applications HTTP/1.1\" 200 22855 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:07:34.328Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-15T04:07:34.328Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:07:34 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:07:34.331Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-15T04:07:34.331Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:07:35 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:07:35.466Z"}
{"executionTimeMs":1162,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-15T04:07:35.467Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:09 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:09.856Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-09-15T04:08:09.857Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:09 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:09.872Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-09-15T04:08:09.873Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:09 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:09.875Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-09-15T04:08:09.875Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:09 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:09.884Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-09-15T04:08:09.885Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:09 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:09.999Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":200,"timestamp":"2026-09-15T04:08:09.999Z"}
{"level":"error","message":"Request failed This application has no Google Ads customer ID configured. Set one on the Application card first.","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","stack":"ApiError: This application has no Google Ads customer ID configured. Set one on the Application card first.\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at GoogleAdsService.listAppConversionActions (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:285:22)\n    at getConversionActions (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:252:41)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)","statusCode":400,"timestamp":"2026-09-15T04:08:10.014Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:10 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 400 137 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:10.015Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":400,"timestamp":"2026-09-15T04:08:10.016Z"}
{"level":"error","message":"Request failed This application has no Google Ads customer ID configured. Set one on the Application card first.","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","stack":"ApiError: This application has no Google Ads customer ID configured. Set one on the Application card first.\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at GoogleAdsService.listAppConversionActions (/var/www/html/google-ads-automation/backend/src/services/GoogleAdsService.js:285:22)\n    at getConversionActions (/var/www/html/google-ads-automation/backend/src/controllers/campaignsController.js:252:41)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)","statusCode":400,"timestamp":"2026-09-15T04:08:11.082Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:11 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 400 137 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:11.084Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":400,"timestamp":"2026-09-15T04:08:11.084Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:20 +0000] \"PATCH /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/google-ads-customer HTTP/1.1\" 200 782 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:20.486Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/google-ads-customer","statusCode":200,"timestamp":"2026-09-15T04:08:20.488Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:21 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 200 2405 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:21.614Z"}
{"executionTimeMs":999,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":200,"timestamp":"2026-09-15T04:08:21.615Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:21 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 200 68 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:21.777Z"}
{"executionTimeMs":1136,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":200,"timestamp":"2026-09-15T04:08:21.778Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:45 +0000] \"POST /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16999 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:45.989Z"}
{"executionTimeMs":5691,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-09-15T04:08:45.990Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:52 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:52.323Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-09-15T04:08:52.323Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:08:52 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&adGroupCount=1&languageCode=en HTTP/1.1\" 200 497 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:08:52.364Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-09-15T04:08:52.364Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:09:16 +0000] \"POST /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16957 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:09:16.141Z"}
{"executionTimeMs":4898,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-09-15T04:09:16.141Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:09:22 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 5598 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:09:22.051Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-09-15T04:09:22.051Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:09:40 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:09:40.232Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-09-15T04:09:40.232Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:09:40 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:09:40.236Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-09-15T04:09:40.236Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:09:40 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:09:40.241Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-09-15T04:09:40.242Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:09:40 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:09:40.270Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-09-15T04:09:40.271Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:09:41 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 200 68 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:09:41.337Z"}
{"executionTimeMs":971,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":200,"timestamp":"2026-09-15T04:09:41.338Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:09:41 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:09:41.442Z"}
{"executionTimeMs":1084,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":304,"timestamp":"2026-09-15T04:09:41.443Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:09:57 +0000] \"POST /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/generate-assets?languageCode=en&descriptionMaxLength=30 HTTP/1.1\" 201 10313 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:09:57.089Z"}
{"executionTimeMs":5246,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/generate-assets?languageCode=en&descriptionMaxLength=30","statusCode":201,"timestamp":"2026-09-15T04:09:57.090Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:10:00 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:10:00.218Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-09-15T04:10:00.221Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:10:06 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&adGroupCount=1&languageCode=en HTTP/1.1\" 200 556 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:10:06.385Z"}
{"executionTimeMs":6158,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-09-15T04:10:06.385Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:10:14 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1268 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:10:14.613Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-09-15T04:10:14.614Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:10:38 +0000] \"PATCH /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/google-ads-customer HTTP/1.1\" 200 782 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:10:38.448Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/google-ads-customer","statusCode":200,"timestamp":"2026-09-15T04:10:38.448Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:10:39 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:10:39.811Z"}
{"executionTimeMs":1269,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":304,"timestamp":"2026-09-15T04:10:39.811Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:10:42 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1268 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:10:42.730Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-09-15T04:10:42.730Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:10:44 +0000] \"POST /api/campaigns HTTP/1.1\" 201 971 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:10:44.370Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-09-15T04:10:44.370Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:10:55 +0000] \"POST /api/campaigns/31a4d531-0503-430a-97fc-113a3e3f0e45/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:10:55.924Z"}
{"executionTimeMs":11464,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/31a4d531-0503-430a-97fc-113a3e3f0e45/create","statusCode":200,"timestamp":"2026-09-15T04:10:55.925Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:10:56 +0000] \"GET /api/campaigns HTTP/1.1\" 200 45650 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:10:56.106Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-15T04:10:56.107Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:11:41 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:11:41.670Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-15T04:11:41.670Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:11:41 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:11:41.682Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-15T04:11:41.682Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:11:42 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:11:42.847Z"}
{"executionTimeMs":1198,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-15T04:11:42.848Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:11:45 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:11:45.514Z"}
{"executionTimeMs":876,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":304,"timestamp":"2026-09-15T04:11:45.514Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:11:46 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:11:46.104Z"}
{"executionTimeMs":1458,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":304,"timestamp":"2026-09-15T04:11:46.104Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:11 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1471 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:11.573Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-09-15T04:12:11.573Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:16 +0000] \"POST /api/campaigns HTTP/1.1\" 201 971 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:16.992Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-09-15T04:12:16.993Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:22 +0000] \"POST /api/campaigns/662e43d4-300d-4b1e-867a-c9ee37dce140/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:22.207Z"}
{"executionTimeMs":5102,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/662e43d4-300d-4b1e-867a-c9ee37dce140/create","statusCode":200,"timestamp":"2026-09-15T04:12:22.207Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:22 +0000] \"GET /api/campaigns HTTP/1.1\" 200 46723 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:22.457Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-15T04:12:22.458Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:24 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:24.231Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-15T04:12:24.232Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:24 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:24.237Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-15T04:12:24.238Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:25 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:25.412Z"}
{"executionTimeMs":1233,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-15T04:12:25.412Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:28 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:28.440Z"}
{"executionTimeMs":848,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":304,"timestamp":"2026-09-15T04:12:28.440Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:43 +0000] \"POST /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 16966 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:43.827Z"}
{"executionTimeMs":5232,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-09-15T04:12:43.827Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:46 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1437 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:46.666Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-09-15T04:12:46.667Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:48 +0000] \"POST /api/campaigns HTTP/1.1\" 201 971 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:48.512Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-09-15T04:12:48.512Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:57 +0000] \"POST /api/campaigns/6c6efe8e-6b30-4c8f-af09-eeaa5abf0982/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:57.140Z"}
{"executionTimeMs":8526,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/6c6efe8e-6b30-4c8f-af09-eeaa5abf0982/create","statusCode":200,"timestamp":"2026-09-15T04:12:57.140Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:12:57 +0000] \"GET /api/campaigns HTTP/1.1\" 200 47796 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:12:57.359Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-15T04:12:57.359Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:13:05 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:13:05.937Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-15T04:13:05.938Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:13:05 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:13:05.945Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-15T04:13:05.946Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:13:06 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:13:06.933Z"}
{"executionTimeMs":1020,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-15T04:13:06.934Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:13:10 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:13:10.124Z"}
{"executionTimeMs":881,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689","statusCode":304,"timestamp":"2026-09-15T04:13:10.125Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:13:21 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1427 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:13:21.274Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-09-15T04:13:21.275Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:13:31 +0000] \"POST /api/campaigns HTTP/1.1\" 201 971 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:13:31.515Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-09-15T04:13:31.516Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:13:37 +0000] \"POST /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:13:37.005Z"}
{"executionTimeMs":5388,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/create","statusCode":200,"timestamp":"2026-09-15T04:13:37.006Z"}
{"level":"http","message":"::ffff:110.226.115.155 - - [15/Sep/2026:04:13:37 +0000] \"GET /api/campaigns HTTP/1.1\" 200 48869 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-15T04:13:37.178Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-15T04:13:37.178Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-15T14:44:49.911Z"}
{"level":"http","message":"::ffff:85.217.149.28 - - [15/Sep/2026:14:44:49 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-15T14:44:49.912Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-15T14:44:49.912Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-15T14:58:31.171Z"}
{"level":"http","message":"::ffff:85.217.149.44 - - [15/Sep/2026:14:58:31 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-15T14:58:31.173Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-15T14:58:31.174Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-16T04:14:48.279Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [16/Sep/2026:04:14:48 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T04:14:48.281Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-09-16T04:14:48.281Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-16T04:14:48.416Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [16/Sep/2026:04:14:48 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T04:14:48.417Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-16T04:14:48.417Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaigns","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-16T04:44:42.276Z"}
{"level":"http","message":"::ffff:110.226.114.30 - - [16/Sep/2026:04:44:42 +0000] \"GET /api/campaigns HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T04:44:42.278Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":401,"timestamp":"2026-09-16T04:44:42.278Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:10:25:05 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T10:25:05.598Z"}
{"executionTimeMs":459,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-16T10:25:05.599Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:10:25:05 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T10:25:05.794Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-16T10:25:05.794Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:10:25:05 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T10:25:05.809Z"}
{"executionTimeMs":22,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-16T10:25:05.809Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:10:25:07 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T10:25:07.430Z"}
{"executionTimeMs":1682,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-16T10:25:07.430Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:11:12:16 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T11:12:16.250Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-09-16T11:12:16.250Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:11:12:16 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T11:12:16.257Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-09-16T11:12:16.257Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:11:12:16 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T11:12:16.278Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-09-16T11:12:16.279Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:11:12:16 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T11:12:16.283Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-09-16T11:12:16.284Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:11:12:17 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07 HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T11:12:17.625Z"}
{"executionTimeMs":1232,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07","statusCode":200,"timestamp":"2026-09-16T11:12:17.626Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [16/Sep/2026:11:12:17 +0000] \"GET /api/campaigns/conversion-actions?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07 HTTP/1.1\" 200 4197 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-16T11:12:17.795Z"}
{"executionTimeMs":1386,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=38bb8f78-8df1-4417-add2-46bb5da95d07","statusCode":200,"timestamp":"2026-09-16T11:12:17.795Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/accounts","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-17T03:22:46.216Z"}
{"level":"http","message":"::ffff:125.16.27.190 - - [17/Sep/2026:03:22:46 +0000] \"GET /api/accounts HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-17T03:22:46.218Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":401,"timestamp":"2026-09-17T03:22:46.218Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-17T03:22:46.220Z"}
{"level":"http","message":"::ffff:125.16.27.190 - - [17/Sep/2026:03:22:46 +0000] \"GET /api/applications HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-17T03:22:46.221Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":401,"timestamp":"2026-09-17T03:22:46.221Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-17T03:22:46.224Z"}
{"level":"http","message":"::ffff:125.16.27.190 - - [17/Sep/2026:03:22:46 +0000] \"GET /api/applications/7739814b-6cb3-4564-a17a-258b995975cf HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-17T03:22:46.226Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/7739814b-6cb3-4564-a17a-258b995975cf","statusCode":401,"timestamp":"2026-09-17T03:22:46.226Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/campaign-templates","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:22:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at router.handle (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:175:3)\n    at router (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:47:12)","statusCode":401,"timestamp":"2026-09-17T03:22:46.228Z"}
{"level":"http","message":"::ffff:125.16.27.190 - - [17/Sep/2026:03:22:46 +0000] \"GET /api/campaign-templates HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-17T03:22:46.229Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":401,"timestamp":"2026-09-17T03:22:46.229Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [17/Sep/2026:05:44:25 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-17T05:44:25.597Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-17T05:44:25.598Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [17/Sep/2026:05:44:25 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-17T05:44:25.600Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-17T05:44:25.600Z"}
{"level":"http","message":"::ffff:110.226.115.229 - - [17/Sep/2026:05:44:27 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-17T05:44:27.077Z"}
{"executionTimeMs":1526,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-17T05:44:27.077Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-17T11:14:06.926Z"}
{"level":"http","message":"::ffff:85.217.149.29 - - [17/Sep/2026:11:14:06 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-17T11:14:06.929Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-17T11:14:06.929Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-17T11:30:00.793Z"}
{"level":"http","message":"::ffff:85.217.149.12 - - [17/Sep/2026:11:30:00 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-17T11:30:00.794Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-17T11:30:00.795Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:33:24 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:33:24.296Z"}
{"executionTimeMs":394,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-18T11:33:24.296Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:33:24 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:33:24.504Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-18T11:33:24.504Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:33:24 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:33:24.516Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-18T11:33:24.516Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:33:25 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:33:25.797Z"}
{"executionTimeMs":1366,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-18T11:33:25.797Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:33:27 +0000] \"GET /api/campaigns HTTP/1.1\" 200 48869 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:33:27.183Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-18T11:33:27.184Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:53:35 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:53:35.545Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-09-18T11:53:35.545Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:53:35 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:53:35.563Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-09-18T11:53:35.563Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:53:35 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:53:35.572Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-09-18T11:53:35.572Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:53:35 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:53:35.578Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-09-18T11:53:35.578Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:53:36 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 69 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:53:36.581Z"}
{"executionTimeMs":853,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-09-18T11:53:36.583Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:53:39 +0000] \"GET /api/campaigns/conversion-actions?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 3638 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:53:39.381Z"}
{"executionTimeMs":3651,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-09-18T11:53:39.382Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:53:54 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:53:54.471Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-18T11:53:54.472Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:53:55 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:53:55.861Z"}
{"executionTimeMs":1415,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-18T11:53:55.861Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:54:00 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599 HTTP/1.1\" 200 759 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:54:00.920Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599","statusCode":200,"timestamp":"2026-09-18T11:54:00.920Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:54:00 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en HTTP/1.1\" 200 16980 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:54:00.973Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-09-18T11:54:00.973Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:54:01 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/competitors HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:54:01.046Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/competitors","statusCode":200,"timestamp":"2026-09-18T11:54:01.047Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:54:01 +0000] \"GET /api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/keywords HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:54:01.050Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/5a96ab3e-ec6f-4b59-b3c7-ae1f2fae2599/keywords","statusCode":200,"timestamp":"2026-09-18T11:54:01.050Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:54:15 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:54:15.391Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-09-18T11:54:15.394Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:11:54:25 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T11:54:25.453Z"}
{"executionTimeMs":1354,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-18T11:54:25.453Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [18/Sep/2026:13:31:52 +0000] \"GET /api/accounts HTTP/1.1\" 200 2634 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-18T13:31:52.060Z"}
{"executionTimeMs":1534,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-18T13:31:52.061Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [19/Sep/2026:03:51:16 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T03:51:16.224Z"}
{"executionTimeMs":1324,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-19T03:51:16.224Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [19/Sep/2026:05:06:36 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T05:06:36.046Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-19T05:06:36.046Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [19/Sep/2026:05:06:37 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T05:06:37.578Z"}
{"executionTimeMs":1565,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-19T05:06:37.579Z"}
{"level":"http","message":"::ffff:110.226.114.133 - - [19/Sep/2026:05:07:14 +0000] \"GET /api/campaigns HTTP/1.1\" 200 48869 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T05:07:14.622Z"}
{"executionTimeMs":40,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-19T05:07:14.623Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:21:28 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:21:28.000Z"}
{"executionTimeMs":48,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-09-19T06:21:28.003Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-19T06:26:45.149Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-19T06:26:50.992Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-19T06:26:50.996Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-09-19T06:29:08.044Z"}
{"level":"info","message":"Skipping already-applied migration: 002_users.sql","timestamp":"2026-09-19T06:29:08.047Z"}
{"level":"info","message":"Skipping already-applied migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-09-19T06:29:08.048Z"}
{"level":"info","message":"Skipping already-applied migration: 004_country_language_mapping.sql","timestamp":"2026-09-19T06:29:08.048Z"}
{"level":"info","message":"Skipping already-applied migration: 005_application_google_ads_customer.sql","timestamp":"2026-09-19T06:29:08.049Z"}
{"level":"info","message":"Skipping already-applied migration: 006_status_lifecycle.sql","timestamp":"2026-09-19T06:29:08.049Z"}
{"level":"info","message":"Skipping already-applied migration: 007_campaign_defaults.sql","timestamp":"2026-09-19T06:29:08.049Z"}
{"level":"info","message":"Skipping already-applied migration: 008_drop_network_settings.sql","timestamp":"2026-09-19T06:29:08.050Z"}
{"level":"info","message":"Skipping already-applied migration: 009_asset_intelligence.sql","timestamp":"2026-09-19T06:29:08.050Z"}
{"level":"info","message":"Skipping already-applied migration: 010_application_image_assets.sql","timestamp":"2026-09-19T06:29:08.050Z"}
{"level":"info","message":"Skipping already-applied migration: 011_ad_group_copy_history.sql","timestamp":"2026-09-19T06:29:08.050Z"}
{"level":"info","message":"Skipping already-applied migration: 012_campaign_metric_snapshots.sql","timestamp":"2026-09-19T06:29:08.051Z"}
{"level":"info","message":"Skipping already-applied migration: 013_ad_group_image_assets.sql","timestamp":"2026-09-19T06:29:08.051Z"}
{"level":"info","message":"Skipping already-applied migration: 014_created_by_user_id.sql","timestamp":"2026-09-19T06:29:08.051Z"}
{"level":"info","message":"Skipping already-applied migration: 015_google_ads_account_candidates.sql","timestamp":"2026-09-19T06:29:08.051Z"}
{"level":"info","message":"Skipping already-applied migration: 016_video_assets.sql","timestamp":"2026-09-19T06:29:08.051Z"}
{"level":"info","message":"Skipping already-applied migration: 017_generated_asset_sets_language.sql","timestamp":"2026-09-19T06:29:08.051Z"}
{"level":"info","message":"Skipping already-applied migration: 018_campaign_templates.sql","timestamp":"2026-09-19T06:29:08.051Z"}
{"level":"info","message":"Skipping already-applied migration: 019_drop_country_language_mapping.sql","timestamp":"2026-09-19T06:29:08.051Z"}
{"level":"info","message":"Skipping already-applied migration: 020_fix_campaign_name_uniqueness.sql","timestamp":"2026-09-19T06:29:08.052Z"}
{"level":"info","message":"Skipping already-applied migration: 021_exclude_removed_from_campaign_name_uniqueness.sql","timestamp":"2026-09-19T06:29:08.052Z"}
{"level":"info","message":"Skipping already-applied migration: 022_ios_platform_support.sql","timestamp":"2026-09-19T06:29:08.052Z"}
{"level":"info","message":"Applying migration: 023_user_account_permissions.sql","timestamp":"2026-09-19T06:29:08.052Z"}
{"level":"info","message":"Migration applied: 023_user_account_permissions.sql","timestamp":"2026-09-19T06:29:08.101Z"}
{"level":"info","message":"Applying migration: 024_google_ads_accounts_sync_metadata.sql","timestamp":"2026-09-19T06:29:08.102Z"}
{"level":"info","message":"Migration applied: 024_google_ads_accounts_sync_metadata.sql","timestamp":"2026-09-19T06:29:08.105Z"}
{"level":"info","message":"Applying migration: 025_user_account_permissions_fk_actions.sql","timestamp":"2026-09-19T06:29:08.105Z"}
{"level":"info","message":"Migration applied: 025_user_account_permissions_fk_actions.sql","timestamp":"2026-09-19T06:29:08.113Z"}
{"level":"info","message":"Applying migration: 026_application_bundle_id.sql","timestamp":"2026-09-19T06:29:08.114Z"}
{"level":"info","message":"Migration applied: 026_application_bundle_id.sql","timestamp":"2026-09-19T06:29:08.117Z"}
{"level":"info","message":"Applying migration: 027_drop_application_bundle_id.sql","timestamp":"2026-09-19T06:29:08.117Z"}
{"level":"info","message":"Migration applied: 027_drop_application_bundle_id.sql","timestamp":"2026-09-19T06:29:08.120Z"}
{"level":"info","message":"Applying migration: 028_youtube_connection.sql","timestamp":"2026-09-19T06:29:08.120Z"}
{"level":"info","message":"Migration applied: 028_youtube_connection.sql","timestamp":"2026-09-19T06:29:08.128Z"}
{"level":"info","message":"Applying migration: 029_youtube_grant_links.sql","timestamp":"2026-09-19T06:29:08.128Z"}
{"level":"info","message":"Migration applied: 029_youtube_grant_links.sql","timestamp":"2026-09-19T06:29:08.135Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-19T06:29:15.724Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-19T06:29:20.196Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-19T06:29:20.200Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:30:21 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:30:21.664Z"}
{"executionTimeMs":75,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-19T06:30:21.665Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:30:21 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:30:21.947Z"}
{"executionTimeMs":178,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-09-19T06:30:21.952Z"}
{"level":"error","message":"Request failed Invalid email or password","method":"POST","path":"/api/auth/login","stack":"ApiError: Invalid email or password\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at AuthService.login (/var/www/html/google-ads-automation/backend/src/services/AuthService.js:16:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async login (/var/www/html/google-ads-automation/backend/src/controllers/authController.js:7:18)","statusCode":401,"timestamp":"2026-09-19T06:30:59.673Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:30:59 +0000] \"POST /api/auth/login HTTP/1.1\" 401 65 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:30:59.675Z"}
{"executionTimeMs":23,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":401,"timestamp":"2026-09-19T06:30:59.676Z"}
{"level":"error","message":"Request failed Invalid email or password","method":"POST","path":"/api/auth/login","stack":"ApiError: Invalid email or password\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at AuthService.login (/var/www/html/google-ads-automation/backend/src/services/AuthService.js:16:22)\n    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n    at async login (/var/www/html/google-ads-automation/backend/src/controllers/authController.js:7:18)","statusCode":401,"timestamp":"2026-09-19T06:31:03.383Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:31:03 +0000] \"POST /api/auth/login HTTP/1.1\" 401 65 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:31:03.385Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":401,"timestamp":"2026-09-19T06:31:03.386Z"}
{"level":"info","message":"Admin user ready: admin@vasundharainfotechllp.com (id: a2a02d22-eb75-43d5-9de6-e6d9499ba983)","timestamp":"2026-09-19T06:31:27.525Z"}
{"level":"info","message":"Admin user ready: superadmin@vasundharainfotechllp.com (id: 03befcae-0e60-4189-a7c6-34f03a61e8e9)","timestamp":"2026-09-19T06:32:11.978Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-19T06:32:15.529Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-19T06:32:20.079Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-19T06:32:20.082Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:13 +0000] \"POST /api/auth/login HTTP/1.1\" 200 443 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:13.336Z"}
{"executionTimeMs":485,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-19T06:33:13.337Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:13 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:13.609Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-19T06:33:13.610Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:13 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:13.807Z"}
{"executionTimeMs":41,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-09-19T06:33:13.807Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:30 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107 HTTP/1.1\" 200 2112 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:30.732Z"}
{"executionTimeMs":33,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107","statusCode":200,"timestamp":"2026-09-19T06:33:30.733Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:30 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:30.862Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-19T06:33:30.862Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:31 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics HTTP/1.1\" 200 107 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:31.656Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics","statusCode":200,"timestamp":"2026-09-19T06:33:31.656Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:31 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics/assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:31.687Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics/assets","statusCode":200,"timestamp":"2026-09-19T06:33:31.688Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:42 +0000] \"POST /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics/sync HTTP/1.1\" 200 141 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:42.137Z"}
{"executionTimeMs":7467,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics/sync","statusCode":200,"timestamp":"2026-09-19T06:33:42.138Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:42 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics HTTP/1.1\" 200 1323 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:42.286Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics","statusCode":200,"timestamp":"2026-09-19T06:33:42.286Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:42 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics/assets HTTP/1.1\" 200 19955 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:42.294Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107/metrics/assets","statusCode":200,"timestamp":"2026-09-19T06:33:42.294Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:46 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:46.272Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-19T06:33:46.273Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [19/Sep/2026:06:33:46 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-19T06:33:46.329Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-19T06:33:46.329Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T07:03:08.678Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T07:32:54.272Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T08:02:54.616Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T08:32:53.905Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-19T08:48:12.844Z"}
{"level":"http","message":"::ffff:85.217.149.28 - - [19/Sep/2026:08:48:12 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-19T08:48:12.846Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-19T08:48:12.846Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-19T09:02:43.086Z"}
{"level":"http","message":"::ffff:85.217.149.71 - - [19/Sep/2026:09:02:43 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-19T09:02:43.087Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-19T09:02:43.087Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T09:02:54.926Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T09:32:54.632Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T10:02:56.665Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T10:32:58.558Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T11:03:00.896Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T11:32:55.082Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T12:02:54.755Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T12:32:57.707Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T13:02:53.266Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T13:32:54.696Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T14:02:57.188Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T14:32:55.188Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T15:02:53.960Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T15:32:57.724Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T16:03:05.150Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T16:33:05.055Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T17:02:56.026Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T17:32:53.751Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T18:02:50.505Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T18:32:53.562Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T19:02:53.461Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T19:32:52.859Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T20:02:51.948Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T20:32:52.114Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T21:02:52.268Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T21:32:51.615Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T22:02:52.010Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T22:32:51.678Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T23:02:53.479Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-19T23:32:53.960Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T00:02:56.777Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T00:32:52.050Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T01:02:56.176Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-20T01:06:31.734Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [20/Sep/2026:01:06:31 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-20T01:06:31.735Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-09-20T01:06:31.735Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-20T01:06:31.873Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [20/Sep/2026:01:06:31 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-20T01:06:31.875Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-20T01:06:31.875Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T01:32:52.335Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T02:02:52.963Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T02:32:51.969Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T03:02:50.810Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T03:32:54.426Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T04:02:53.443Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T04:32:53.937Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T05:02:52.516Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T05:32:56.584Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T06:02:54.842Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T06:32:53.083Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T07:02:52.584Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T07:32:55.471Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T08:02:54.071Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T08:32:53.118Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T09:02:56.079Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T09:32:54.493Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T10:02:53.535Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T10:32:52.377Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T11:03:05.315Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T11:32:53.006Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T12:03:10.200Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T12:32:51.293Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T13:02:53.738Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T13:33:10.357Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T14:02:55.411Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T14:32:54.738Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T15:02:54.191Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T15:32:53.132Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T16:02:52.793Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T16:32:56.873Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T17:02:53.322Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T17:32:55.482Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T18:02:50.703Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T18:32:53.414Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T19:02:54.395Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T19:32:54.441Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T20:02:52.663Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T20:32:55.766Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T21:02:52.194Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T21:32:53.532Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T22:02:51.610Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T22:32:49.588Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T23:02:53.759Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-20T23:32:52.208Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T00:02:54.861Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T00:32:52.790Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T01:02:55.275Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T01:32:52.936Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T02:02:56.220Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T02:32:51.375Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T03:02:59.307Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T03:32:51.989Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/auth/me/permissions","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:31:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)","statusCode":401,"timestamp":"2026-09-21T03:39:09.715Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:39:09 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:39:09.717Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":401,"timestamp":"2026-09-21T03:39:09.717Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:47:41 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:47:41.651Z"}
{"executionTimeMs":539,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-21T03:47:41.652Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:47:41 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:47:41.747Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T03:47:41.747Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:47:41 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:47:41.852Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-21T03:47:41.852Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:47:41 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:47:41.905Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-21T03:47:41.905Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:47:41 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:47:41.918Z"}
{"executionTimeMs":38,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-21T03:47:41.918Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:47:43 +0000] \"GET /api/admin/users HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:47:43.377Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/admin/users","statusCode":200,"timestamp":"2026-09-21T03:47:43.377Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:50:39 +0000] \"POST /api/auth/login HTTP/1.1\" 200 443 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:50:39.715Z"}
{"executionTimeMs":510,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-21T03:50:39.715Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:50:39 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:50:39.855Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T03:50:39.855Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:50:40 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:50:40.048Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-21T03:50:40.048Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:50:40 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:50:40.104Z"}
{"executionTimeMs":30,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-21T03:50:40.105Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:50:40 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:50:40.123Z"}
{"executionTimeMs":46,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-21T03:50:40.125Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:50:42 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:50:42.134Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T03:50:42.135Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:54:37 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:54:37.845Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T03:54:37.846Z"}
{"level":"error","message":"Request failed YOUTUBE_CLIENT_ID and YOUTUBE_CLIENT_SECRET must be set in .env before starting the OAuth flow","method":"GET","path":"/api/auth/youtube","stack":"ApiError: YOUTUBE_CLIENT_ID and YOUTUBE_CLIENT_SECRET must be set in .env before starting the OAuth flow\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at getOAuthClient (/var/www/html/google-ads-automation/backend/src/controllers/youtubeAuthController.js:19:20)\n    at startYoutubeAuth (/var/www/html/google-ads-automation/backend/src/controllers/youtubeAuthController.js:45:18)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15","statusCode":400,"timestamp":"2026-09-21T03:54:40.603Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:54:40 +0000] \"GET /api/auth/youtube HTTP/1.1\" 400 134 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:54:40.604Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":400,"timestamp":"2026-09-21T03:54:40.604Z"}
{"level":"error","message":"Request failed YOUTUBE_CLIENT_ID and YOUTUBE_CLIENT_SECRET must be set in .env before starting the OAuth flow","method":"GET","path":"/api/auth/youtube","stack":"ApiError: YOUTUBE_CLIENT_ID and YOUTUBE_CLIENT_SECRET must be set in .env before starting the OAuth flow\n    at ApiError.badRequest (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:11:12)\n    at getOAuthClient (/var/www/html/google-ads-automation/backend/src/controllers/youtubeAuthController.js:19:20)\n    at startYoutubeAuth (/var/www/html/google-ads-automation/backend/src/controllers/youtubeAuthController.js:45:18)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15","statusCode":400,"timestamp":"2026-09-21T03:54:44.869Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:03:54:44 +0000] \"GET /api/auth/youtube HTTP/1.1\" 400 134 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T03:54:44.870Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":400,"timestamp":"2026-09-21T03:54:44.870Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-21T04:00:52.971Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-21T04:01:00.714Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-21T04:01:00.725Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:01:12 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:01:12.074Z"}
{"executionTimeMs":67,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T04:01:12.075Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:01:12 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:01:12.092Z"}
{"executionTimeMs":58,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":304,"timestamp":"2026-09-21T04:01:12.093Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:01:13 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 388 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:01:13.117Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:01:13.118Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:07:37 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:07:37.507Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":304,"timestamp":"2026-09-21T04:07:37.507Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:07:37 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:07:37.514Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T04:07:37.514Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:07:38 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 388 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:07:38.760Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:07:38.760Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-09-21T04:10:23.072Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-21T04:10:44.361Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-21T04:10:48.471Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-21T04:10:48.475Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:11:17 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:11:17.110Z"}
{"executionTimeMs":52,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T04:11:17.111Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:11:17 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:11:17.330Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-21T04:11:17.331Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:11:17 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:11:17.386Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-21T04:11:17.387Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:11:17 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:11:17.406Z"}
{"executionTimeMs":31,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-21T04:11:17.406Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:11:21 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:11:21.405Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":304,"timestamp":"2026-09-21T04:11:21.405Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:11:22 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 388 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:11:22.368Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:11:22.369Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-21T04:21:21.783Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-21T04:21:26.824Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-21T04:21:26.827Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:21:31 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:21:31.895Z"}
{"executionTimeMs":32,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T04:21:31.895Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:21:31 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:21:31.898Z"}
{"executionTimeMs":54,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T04:21:31.899Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:21:34 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 396 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:21:34.409Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:21:34.410Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:22:11 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:22:11.155Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T04:22:11.155Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:22:11 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:22:11.158Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T04:22:11.159Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:22:12 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 396 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:22:12.509Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:22:12.510Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:24:42 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:24:42.620Z"}
{"executionTimeMs":26,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T04:24:42.620Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:24:42 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:24:42.626Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T04:24:42.626Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:24:43 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 396 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:24:43.872Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:24:43.872Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:25:49 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:25:49.090Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T04:25:49.091Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:25:49 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:25:49.099Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T04:25:49.100Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:25:50 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 396 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:25:50.183Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:25:50.183Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:27:19 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:27:19.512Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":304,"timestamp":"2026-09-21T04:27:19.512Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:27:19 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:27:19.514Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T04:27:19.514Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-21T04:27:36.269Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-21T04:27:41.634Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-21T04:27:41.639Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:27:45 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:27:45.079Z"}
{"executionTimeMs":54,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T04:27:45.079Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:27:45 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:27:45.083Z"}
{"executionTimeMs":40,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T04:27:45.084Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:28:00 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 395 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:28:00.102Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:28:00.103Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-21T04:48:50.892Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-21T04:48:55.194Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-21T04:48:55.197Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:49:45 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:49:45.706Z"}
{"executionTimeMs":109,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T04:49:45.707Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:49:45 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:49:45.717Z"}
{"executionTimeMs":85,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T04:49:45.720Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:49:47 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:49:47.125Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:49:47.125Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:49:55 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:49:55.399Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":304,"timestamp":"2026-09-21T04:49:55.400Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:49:55 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:49:55.408Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T04:49:55.408Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:49:57 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:49:57.198Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:49:57.198Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-21T04:51:10.752Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-21T04:51:16.944Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-21T04:51:16.947Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/auth/me/permissions","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:31:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)","statusCode":401,"timestamp":"2026-09-21T04:52:12.337Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:52:12 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:52:12.342Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":401,"timestamp":"2026-09-21T04:52:12.342Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-21T04:56:15.865Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-21T04:56:20.239Z"}
{"level":"info","message":"Campaign auto-sync enabled — every 30 minute(s)","timestamp":"2026-09-21T04:56:20.243Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:56:52 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:56:52.847Z"}
{"executionTimeMs":49,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T04:56:52.848Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:56:53 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:56:53.042Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-21T04:56:53.042Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:56:53 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:56:53.090Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-21T04:56:53.090Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:56:53 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:56:53.106Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-21T04:56:53.106Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:56:54 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:56:54.973Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":304,"timestamp":"2026-09-21T04:56:54.973Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:56:55 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:56:55.741Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:56:55.742Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:57:53 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:57:53.488Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T04:57:53.489Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:57:53 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:57:53.492Z"}
{"executionTimeMs":46,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T04:57:53.492Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:57:58 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:57:58.995Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T04:57:58.996Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:57:59 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:57:59.003Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":304,"timestamp":"2026-09-21T04:57:59.004Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:04:58:00 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T04:58:00.228Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T04:58:00.229Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:00:28 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:00:28.672Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T05:00:28.672Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:00:36.178Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:00:36 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:00:36.180Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:00:36.180Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:00:43 +0000] \"GET /health HTTP/1.1\" 200 69 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:00:43.009Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/health","statusCode":200,"timestamp":"2026-09-21T05:00:43.009Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:01:35.723Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:01:35 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"curl/8.5.0\"","timestamp":"2026-09-21T05:01:35.725Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-09-21T05:01:35.725Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:02:14 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:02:14.263Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T05:02:14.263Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:02:14 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:02:14.477Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-21T05:02:14.477Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:02:14 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:02:14.505Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-21T05:02:14.505Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:02:14 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:02:14.524Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-21T05:02:14.524Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:02:15 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:02:15.597Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":304,"timestamp":"2026-09-21T05:02:15.597Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:02:16 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:02:16.425Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T05:02:16.426Z"}
{"channelId":"UCgOdJol1v2I1Q4enJb0fkKQ","channelTitle":"Parthiv Vora","level":"info","message":"YouTube channel connected","timestamp":"2026-09-21T05:02:23.021Z","viaGrantLink":false}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:02:23 +0000] \"GET /api/auth/youtube/callback?iss=https://accounts.google.com&code=4/0ATsMZqAMfAivJ5fYFJ03VdrZ8ywMrry5opy2O9E9kOODZNjuW33LHE2CTIakoCp5sRGSjw&scope=https://www.googleapis.com/auth/youtube.readonly HTTP/1.1\" 302 92 \"https://accounts.google.com/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:02:23.023Z"}
{"executionTimeMs":447,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube/callback?iss=https://accounts.google.com&code=4/0ATsMZqAMfAivJ5fYFJ03VdrZ8ywMrry5opy2O9E9kOODZNjuW33LHE2CTIakoCp5sRGSjw&scope=https://www.googleapis.com/auth/youtube.readonly","statusCode":302,"timestamp":"2026-09-21T05:02:23.023Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:02:23 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 299 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:02:23.464Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:02:23.465Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:02:23 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:02:23.480Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T05:02:23.480Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:04:26 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 299 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:04:26.558Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:04:26.558Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:04:26 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:04:26.561Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T05:04:26.562Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:05:12 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:05:12.322Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T05:05:12.322Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:05:12 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:05:12.509Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-21T05:05:12.509Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:05:12 +0000] \"GET /api/applications HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:05:12.549Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":304,"timestamp":"2026-09-21T05:05:12.549Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:05:12 +0000] \"GET /api/campaign-templates HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:05:12.572Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":304,"timestamp":"2026-09-21T05:05:12.572Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:05:14 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:05:14.028Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":304,"timestamp":"2026-09-21T05:05:14.028Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:05:21 +0000] \"DELETE /api/integrations/youtube HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:05:21.901Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"DELETE","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:05:21.901Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:05:21 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:05:21.953Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:05:21.955Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:09 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:09.623Z"}
{"executionTimeMs":47,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T05:06:09.624Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:09 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:09.627Z"}
{"executionTimeMs":56,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:06:09.628Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:42 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:42.156Z"}
{"executionTimeMs":434,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-21T05:06:42.156Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:42 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:42.312Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T05:06:42.312Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:42 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:42.362Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:06:42.363Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:44 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:44.501Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T05:06:44.501Z"}
{"channelId":"UCrE_AtWd1JySmjt0vu9zz8w","channelTitle":"vasu yt","level":"info","message":"YouTube channel connected","timestamp":"2026-09-21T05:06:52.062Z","viaGrantLink":false}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:06:52 +0000] \"GET /api/auth/youtube/callback?iss=https://accounts.google.com&code=4/0ATsMZqBwgIkMzAH3QQT2seRLDvv6hkWWoYDrijEtKWs-ywzg427jAN1dvSX7phswYD3CVQ&scope=https://www.googleapis.com/auth/youtube.readonly HTTP/1.1\" 302 92 \"https://accounts.google.com/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:52.063Z"}
{"executionTimeMs":370,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube/callback?iss=https://accounts.google.com&code=4/0ATsMZqBwgIkMzAH3QQT2seRLDvv6hkWWoYDrijEtKWs-ywzg427jAN1dvSX7phswYD3CVQ&scope=https://www.googleapis.com/auth/youtube.readonly","statusCode":302,"timestamp":"2026-09-21T05:06:52.063Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:52 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 298 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:52.485Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:06:52.486Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:52 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:52.517Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T05:06:52.518Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:55 +0000] \"GET /api/campaigns HTTP/1.1\" 200 49884 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:55.740Z"}
{"executionTimeMs":37,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-21T05:06:55.740Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:57 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107 HTTP/1.1\" 200 2111 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:57.362Z"}
{"executionTimeMs":35,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107","statusCode":200,"timestamp":"2026-09-21T05:06:57.363Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:57 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:57.470Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-21T05:06:57.472Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:59 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:59.514Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets","statusCode":200,"timestamp":"2026-09-21T05:06:59.514Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:06:59 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:06:59.539Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets","statusCode":200,"timestamp":"2026-09-21T05:06:59.540Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:07:05 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:07:05.703Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-09-21T05:07:05.704Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:07:05 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:07:05.742Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-09-21T05:07:05.742Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:07:05 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:07:05.744Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-09-21T05:07:05.745Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:07:05 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:07:05.877Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-09-21T05:07:05.877Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:07:07 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452 HTTP/1.1\" 200 2405 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:07:07.040Z"}
{"executionTimeMs":1166,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452","statusCode":200,"timestamp":"2026-09-21T05:07:07.040Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:07:11 +0000] \"GET /api/youtube/videos HTTP/1.1\" 200 203 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:07:11.380Z"}
{"executionTimeMs":692,"level":"http","message":"Request completed","method":"GET","path":"/api/youtube/videos","statusCode":200,"timestamp":"2026-09-21T05:07:11.380Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:07:57 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:07:57.198Z"}
{"executionTimeMs":421,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-21T05:07:57.199Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:07:57 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:07:57.313Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T05:07:57.313Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:07:57 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 298 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:07:57.330Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:07:57.330Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:08:01 +0000] \"DELETE /api/integrations/youtube HTTP/1.1\" 200 16 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:08:01.547Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"DELETE","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:08:01.548Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:08:01 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:08:01.604Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:08:01.605Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:08:02 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:08:02.248Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T05:08:02.248Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:09:24 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 43 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:09:24.817Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:09:24.817Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:09:25 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:09:25.662Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-21T05:09:25.662Z"}
{"channelId":"UCrE_AtWd1JySmjt0vu9zz8w","channelTitle":"vasu yt","level":"info","message":"YouTube channel connected","timestamp":"2026-09-21T05:09:51.846Z","viaGrantLink":false}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:09:51 +0000] \"GET /api/auth/youtube/callback?iss=https://accounts.google.com&code=4/0ATsMZqBX1JbrXDE95-YsXsAs_PHR9TtC9PxKikx8UjVK1UHk-Bm14_ACHVLjkzoUFwiVZg&scope=https://www.googleapis.com/auth/youtube.readonly HTTP/1.1\" 302 92 \"https://accounts.google.com/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:09:51.848Z"}
{"executionTimeMs":397,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube/callback?iss=https://accounts.google.com&code=4/0ATsMZqBX1JbrXDE95-YsXsAs_PHR9TtC9PxKikx8UjVK1UHk-Bm14_ACHVLjkzoUFwiVZg&scope=https://www.googleapis.com/auth/youtube.readonly","statusCode":302,"timestamp":"2026-09-21T05:09:51.849Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:09:52 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 298 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:09:52.264Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T05:09:52.264Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:09:52 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:09:52.278Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T05:09:52.279Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:10 +0000] \"GET /api/campaigns HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:10.351Z"}
{"executionTimeMs":57,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":304,"timestamp":"2026-09-21T05:10:10.353Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:11 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:11.226Z"}
{"executionTimeMs":57,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107","statusCode":304,"timestamp":"2026-09-21T05:10:11.227Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:11 +0000] \"GET /api/accounts HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:11.327Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":304,"timestamp":"2026-09-21T05:10:11.328Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:12 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:12.682Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-09-21T05:10:12.682Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:12 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:12.717Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-09-21T05:10:12.718Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:12 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:12.729Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-09-21T05:10:12.729Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:12 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:12.732Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets","statusCode":304,"timestamp":"2026-09-21T05:10:12.732Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:12 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:12.748Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets","statusCode":304,"timestamp":"2026-09-21T05:10:12.748Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:12 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:12.857Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-09-21T05:10:12.857Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:14 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:14.153Z"}
{"executionTimeMs":1301,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452","statusCode":304,"timestamp":"2026-09-21T05:10:14.153Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:05:10:18 +0000] \"GET /api/youtube/videos HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:10:18.372Z"}
{"executionTimeMs":745,"level":"http","message":"Request completed","method":"GET","path":"/api/youtube/videos","statusCode":304,"timestamp":"2026-09-21T05:10:18.372Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T05:26:55.435Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:28:09.702Z"}
{"level":"http","message":"::ffff:85.217.149.13 - - [21/Sep/2026:05:28:09 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-21T05:28:09.705Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:28:09.705Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:37:29.905Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:37:29 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; CT-WP-Scanner/1.0; +https://example.com/bot)\"","timestamp":"2026-09-21T05:37:29.907Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:37:29.907Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-json/","method":"GET","path":"/wp-json/","stack":"ApiError: Route not found: GET /wp-json/\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:37:30.057Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:37:30 +0000] \"GET /wp-json/ HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (compatible; CT-WP-Scanner/1.0; +https://example.com/bot)\"","timestamp":"2026-09-21T05:37:30.059Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp-json/","statusCode":404,"timestamp":"2026-09-21T05:37:30.059Z"}
{"level":"error","message":"Request failed Route not found: GET /xmlrpc.php?rsd","method":"GET","path":"/xmlrpc.php?rsd","stack":"ApiError: Route not found: GET /xmlrpc.php?rsd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:37:30.202Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:37:30 +0000] \"GET /xmlrpc.php?rsd HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (compatible; CT-WP-Scanner/1.0; +https://example.com/bot)\"","timestamp":"2026-09-21T05:37:30.203Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/xmlrpc.php?rsd","statusCode":404,"timestamp":"2026-09-21T05:37:30.203Z"}
{"level":"error","message":"Request failed Route not found: GET /robots.txt","method":"GET","path":"/robots.txt","stack":"ApiError: Route not found: GET /robots.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:41:34.153Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:41:34 +0000] \"GET /robots.txt HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; robots.txt; +https://openai.com/searchbot\"","timestamp":"2026-09-21T05:41:34.155Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/robots.txt","statusCode":404,"timestamp":"2026-09-21T05:41:34.155Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:41:35.040Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:41:35 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)\"","timestamp":"2026-09-21T05:41:35.042Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:41:35.042Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:43:22.034Z"}
{"level":"http","message":"::ffff:85.217.149.24 - - [21/Sep/2026:05:43:22 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-21T05:43:22.035Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:43:22.035Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:16.736Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:16 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:16.738Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:16.738Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:16.747Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:16 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:16.749Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:16.749Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:17.672Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:17 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:17.673Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:17.673Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:17.691Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:17 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:17.692Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:17.692Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:18.898Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:18 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:18.899Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:18.899Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:18.909Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:18 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:18.912Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:18.912Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:19.661Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:19 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:19.665Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:19.666Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:19.671Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:19 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:19.672Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:19.672Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:20.892Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:20 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:20.895Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:20.895Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:20.939Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:20 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:20.939Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:20.940Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:21.626Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:21 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:21.627Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:21.628Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:21.695Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:21 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:21.696Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:21.696Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:22.870Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:22 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:22.871Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:22.872Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:22.941Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:22 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:22.943Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:22.943Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:23.633Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:23 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:23.634Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:23.634Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:23.675Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:23 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:23.676Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:23.677Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:24.856Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:24 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:24.858Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:24.858Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:24.934Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:24 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:24.935Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:24.936Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:25.597Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:25 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Linux; Android 16; SM-S931B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-21T05:50:25.598Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:25.598Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T05:50:25.665Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:05:50:25 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14_7_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T05:50:25.666Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T05:50:25.667Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T05:56:53.428Z"}
{"level":"error","message":"Request failed Route not found: GET /robots.txt","method":"GET","path":"/robots.txt","stack":"ApiError: Route not found: GET /robots.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T06:20:28.229Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:06:20:28 +0000] \"GET /robots.txt HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)\"","timestamp":"2026-09-21T06:20:28.230Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/robots.txt","statusCode":404,"timestamp":"2026-09-21T06:20:28.230Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T06:20:31.482Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:06:20:31 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)\"","timestamp":"2026-09-21T06:20:31.491Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T06:20:31.491Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T06:26:56.157Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T06:56:54.369Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T07:26:55.558Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T07:56:57.264Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T08:20:53.343Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:08:20:53 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0\"","timestamp":"2026-09-21T08:20:53.344Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T08:20:53.344Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T08:20:54.085Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:08:20:54 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0\"","timestamp":"2026-09-21T08:20:54.086Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T08:20:54.086Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T08:26:52.644Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T08:56:56.040Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T09:26:56.500Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:09:48:33 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T09:48:33.519Z"}
{"executionTimeMs":459,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-21T09:48:33.519Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:09:48:33 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T09:48:33.699Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-21T09:48:33.699Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:09:48:33 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T09:48:33.842Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-21T09:48:33.842Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:09:48:33 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T09:48:33.862Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-21T09:48:33.862Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:09:48:33 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T09:48:33.864Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-21T09:48:33.864Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T09:56:56.562Z"}
{"level":"error","message":"Request failed Route not found: POST /","method":"POST","path":"/","stack":"ApiError: Route not found: POST /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:32.585Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:32 +0000] \"POST / HTTP/1.1\" 404 63 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:32.586Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"POST","path":"/","statusCode":404,"timestamp":"2026-09-21T10:15:32.586Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:32.618Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:32 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:32.619Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T10:15:32.619Z"}
{"level":"error","message":"Request failed Route not found: GET /.ssh/id_rsa","method":"GET","path":"/.ssh/id_rsa","stack":"ApiError: Route not found: GET /.ssh/id_rsa\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.390Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /.ssh/id_rsa HTTP/1.1\" 404 73 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.391Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.ssh/id_rsa","statusCode":404,"timestamp":"2026-09-21T10:15:33.391Z"}
{"level":"error","message":"Request failed Route not found: GET /storage/logs/laravel.log","method":"GET","path":"/storage/logs/laravel.log","stack":"ApiError: Route not found: GET /storage/logs/laravel.log\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.405Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /storage/logs/laravel.log HTTP/1.1\" 404 86 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.405Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/storage/logs/laravel.log","statusCode":404,"timestamp":"2026-09-21T10:15:33.405Z"}
{"level":"error","message":"Request failed Route not found: GET /.ssh/id_ed25519","method":"GET","path":"/.ssh/id_ed25519","stack":"ApiError: Route not found: GET /.ssh/id_ed25519\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.423Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /.ssh/id_ed25519 HTTP/1.1\" 404 77 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.424Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.ssh/id_ed25519","statusCode":404,"timestamp":"2026-09-21T10:15:33.424Z"}
{"level":"error","message":"Request failed Route not found: GET /_vti_pvt/service.pwd","method":"GET","path":"/_vti_pvt/service.pwd","stack":"ApiError: Route not found: GET /_vti_pvt/service.pwd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.613Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /_vti_pvt/service.pwd HTTP/1.1\" 404 82 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.614Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/_vti_pvt/service.pwd","statusCode":404,"timestamp":"2026-09-21T10:15:33.614Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-admin/setup-config.php","method":"GET","path":"/wp-admin/setup-config.php","stack":"ApiError: Route not found: GET /wp-admin/setup-config.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.635Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /wp-admin/setup-config.php HTTP/1.1\" 404 87 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.636Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp-admin/setup-config.php","statusCode":404,"timestamp":"2026-09-21T10:15:33.637Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/HEAD","method":"GET","path":"/.git/HEAD","stack":"ApiError: Route not found: GET /.git/HEAD\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.659Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /.git/HEAD HTTP/1.1\" 404 71 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.660Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.git/HEAD","statusCode":404,"timestamp":"2026-09-21T10:15:33.660Z"}
{"level":"error","message":"Request failed Route not found: GET /docker-compose.yml","method":"GET","path":"/docker-compose.yml","stack":"ApiError: Route not found: GET /docker-compose.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.712Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /docker-compose.yml HTTP/1.1\" 404 80 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.713Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/docker-compose.yml","statusCode":404,"timestamp":"2026-09-21T10:15:33.713Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.836Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.837Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-21T10:15:33.837Z"}
{"level":"error","message":"Request failed Route not found: GET /api/.env","method":"GET","path":"/api/.env","stack":"ApiError: Route not found: GET /api/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-21T10:15:33.865Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /api/.env HTTP/1.1\" 404 70 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.867Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/.env","statusCode":404,"timestamp":"2026-09-21T10:15:33.867Z"}
{"level":"error","message":"Request failed Route not found: GET /phpinfo.php","method":"GET","path":"/phpinfo.php","stack":"ApiError: Route not found: GET /phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.896Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /phpinfo.php HTTP/1.1\" 404 73 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.897Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/phpinfo.php","statusCode":404,"timestamp":"2026-09-21T10:15:33.898Z"}
{"level":"error","message":"Request failed Route not found: GET /.vscode/sftp.json","method":"GET","path":"/.vscode/sftp.json","stack":"ApiError: Route not found: GET /.vscode/sftp.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:33.945Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:33 +0000] \"GET /.vscode/sftp.json HTTP/1.1\" 404 79 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:33.946Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.vscode/sftp.json","statusCode":404,"timestamp":"2026-09-21T10:15:33.947Z"}
{"level":"error","message":"Request failed Route not found: GET /user_secrets.yml","method":"GET","path":"/user_secrets.yml","stack":"ApiError: Route not found: GET /user_secrets.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.061Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /user_secrets.yml HTTP/1.1\" 404 78 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.061Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/user_secrets.yml","statusCode":404,"timestamp":"2026-09-21T10:15:34.062Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.production","method":"GET","path":"/.env.production","stack":"ApiError: Route not found: GET /.env.production\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.094Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /.env.production HTTP/1.1\" 404 77 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.096Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.production","statusCode":404,"timestamp":"2026-09-21T10:15:34.096Z"}
{"level":"error","message":"Request failed Route not found: GET /server.key","method":"GET","path":"/server.key","stack":"ApiError: Route not found: GET /server.key\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.135Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /server.key HTTP/1.1\" 404 72 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.136Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/server.key","statusCode":404,"timestamp":"2026-09-21T10:15:34.136Z"}
{"level":"error","message":"Request failed Route not found: GET /.npmrc","method":"GET","path":"/.npmrc","stack":"ApiError: Route not found: GET /.npmrc\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.179Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /.npmrc HTTP/1.1\" 404 68 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.179Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.npmrc","statusCode":404,"timestamp":"2026-09-21T10:15:34.180Z"}
{"level":"error","message":"Request failed Route not found: GET /secrets.json","method":"GET","path":"/secrets.json","stack":"ApiError: Route not found: GET /secrets.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.283Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /secrets.json HTTP/1.1\" 404 74 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.284Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/secrets.json","statusCode":404,"timestamp":"2026-09-21T10:15:34.285Z"}
{"level":"error","message":"Request failed Route not found: GET /.bash_history","method":"GET","path":"/.bash_history","stack":"ApiError: Route not found: GET /.bash_history\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.325Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /.bash_history HTTP/1.1\" 404 75 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.326Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.bash_history","statusCode":404,"timestamp":"2026-09-21T10:15:34.326Z"}
{"level":"error","message":"Request failed Route not found: GET /database.sql","method":"GET","path":"/database.sql","stack":"ApiError: Route not found: GET /database.sql\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.369Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /database.sql HTTP/1.1\" 404 74 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.370Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/database.sql","statusCode":404,"timestamp":"2026-09-21T10:15:34.371Z"}
{"level":"error","message":"Request failed Route not found: GET /config.php","method":"GET","path":"/config.php","stack":"ApiError: Route not found: GET /config.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.419Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /config.php HTTP/1.1\" 404 72 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.421Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/config.php","statusCode":404,"timestamp":"2026-09-21T10:15:34.421Z"}
{"level":"error","message":"Request failed Route not found: GET /config.xml","method":"GET","path":"/config.xml","stack":"ApiError: Route not found: GET /config.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.507Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /config.xml HTTP/1.1\" 404 72 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.508Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/config.xml","statusCode":404,"timestamp":"2026-09-21T10:15:34.508Z"}
{"level":"error","message":"Request failed Route not found: GET /dump.sql","method":"GET","path":"/dump.sql","stack":"ApiError: Route not found: GET /dump.sql\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.556Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /dump.sql HTTP/1.1\" 404 70 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.557Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/dump.sql","statusCode":404,"timestamp":"2026-09-21T10:15:34.558Z"}
{"level":"error","message":"Request failed Route not found: GET /backup.zip","method":"GET","path":"/backup.zip","stack":"ApiError: Route not found: GET /backup.zip\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.607Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /backup.zip HTTP/1.1\" 404 72 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.609Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/backup.zip","statusCode":404,"timestamp":"2026-09-21T10:15:34.609Z"}
{"level":"error","message":"Request failed Route not found: GET /database_backup.sql","method":"GET","path":"/database_backup.sql","stack":"ApiError: Route not found: GET /database_backup.sql\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.653Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /database_backup.sql HTTP/1.1\" 404 81 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.654Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/database_backup.sql","statusCode":404,"timestamp":"2026-09-21T10:15:34.654Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-config.php","method":"GET","path":"/wp-config.php","stack":"ApiError: Route not found: GET /wp-config.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.732Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /wp-config.php HTTP/1.1\" 404 75 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.734Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp-config.php","statusCode":404,"timestamp":"2026-09-21T10:15:34.734Z"}
{"level":"error","message":"Request failed Route not found: GET /backup.sql","method":"GET","path":"/backup.sql","stack":"ApiError: Route not found: GET /backup.sql\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.786Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /backup.sql HTTP/1.1\" 404 72 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.787Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/backup.sql","statusCode":404,"timestamp":"2026-09-21T10:15:34.788Z"}
{"level":"error","message":"Request failed Route not found: GET /.svn/wc.db","method":"GET","path":"/.svn/wc.db","stack":"ApiError: Route not found: GET /.svn/wc.db\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.842Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /.svn/wc.db HTTP/1.1\" 404 72 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.845Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.svn/wc.db","statusCode":404,"timestamp":"2026-09-21T10:15:34.845Z"}
{"level":"error","message":"Request failed Route not found: GET /actuator/heapdump","method":"GET","path":"/actuator/heapdump","stack":"ApiError: Route not found: GET /actuator/heapdump\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.886Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /actuator/heapdump HTTP/1.1\" 404 79 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.887Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/actuator/heapdump","statusCode":404,"timestamp":"2026-09-21T10:15:34.887Z"}
{"level":"error","message":"Request failed Route not found: GET /backup.tar.gz","method":"GET","path":"/backup.tar.gz","stack":"ApiError: Route not found: GET /backup.tar.gz\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T10:15:34.956Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:10:15:34 +0000] \"GET /backup.tar.gz HTTP/1.1\" 404 75 \"-\" \"Go-http-client/1.1\"","timestamp":"2026-09-21T10:15:34.957Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/backup.tar.gz","statusCode":404,"timestamp":"2026-09-21T10:15:34.957Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T10:26:56.355Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T10:56:54.378Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T11:26:54.696Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T11:56:53.451Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:52 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:52.333Z"}
{"executionTimeMs":397,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-21T12:25:52.334Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:52 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:52.447Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-21T12:25:52.447Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:52 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 298 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:52.503Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-21T12:25:52.503Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:55 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:55.388Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-21T12:25:55.389Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:55 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:55.405Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-21T12:25:55.405Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:55 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:55.421Z"}
{"executionTimeMs":21,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-21T12:25:55.422Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:57 +0000] \"GET /api/campaigns HTTP/1.1\" 200 49884 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:57.219Z"}
{"executionTimeMs":29,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-21T12:25:57.220Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:58 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107 HTTP/1.1\" 200 2111 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:58.026Z"}
{"executionTimeMs":27,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107","statusCode":200,"timestamp":"2026-09-21T12:25:58.026Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:59 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:59.057Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-09-21T12:25:59.060Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:59 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:59.063Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-09-21T12:25:59.063Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:59 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:59.065Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-09-21T12:25:59.066Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:59 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:59.089Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets","statusCode":200,"timestamp":"2026-09-21T12:25:59.089Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:59 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:59.123Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets","statusCode":200,"timestamp":"2026-09-21T12:25:59.123Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:25:59 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:25:59.246Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-09-21T12:25:59.246Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:26:00 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452 HTTP/1.1\" 200 2405 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:26:00.509Z"}
{"executionTimeMs":1260,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452","statusCode":200,"timestamp":"2026-09-21T12:26:00.510Z"}
{"level":"http","message":"::ffff:110.226.115.226 - - [21/Sep/2026:12:26:03 +0000] \"GET /api/youtube/videos HTTP/1.1\" 200 203 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-21T12:26:03.075Z"}
{"executionTimeMs":808,"level":"http","message":"Request completed","method":"GET","path":"/api/youtube/videos","statusCode":200,"timestamp":"2026-09-21T12:26:03.076Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T12:26:57.509Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T12:57:35.706Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T13:27:12.104Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T13:56:55.808Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T14:26:59.860Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T14:56:59.630Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T15:26:58.215Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T15:56:56.450Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-21T16:17:31.555Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [21/Sep/2026:16:17:31 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.7727.102 Safari/537.36\"","timestamp":"2026-09-21T16:17:31.557Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-21T16:17:31.557Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T16:26:56.783Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T16:56:57.901Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T17:26:56.378Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T17:56:56.862Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T18:26:57.620Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T18:57:04.177Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T19:26:59.219Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T19:56:59.422Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T20:26:58.077Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T20:56:53.225Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T21:27:01.910Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T21:56:57.032Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T22:27:05.800Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T22:57:08.545Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T23:26:58.669Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-21T23:56:56.145Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T00:26:57.313Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T00:56:56.029Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config","method":"GET","path":"/.git/config","stack":"ApiError: Route not found: GET /.git/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T01:09:08.673Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:01:09:08 +0000] \"GET /.git/config HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Fedora; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T01:09:08.674Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/.git/config","statusCode":404,"timestamp":"2026-09-22T01:09:08.674Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T01:26:56.849Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config","method":"GET","path":"/.git/config","stack":"ApiError: Route not found: GET /.git/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T01:41:37.699Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:01:41:37 +0000] \"GET /.git/config HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; it-it) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27\"","timestamp":"2026-09-22T01:41:37.701Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.git/config","statusCode":404,"timestamp":"2026-09-22T01:41:37.701Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T01:56:52.997Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T02:26:53.148Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T02:56:52.781Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T03:26:56.858Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T03:56:55.551Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T04:26:54.948Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T04:56:55.921Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T05:26:57.084Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/auth/me/permissions","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:31:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)","statusCode":401,"timestamp":"2026-09-22T05:53:38.708Z"}
{"level":"http","message":"::ffff:110.226.114.232 - - [22/Sep/2026:05:53:38 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T05:53:38.712Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":401,"timestamp":"2026-09-22T05:53:38.712Z"}
{"campaignsSynced":38,"level":"info","message":"Campaign auto-sync completed","timestamp":"2026-09-22T05:56:59.657Z"}
{"level":"info","message":"Skipping already-applied migration: 001_init.sql","timestamp":"2026-09-22T05:57:14.436Z"}
{"level":"info","message":"Skipping already-applied migration: 002_users.sql","timestamp":"2026-09-22T05:57:14.439Z"}
{"level":"info","message":"Skipping already-applied migration: 003_ad_assets_and_view_through.sql","timestamp":"2026-09-22T05:57:14.439Z"}
{"level":"info","message":"Skipping already-applied migration: 004_country_language_mapping.sql","timestamp":"2026-09-22T05:57:14.440Z"}
{"level":"info","message":"Skipping already-applied migration: 005_application_google_ads_customer.sql","timestamp":"2026-09-22T05:57:14.440Z"}
{"level":"info","message":"Skipping already-applied migration: 006_status_lifecycle.sql","timestamp":"2026-09-22T05:57:14.441Z"}
{"level":"info","message":"Skipping already-applied migration: 007_campaign_defaults.sql","timestamp":"2026-09-22T05:57:14.441Z"}
{"level":"info","message":"Skipping already-applied migration: 008_drop_network_settings.sql","timestamp":"2026-09-22T05:57:14.441Z"}
{"level":"info","message":"Skipping already-applied migration: 009_asset_intelligence.sql","timestamp":"2026-09-22T05:57:14.441Z"}
{"level":"info","message":"Skipping already-applied migration: 010_application_image_assets.sql","timestamp":"2026-09-22T05:57:14.442Z"}
{"level":"info","message":"Skipping already-applied migration: 011_ad_group_copy_history.sql","timestamp":"2026-09-22T05:57:14.442Z"}
{"level":"info","message":"Skipping already-applied migration: 012_campaign_metric_snapshots.sql","timestamp":"2026-09-22T05:57:14.442Z"}
{"level":"info","message":"Skipping already-applied migration: 013_ad_group_image_assets.sql","timestamp":"2026-09-22T05:57:14.442Z"}
{"level":"info","message":"Skipping already-applied migration: 014_created_by_user_id.sql","timestamp":"2026-09-22T05:57:14.443Z"}
{"level":"info","message":"Skipping already-applied migration: 015_google_ads_account_candidates.sql","timestamp":"2026-09-22T05:57:14.443Z"}
{"level":"info","message":"Skipping already-applied migration: 016_video_assets.sql","timestamp":"2026-09-22T05:57:14.443Z"}
{"level":"info","message":"Skipping already-applied migration: 017_generated_asset_sets_language.sql","timestamp":"2026-09-22T05:57:14.443Z"}
{"level":"info","message":"Skipping already-applied migration: 018_campaign_templates.sql","timestamp":"2026-09-22T05:57:14.443Z"}
{"level":"info","message":"Skipping already-applied migration: 019_drop_country_language_mapping.sql","timestamp":"2026-09-22T05:57:14.443Z"}
{"level":"info","message":"Skipping already-applied migration: 020_fix_campaign_name_uniqueness.sql","timestamp":"2026-09-22T05:57:14.443Z"}
{"level":"info","message":"Skipping already-applied migration: 021_exclude_removed_from_campaign_name_uniqueness.sql","timestamp":"2026-09-22T05:57:14.443Z"}
{"level":"info","message":"Skipping already-applied migration: 022_ios_platform_support.sql","timestamp":"2026-09-22T05:57:14.444Z"}
{"level":"info","message":"Skipping already-applied migration: 023_user_account_permissions.sql","timestamp":"2026-09-22T05:57:14.444Z"}
{"level":"info","message":"Skipping already-applied migration: 024_google_ads_accounts_sync_metadata.sql","timestamp":"2026-09-22T05:57:14.444Z"}
{"level":"info","message":"Skipping already-applied migration: 025_user_account_permissions_fk_actions.sql","timestamp":"2026-09-22T05:57:14.444Z"}
{"level":"info","message":"Skipping already-applied migration: 026_application_bundle_id.sql","timestamp":"2026-09-22T05:57:14.444Z"}
{"level":"info","message":"Skipping already-applied migration: 027_drop_application_bundle_id.sql","timestamp":"2026-09-22T05:57:14.444Z"}
{"level":"info","message":"Skipping already-applied migration: 028_youtube_connection.sql","timestamp":"2026-09-22T05:57:14.444Z"}
{"level":"info","message":"Skipping already-applied migration: 029_youtube_grant_links.sql","timestamp":"2026-09-22T05:57:14.445Z"}
{"level":"info","message":"Applying migration: 030_youtube_multiple_channels.sql","timestamp":"2026-09-22T05:57:14.445Z"}
{"level":"info","message":"Migration applied: 030_youtube_multiple_channels.sql","timestamp":"2026-09-22T05:57:14.466Z"}
{"level":"info","message":"SIGINT received, shutting down gracefully","timestamp":"2026-09-22T05:57:23.373Z"}
{"level":"info","message":"Server listening on port 8496 [production]","timestamp":"2026-09-22T05:57:31.489Z"}
{"level":"http","message":"::ffff:110.226.114.232 - - [22/Sep/2026:05:57:33 +0000] \"POST /api/auth/login HTTP/1.1\" 200 443 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T05:57:33.982Z"}
{"executionTimeMs":568,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-22T05:57:33.983Z"}
{"level":"http","message":"::ffff:110.226.114.232 - - [22/Sep/2026:05:57:34 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T05:57:34.124Z"}
{"executionTimeMs":11,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-22T05:57:34.127Z"}
{"level":"http","message":"::ffff:110.226.114.232 - - [22/Sep/2026:05:57:34 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T05:57:34.229Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-22T05:57:34.230Z"}
{"level":"http","message":"::ffff:110.226.114.232 - - [22/Sep/2026:05:57:34 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T05:57:34.275Z"}
{"executionTimeMs":16,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-22T05:57:34.275Z"}
{"level":"http","message":"::ffff:110.226.114.232 - - [22/Sep/2026:05:57:34 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T05:57:34.331Z"}
{"executionTimeMs":68,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-22T05:57:34.332Z"}
{"level":"http","message":"::ffff:110.226.114.232 - - [22/Sep/2026:05:57:36 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T05:57:36.821Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-22T05:57:36.824Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T06:22:29.229Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:06:22:29 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io/\" \"Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0\"","timestamp":"2026-09-22T06:22:29.232Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T06:22:29.235Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:39 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:39.483Z"}
{"executionTimeMs":17,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-22T09:01:39.484Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:39 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:39.622Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-09-22T09:01:39.623Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:39 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:39.628Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-09-22T09:01:39.629Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:39 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:39.631Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-09-22T09:01:39.631Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:39 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107 HTTP/1.1\" 200 2111 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:39.644Z"}
{"executionTimeMs":52,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107","statusCode":200,"timestamp":"2026-09-22T09:01:39.645Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:40 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:40.394Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets","statusCode":200,"timestamp":"2026-09-22T09:01:40.396Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:40 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:40.420Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets","statusCode":200,"timestamp":"2026-09-22T09:01:40.420Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:40 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:40.534Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-09-22T09:01:40.537Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:42 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452 HTTP/1.1\" 200 2405 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:42.081Z"}
{"executionTimeMs":1528,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452","statusCode":200,"timestamp":"2026-09-22T09:01:42.081Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:42 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:42.195Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-22T09:01:42.195Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:43 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:43.534Z"}
{"executionTimeMs":13,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-22T09:01:43.540Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/auth/me/permissions","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:31:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)","statusCode":401,"timestamp":"2026-09-22T09:01:55.233Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:55 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:55.234Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":401,"timestamp":"2026-09-22T09:01:55.237Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:58 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:58.615Z"}
{"executionTimeMs":394,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-22T09:01:58.615Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:58 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:58.691Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-22T09:01:58.691Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:58 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:58.803Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-22T09:01:58.806Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:58 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:58.847Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-22T09:01:58.847Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:58 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:58.855Z"}
{"executionTimeMs":15,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-22T09:01:58.855Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:01:59 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:01:59.546Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-22T09:01:59.546Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:02:00 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:02:00.518Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-22T09:02:00.518Z"}
{"channelId":"UCrE_AtWd1JySmjt0vu9zz8w","channelTitle":"vasu yt","level":"info","message":"YouTube channel connected","timestamp":"2026-09-22T09:02:09.602Z","viaGrantLink":false}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:02:09 +0000] \"GET /api/auth/youtube/callback?iss=https://accounts.google.com&code=4/0ATsMZqAZQktKCoBoaq4--sKfkiNxunxkzb7sOOoid9Jb8Dlk0F8WLVjpMbkoxwTq5Vc3xA&scope=https://www.googleapis.com/auth/youtube.readonly HTTP/1.1\" 302 92 \"https://accounts.google.com/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:02:09.604Z"}
{"executionTimeMs":527,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube/callback?iss=https://accounts.google.com&code=4/0ATsMZqAZQktKCoBoaq4--sKfkiNxunxkzb7sOOoid9Jb8Dlk0F8WLVjpMbkoxwTq5Vc3xA&scope=https://www.googleapis.com/auth/youtube.readonly","statusCode":302,"timestamp":"2026-09-22T09:02:09.605Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:02:09 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 283 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:02:09.985Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-22T09:02:09.985Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:02:10 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:02:10.028Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-22T09:02:10.028Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:02:13 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:02:13.856Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-22T09:02:13.857Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:55.687Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:55 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:55.688Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T09:15:55.688Z"}
{"level":"error","message":"Request failed Route not found: POST /","method":"POST","path":"/","stack":"ApiError: Route not found: POST /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:55.803Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:55 +0000] \"POST / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:55.804Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"POST","path":"/","statusCode":404,"timestamp":"2026-09-22T09:15:55.804Z"}
{"level":"error","message":"Request failed Route not found: POST /","method":"POST","path":"/","stack":"ApiError: Route not found: POST /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:55.920Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:55 +0000] \"POST / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:55.922Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"POST","path":"/","statusCode":404,"timestamp":"2026-09-22T09:15:55.922Z"}
{"level":"error","message":"Request failed Route not found: POST /","method":"POST","path":"/","stack":"ApiError: Route not found: POST /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:56.036Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:56 +0000] \"POST / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:56.037Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"POST","path":"/","statusCode":404,"timestamp":"2026-09-22T09:15:56.037Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config","method":"GET","path":"/.git/config","stack":"ApiError: Route not found: GET /.git/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:56.152Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:56 +0000] \"GET /.git/config HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:56.153Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.git/config","statusCode":404,"timestamp":"2026-09-22T09:15:56.153Z"}
{"level":"error","message":"Request failed Route not found: POST /","method":"POST","path":"/","stack":"ApiError: Route not found: POST /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:56.268Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:56 +0000] \"POST / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:56.270Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"POST","path":"/","statusCode":404,"timestamp":"2026-09-22T09:15:56.270Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:56.387Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:56 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:56.388Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-22T09:15:56.388Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.local","method":"GET","path":"/.env.local","stack":"ApiError: Route not found: GET /.env.local\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:56.504Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:56 +0000] \"GET /.env.local HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:56.505Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.local","statusCode":404,"timestamp":"2026-09-22T09:15:56.505Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.production","method":"GET","path":"/.env.production","stack":"ApiError: Route not found: GET /.env.production\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:56.619Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:56 +0000] \"GET /.env.production HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:56.620Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.production","statusCode":404,"timestamp":"2026-09-22T09:15:56.620Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.staging","method":"GET","path":"/.env.staging","stack":"ApiError: Route not found: GET /.env.staging\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:56.735Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:56 +0000] \"GET /.env.staging HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:56.736Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.staging","statusCode":404,"timestamp":"2026-09-22T09:15:56.736Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.development","method":"GET","path":"/.env.development","stack":"ApiError: Route not found: GET /.env.development\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:56.851Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:56 +0000] \"GET /.env.development HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:56.852Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.development","statusCode":404,"timestamp":"2026-09-22T09:15:56.852Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.test","method":"GET","path":"/.env.test","stack":"ApiError: Route not found: GET /.env.test\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:56.966Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:56 +0000] \"GET /.env.test HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:56.967Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.test","statusCode":404,"timestamp":"2026-09-22T09:15:56.967Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.remote","method":"GET","path":"/.env.remote","stack":"ApiError: Route not found: GET /.env.remote\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:57.083Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:57 +0000] \"GET /.env.remote HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:57.085Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.env.remote","statusCode":404,"timestamp":"2026-09-22T09:15:57.086Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.bak","method":"GET","path":"/.env.bak","stack":"ApiError: Route not found: GET /.env.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:57.202Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:57 +0000] \"GET /.env.bak HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:57.203Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.bak","statusCode":404,"timestamp":"2026-09-22T09:15:57.203Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.backup","method":"GET","path":"/.env.backup","stack":"ApiError: Route not found: GET /.env.backup\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:57.319Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:57 +0000] \"GET /.env.backup HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:57.320Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.backup","statusCode":404,"timestamp":"2026-09-22T09:15:57.320Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.save","method":"GET","path":"/.env.save","stack":"ApiError: Route not found: GET /.env.save\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:57.435Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:57 +0000] \"GET /.env.save HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:57.435Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.save","statusCode":404,"timestamp":"2026-09-22T09:15:57.436Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.old","method":"GET","path":"/.env.old","stack":"ApiError: Route not found: GET /.env.old\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:57.551Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:57 +0000] \"GET /.env.old HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:57.552Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.old","statusCode":404,"timestamp":"2026-09-22T09:15:57.552Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.sample","method":"GET","path":"/.env.sample","stack":"ApiError: Route not found: GET /.env.sample\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:57.667Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:57 +0000] \"GET /.env.sample HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:57.668Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.sample","statusCode":404,"timestamp":"2026-09-22T09:15:57.669Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.example","method":"GET","path":"/.env.example","stack":"ApiError: Route not found: GET /.env.example\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:57.783Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:57 +0000] \"GET /.env.example HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:57.784Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.example","statusCode":404,"timestamp":"2026-09-22T09:15:57.784Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.dev","method":"GET","path":"/.env.dev","stack":"ApiError: Route not found: GET /.env.dev\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:57.899Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:57 +0000] \"GET /.env.dev HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:57.901Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.dev","statusCode":404,"timestamp":"2026-09-22T09:15:57.901Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.prod","method":"GET","path":"/.env.prod","stack":"ApiError: Route not found: GET /.env.prod\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:58.015Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:58 +0000] \"GET /.env.prod HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:58.017Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.prod","statusCode":404,"timestamp":"2026-09-22T09:15:58.017Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.stage","method":"GET","path":"/.env.stage","stack":"ApiError: Route not found: GET /.env.stage\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:58.132Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:58 +0000] \"GET /.env.stage HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:58.134Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.stage","statusCode":404,"timestamp":"2026-09-22T09:15:58.134Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.ci","method":"GET","path":"/.env.ci","stack":"ApiError: Route not found: GET /.env.ci\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:58.248Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:58 +0000] \"GET /.env.ci HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:58.249Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.ci","statusCode":404,"timestamp":"2026-09-22T09:15:58.249Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.docker","method":"GET","path":"/.env.docker","stack":"ApiError: Route not found: GET /.env.docker\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:58.364Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:58 +0000] \"GET /.env.docker HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:58.365Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.docker","statusCode":404,"timestamp":"2026-09-22T09:15:58.365Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.live","method":"GET","path":"/.env.live","stack":"ApiError: Route not found: GET /.env.live\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:58.479Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:58 +0000] \"GET /.env.live HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:58.481Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.live","statusCode":404,"timestamp":"2026-09-22T09:15:58.481Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.preprod","method":"GET","path":"/.env.preprod","stack":"ApiError: Route not found: GET /.env.preprod\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:58.595Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:58 +0000] \"GET /.env.preprod HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:58.596Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.preprod","statusCode":404,"timestamp":"2026-09-22T09:15:58.596Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.uat","method":"GET","path":"/.env.uat","stack":"ApiError: Route not found: GET /.env.uat\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:58.711Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:58 +0000] \"GET /.env.uat HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:58.712Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.uat","statusCode":404,"timestamp":"2026-09-22T09:15:58.712Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.dist","method":"GET","path":"/.env.dist","stack":"ApiError: Route not found: GET /.env.dist\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:58.826Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:58 +0000] \"GET /.env.dist HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:58.829Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.env.dist","statusCode":404,"timestamp":"2026-09-22T09:15:58.829Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.swp","method":"GET","path":"/.env.swp","stack":"ApiError: Route not found: GET /.env.swp\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:58.944Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:58 +0000] \"GET /.env.swp HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:58.948Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/.env.swp","statusCode":404,"timestamp":"2026-09-22T09:15:58.948Z"}
{"level":"error","message":"Request failed Route not found: GET /.env~","method":"GET","path":"/.env~","stack":"ApiError: Route not found: GET /.env~\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:59.064Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:59 +0000] \"GET /.env~ HTTP/1.1\" 404 67 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:59.066Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/.env~","statusCode":404,"timestamp":"2026-09-22T09:15:59.069Z"}
{"level":"error","message":"Request failed Route not found: GET /.env1","method":"GET","path":"/.env1","stack":"ApiError: Route not found: GET /.env1\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:59.180Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:59 +0000] \"GET /.env1 HTTP/1.1\" 404 67 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:59.182Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.env1","statusCode":404,"timestamp":"2026-09-22T09:15:59.183Z"}
{"level":"error","message":"Request failed Route not found: GET /.env2","method":"GET","path":"/.env2","stack":"ApiError: Route not found: GET /.env2\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:59.297Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:59 +0000] \"GET /.env2 HTTP/1.1\" 404 67 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:59.299Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.env2","statusCode":404,"timestamp":"2026-09-22T09:15:59.300Z"}
{"level":"error","message":"Request failed Route not found: GET /.env_copy","method":"GET","path":"/.env_copy","stack":"ApiError: Route not found: GET /.env_copy\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:59.413Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:59 +0000] \"GET /.env_copy HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:59.417Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/.env_copy","statusCode":404,"timestamp":"2026-09-22T09:15:59.417Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.txt","method":"GET","path":"/.env.txt","stack":"ApiError: Route not found: GET /.env.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:59.533Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:59 +0000] \"GET /.env.txt HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:59.537Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/.env.txt","statusCode":404,"timestamp":"2026-09-22T09:15:59.537Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.json","method":"GET","path":"/.env.json","stack":"ApiError: Route not found: GET /.env.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:59.649Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:59 +0000] \"GET /.env.json HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:59.651Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/.env.json","statusCode":404,"timestamp":"2026-09-22T09:15:59.652Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.yaml","method":"GET","path":"/.env.yaml","stack":"ApiError: Route not found: GET /.env.yaml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:59.767Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:59 +0000] \"GET /.env.yaml HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:59.768Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.yaml","statusCode":404,"timestamp":"2026-09-22T09:15:59.768Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.yml","method":"GET","path":"/.env.yml","stack":"ApiError: Route not found: GET /.env.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:59.882Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:59 +0000] \"GET /.env.yml HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:59.883Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.yml","statusCode":404,"timestamp":"2026-09-22T09:15:59.883Z"}
{"level":"error","message":"Request failed Route not found: GET /app/.env","method":"GET","path":"/app/.env","stack":"ApiError: Route not found: GET /app/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:15:59.998Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:15:59 +0000] \"GET /app/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:15:59.999Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/app/.env","statusCode":404,"timestamp":"2026-09-22T09:15:59.999Z"}
{"level":"error","message":"Request failed Route not found: GET /apps/.env","method":"GET","path":"/apps/.env","stack":"ApiError: Route not found: GET /apps/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:00.117Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:00 +0000] \"GET /apps/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:00.119Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/apps/.env","statusCode":404,"timestamp":"2026-09-22T09:16:00.119Z"}
{"level":"error","message":"Request failed Route not found: GET /api/.env","method":"GET","path":"/api/.env","stack":"ApiError: Route not found: GET /api/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-22T09:16:00.233Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:00 +0000] \"GET /api/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:00.236Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/.env","statusCode":404,"timestamp":"2026-09-22T09:16:00.237Z"}
{"level":"error","message":"Request failed Route not found: GET /web/.env","method":"GET","path":"/web/.env","stack":"ApiError: Route not found: GET /web/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:00.351Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:00 +0000] \"GET /web/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:00.353Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/web/.env","statusCode":404,"timestamp":"2026-09-22T09:16:00.353Z"}
{"level":"error","message":"Request failed Route not found: GET /site/.env","method":"GET","path":"/site/.env","stack":"ApiError: Route not found: GET /site/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:00.468Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:00 +0000] \"GET /site/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:00.473Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/site/.env","statusCode":404,"timestamp":"2026-09-22T09:16:00.473Z"}
{"level":"error","message":"Request failed Route not found: GET /public/.env","method":"GET","path":"/public/.env","stack":"ApiError: Route not found: GET /public/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:00.589Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:00 +0000] \"GET /public/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:00.591Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/public/.env","statusCode":404,"timestamp":"2026-09-22T09:16:00.591Z"}
{"level":"error","message":"Request failed Route not found: GET /admin/.env","method":"GET","path":"/admin/.env","stack":"ApiError: Route not found: GET /admin/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:00.709Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:00 +0000] \"GET /admin/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:00.712Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/admin/.env","statusCode":404,"timestamp":"2026-09-22T09:16:00.713Z"}
{"level":"error","message":"Request failed Route not found: GET /backend/.env","method":"GET","path":"/backend/.env","stack":"ApiError: Route not found: GET /backend/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:00.828Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:00 +0000] \"GET /backend/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:00.830Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/backend/.env","statusCode":404,"timestamp":"2026-09-22T09:16:00.830Z"}
{"level":"error","message":"Request failed Route not found: GET /server/.env","method":"GET","path":"/server/.env","stack":"ApiError: Route not found: GET /server/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:00.944Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:00 +0000] \"GET /server/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:00.947Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/server/.env","statusCode":404,"timestamp":"2026-09-22T09:16:00.947Z"}
{"level":"error","message":"Request failed Route not found: GET /frontend/.env","method":"GET","path":"/frontend/.env","stack":"ApiError: Route not found: GET /frontend/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:01.061Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:01 +0000] \"GET /frontend/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:01.063Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/frontend/.env","statusCode":404,"timestamp":"2026-09-22T09:16:01.064Z"}
{"level":"error","message":"Request failed Route not found: GET /src/.env","method":"GET","path":"/src/.env","stack":"ApiError: Route not found: GET /src/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:01.178Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:01 +0000] \"GET /src/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:01.179Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/src/.env","statusCode":404,"timestamp":"2026-09-22T09:16:01.179Z"}
{"level":"error","message":"Request failed Route not found: GET /core/.env","method":"GET","path":"/core/.env","stack":"ApiError: Route not found: GET /core/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:01.298Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:01 +0000] \"GET /core/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:01.301Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/core/.env","statusCode":404,"timestamp":"2026-09-22T09:16:01.301Z"}
{"level":"error","message":"Request failed Route not found: GET /core/app/.env","method":"GET","path":"/core/app/.env","stack":"ApiError: Route not found: GET /core/app/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:01.419Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:01 +0000] \"GET /core/app/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:01.421Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/core/app/.env","statusCode":404,"timestamp":"2026-09-22T09:16:01.421Z"}
{"level":"error","message":"Request failed Route not found: GET /config/.env","method":"GET","path":"/config/.env","stack":"ApiError: Route not found: GET /config/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:01.538Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:01 +0000] \"GET /config/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:01.540Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/config/.env","statusCode":404,"timestamp":"2026-09-22T09:16:01.540Z"}
{"level":"error","message":"Request failed Route not found: GET /private/.env","method":"GET","path":"/private/.env","stack":"ApiError: Route not found: GET /private/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:01.655Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:01 +0000] \"GET /private/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:01.658Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/private/.env","statusCode":404,"timestamp":"2026-09-22T09:16:01.658Z"}
{"level":"error","message":"Request failed Route not found: GET /application/.env","method":"GET","path":"/application/.env","stack":"ApiError: Route not found: GET /application/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:01.779Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:01 +0000] \"GET /application/.env HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:01.783Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/application/.env","statusCode":404,"timestamp":"2026-09-22T09:16:01.784Z"}
{"level":"error","message":"Request failed Route not found: GET /bootstrap/.env","method":"GET","path":"/bootstrap/.env","stack":"ApiError: Route not found: GET /bootstrap/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:01.898Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:01 +0000] \"GET /bootstrap/.env HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:01.904Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/bootstrap/.env","statusCode":404,"timestamp":"2026-09-22T09:16:01.905Z"}
{"level":"error","message":"Request failed Route not found: GET /database/.env","method":"GET","path":"/database/.env","stack":"ApiError: Route not found: GET /database/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:02.020Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:02 +0000] \"GET /database/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:02.021Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/database/.env","statusCode":404,"timestamp":"2026-09-22T09:16:02.022Z"}
{"level":"error","message":"Request failed Route not found: GET /storage/.env","method":"GET","path":"/storage/.env","stack":"ApiError: Route not found: GET /storage/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:02.136Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:02 +0000] \"GET /storage/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:02.138Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/storage/.env","statusCode":404,"timestamp":"2026-09-22T09:16:02.138Z"}
{"level":"error","message":"Request failed Route not found: GET /var/www/.env","method":"GET","path":"/var/www/.env","stack":"ApiError: Route not found: GET /var/www/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:02.253Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:02 +0000] \"GET /var/www/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:02.256Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/var/www/.env","statusCode":404,"timestamp":"2026-09-22T09:16:02.262Z"}
{"level":"error","message":"Request failed Route not found: GET /var/www/html/.env","method":"GET","path":"/var/www/html/.env","stack":"ApiError: Route not found: GET /var/www/html/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:02.369Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:02 +0000] \"GET /var/www/html/.env HTTP/1.1\" 404 79 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:02.373Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/var/www/html/.env","statusCode":404,"timestamp":"2026-09-22T09:16:02.374Z"}
{"level":"error","message":"Request failed Route not found: GET /current/.env","method":"GET","path":"/current/.env","stack":"ApiError: Route not found: GET /current/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:02.488Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:02 +0000] \"GET /current/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:02.492Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/current/.env","statusCode":404,"timestamp":"2026-09-22T09:16:02.493Z"}
{"level":"error","message":"Request failed Route not found: GET /release/.env","method":"GET","path":"/release/.env","stack":"ApiError: Route not found: GET /release/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:02.610Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:02 +0000] \"GET /release/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:02.612Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/release/.env","statusCode":404,"timestamp":"2026-09-22T09:16:02.613Z"}
{"level":"error","message":"Request failed Route not found: GET /releases/.env","method":"GET","path":"/releases/.env","stack":"ApiError: Route not found: GET /releases/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:02.730Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:02 +0000] \"GET /releases/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:02.737Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/releases/.env","statusCode":404,"timestamp":"2026-09-22T09:16:02.737Z"}
{"level":"error","message":"Request failed Route not found: GET /shared/.env","method":"GET","path":"/shared/.env","stack":"ApiError: Route not found: GET /shared/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:02.851Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:02 +0000] \"GET /shared/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:02.855Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/shared/.env","statusCode":404,"timestamp":"2026-09-22T09:16:02.855Z"}
{"level":"error","message":"Request failed Route not found: GET /deploy/.env","method":"GET","path":"/deploy/.env","stack":"ApiError: Route not found: GET /deploy/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:02.967Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:02 +0000] \"GET /deploy/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:02.968Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/deploy/.env","statusCode":404,"timestamp":"2026-09-22T09:16:02.968Z"}
{"level":"error","message":"Request failed Route not found: GET /build/.env","method":"GET","path":"/build/.env","stack":"ApiError: Route not found: GET /build/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:03.084Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:03 +0000] \"GET /build/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:03.085Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/build/.env","statusCode":404,"timestamp":"2026-09-22T09:16:03.086Z"}
{"level":"error","message":"Request failed Route not found: GET /dist/.env","method":"GET","path":"/dist/.env","stack":"ApiError: Route not found: GET /dist/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:03.204Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:03 +0000] \"GET /dist/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:03.207Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/dist/.env","statusCode":404,"timestamp":"2026-09-22T09:16:03.208Z"}
{"level":"error","message":"Request failed Route not found: GET /public_html/.env","method":"GET","path":"/public_html/.env","stack":"ApiError: Route not found: GET /public_html/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:03.327Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:03 +0000] \"GET /public_html/.env HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:03.328Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/public_html/.env","statusCode":404,"timestamp":"2026-09-22T09:16:03.328Z"}
{"level":"error","message":"Request failed Route not found: GET /htdocs/.env","method":"GET","path":"/htdocs/.env","stack":"ApiError: Route not found: GET /htdocs/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:03.443Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:03 +0000] \"GET /htdocs/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:03.445Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/htdocs/.env","statusCode":404,"timestamp":"2026-09-22T09:16:03.445Z"}
{"level":"error","message":"Request failed Route not found: GET /www/.env","method":"GET","path":"/www/.env","stack":"ApiError: Route not found: GET /www/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:03.564Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:03 +0000] \"GET /www/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:03.567Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/www/.env","statusCode":404,"timestamp":"2026-09-22T09:16:03.567Z"}
{"level":"error","message":"Request failed Route not found: GET /html/.env","method":"GET","path":"/html/.env","stack":"ApiError: Route not found: GET /html/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:03.685Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:03 +0000] \"GET /html/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:03.690Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/html/.env","statusCode":404,"timestamp":"2026-09-22T09:16:03.692Z"}
{"level":"error","message":"Request failed Route not found: GET /live/.env","method":"GET","path":"/live/.env","stack":"ApiError: Route not found: GET /live/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:03.803Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:03 +0000] \"GET /live/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:03.822Z"}
{"executionTimeMs":20,"level":"http","message":"Request completed","method":"GET","path":"/live/.env","statusCode":404,"timestamp":"2026-09-22T09:16:03.823Z"}
{"level":"error","message":"Request failed Route not found: GET /prod/.env","method":"GET","path":"/prod/.env","stack":"ApiError: Route not found: GET /prod/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:03.924Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:03 +0000] \"GET /prod/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:03.926Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/prod/.env","statusCode":404,"timestamp":"2026-09-22T09:16:03.926Z"}
{"level":"error","message":"Request failed Route not found: GET /dev/.env","method":"GET","path":"/dev/.env","stack":"ApiError: Route not found: GET /dev/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:04.045Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:04 +0000] \"GET /dev/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:04.048Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/dev/.env","statusCode":404,"timestamp":"2026-09-22T09:16:04.048Z"}
{"level":"error","message":"Request failed Route not found: GET /staging/.env","method":"GET","path":"/staging/.env","stack":"ApiError: Route not found: GET /staging/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:04.165Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:04 +0000] \"GET /staging/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:04.167Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/staging/.env","statusCode":404,"timestamp":"2026-09-22T09:16:04.167Z"}
{"level":"error","message":"Request failed Route not found: GET /opt/.env","method":"GET","path":"/opt/.env","stack":"ApiError: Route not found: GET /opt/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:04.283Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:04 +0000] \"GET /opt/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:04.285Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/opt/.env","statusCode":404,"timestamp":"2026-09-22T09:16:04.285Z"}
{"level":"error","message":"Request failed Route not found: GET /laravel/.env","method":"GET","path":"/laravel/.env","stack":"ApiError: Route not found: GET /laravel/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:04.401Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:04 +0000] \"GET /laravel/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:04.402Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/laravel/.env","statusCode":404,"timestamp":"2026-09-22T09:16:04.406Z"}
{"level":"error","message":"Request failed Route not found: GET /symfony/.env","method":"GET","path":"/symfony/.env","stack":"ApiError: Route not found: GET /symfony/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:04.520Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:04 +0000] \"GET /symfony/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:04.522Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/symfony/.env","statusCode":404,"timestamp":"2026-09-22T09:16:04.522Z"}
{"level":"error","message":"Request failed Route not found: GET /wordpress/.env","method":"GET","path":"/wordpress/.env","stack":"ApiError: Route not found: GET /wordpress/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:04.638Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:04 +0000] \"GET /wordpress/.env HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:04.641Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/wordpress/.env","statusCode":404,"timestamp":"2026-09-22T09:16:04.641Z"}
{"level":"error","message":"Request failed Route not found: GET /wp/.env","method":"GET","path":"/wp/.env","stack":"ApiError: Route not found: GET /wp/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:04.756Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:04 +0000] \"GET /wp/.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:04.758Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/wp/.env","statusCode":404,"timestamp":"2026-09-22T09:16:04.759Z"}
{"level":"error","message":"Request failed Route not found: GET /cms/.env","method":"GET","path":"/cms/.env","stack":"ApiError: Route not found: GET /cms/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:04.875Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:04 +0000] \"GET /cms/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:04.877Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/cms/.env","statusCode":404,"timestamp":"2026-09-22T09:16:04.877Z"}
{"level":"error","message":"Request failed Route not found: GET /drupal/.env","method":"GET","path":"/drupal/.env","stack":"ApiError: Route not found: GET /drupal/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:04.991Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:04 +0000] \"GET /drupal/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:04.993Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/drupal/.env","statusCode":404,"timestamp":"2026-09-22T09:16:04.993Z"}
{"level":"error","message":"Request failed Route not found: GET /joomla/.env","method":"GET","path":"/joomla/.env","stack":"ApiError: Route not found: GET /joomla/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:05.114Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:05 +0000] \"GET /joomla/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:05.115Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/joomla/.env","statusCode":404,"timestamp":"2026-09-22T09:16:05.116Z"}
{"level":"error","message":"Request failed Route not found: GET /magento/.env","method":"GET","path":"/magento/.env","stack":"ApiError: Route not found: GET /magento/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:05.235Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:05 +0000] \"GET /magento/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:05.237Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/magento/.env","statusCode":404,"timestamp":"2026-09-22T09:16:05.237Z"}
{"level":"error","message":"Request failed Route not found: GET /shopify/.env","method":"GET","path":"/shopify/.env","stack":"ApiError: Route not found: GET /shopify/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:05.353Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:05 +0000] \"GET /shopify/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:05.355Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/shopify/.env","statusCode":404,"timestamp":"2026-09-22T09:16:05.355Z"}
{"level":"error","message":"Request failed Route not found: GET /prestashop/.env","method":"GET","path":"/prestashop/.env","stack":"ApiError: Route not found: GET /prestashop/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:05.472Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:05 +0000] \"GET /prestashop/.env HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:05.477Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/prestashop/.env","statusCode":404,"timestamp":"2026-09-22T09:16:05.477Z"}
{"level":"error","message":"Request failed Route not found: GET /codeigniter/.env","method":"GET","path":"/codeigniter/.env","stack":"ApiError: Route not found: GET /codeigniter/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:05.595Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:05 +0000] \"GET /codeigniter/.env HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:05.596Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/codeigniter/.env","statusCode":404,"timestamp":"2026-09-22T09:16:05.600Z"}
{"level":"error","message":"Request failed Route not found: GET /cakephp/.env","method":"GET","path":"/cakephp/.env","stack":"ApiError: Route not found: GET /cakephp/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:05.715Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:05 +0000] \"GET /cakephp/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:05.720Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/cakephp/.env","statusCode":404,"timestamp":"2026-09-22T09:16:05.720Z"}
{"level":"error","message":"Request failed Route not found: GET /zend/.env","method":"GET","path":"/zend/.env","stack":"ApiError: Route not found: GET /zend/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:05.837Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:05 +0000] \"GET /zend/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:05.841Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/zend/.env","statusCode":404,"timestamp":"2026-09-22T09:16:05.845Z"}
{"level":"error","message":"Request failed Route not found: GET /yii/.env","method":"GET","path":"/yii/.env","stack":"ApiError: Route not found: GET /yii/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:05.956Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:05 +0000] \"GET /yii/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:05.961Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/yii/.env","statusCode":404,"timestamp":"2026-09-22T09:16:05.964Z"}
{"level":"error","message":"Request failed Route not found: GET /laravel5/.env","method":"GET","path":"/laravel5/.env","stack":"ApiError: Route not found: GET /laravel5/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:06.076Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:06 +0000] \"GET /laravel5/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:06.080Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/laravel5/.env","statusCode":404,"timestamp":"2026-09-22T09:16:06.081Z"}
{"level":"error","message":"Request failed Route not found: GET /v1/.env","method":"GET","path":"/v1/.env","stack":"ApiError: Route not found: GET /v1/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:06.200Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:06 +0000] \"GET /v1/.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:06.204Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/v1/.env","statusCode":404,"timestamp":"2026-09-22T09:16:06.207Z"}
{"level":"error","message":"Request failed Route not found: GET /v2/.env","method":"GET","path":"/v2/.env","stack":"ApiError: Route not found: GET /v2/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:06.323Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:06 +0000] \"GET /v2/.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:06.327Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/v2/.env","statusCode":404,"timestamp":"2026-09-22T09:16:06.331Z"}
{"level":"error","message":"Request failed Route not found: GET /v3/.env","method":"GET","path":"/v3/.env","stack":"ApiError: Route not found: GET /v3/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:06.449Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:06 +0000] \"GET /v3/.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:06.453Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/v3/.env","statusCode":404,"timestamp":"2026-09-22T09:16:06.454Z"}
{"level":"error","message":"Request failed Route not found: GET /api/v1/.env","method":"GET","path":"/api/v1/.env","stack":"ApiError: Route not found: GET /api/v1/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-22T09:16:06.574Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:06 +0000] \"GET /api/v1/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:06.577Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/v1/.env","statusCode":404,"timestamp":"2026-09-22T09:16:06.579Z"}
{"level":"error","message":"Request failed Route not found: GET /api/v2/.env","method":"GET","path":"/api/v2/.env","stack":"ApiError: Route not found: GET /api/v2/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-22T09:16:06.692Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:06 +0000] \"GET /api/v2/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:06.695Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/v2/.env","statusCode":404,"timestamp":"2026-09-22T09:16:06.695Z"}
{"level":"error","message":"Request failed Route not found: GET /rest/.env","method":"GET","path":"/rest/.env","stack":"ApiError: Route not found: GET /rest/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:06.818Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:06 +0000] \"GET /rest/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:06.821Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/rest/.env","statusCode":404,"timestamp":"2026-09-22T09:16:06.822Z"}
{"level":"error","message":"Request failed Route not found: GET /graphql/.env","method":"GET","path":"/graphql/.env","stack":"ApiError: Route not found: GET /graphql/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:06.938Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:06 +0000] \"GET /graphql/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:06.943Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/graphql/.env","statusCode":404,"timestamp":"2026-09-22T09:16:06.943Z"}
{"level":"error","message":"Request failed Route not found: GET /gateway/.env","method":"GET","path":"/gateway/.env","stack":"ApiError: Route not found: GET /gateway/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:07.061Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:07 +0000] \"GET /gateway/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:07.066Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/gateway/.env","statusCode":404,"timestamp":"2026-09-22T09:16:07.067Z"}
{"level":"error","message":"Request failed Route not found: GET /microservice/.env","method":"GET","path":"/microservice/.env","stack":"ApiError: Route not found: GET /microservice/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:07.181Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:07 +0000] \"GET /microservice/.env HTTP/1.1\" 404 79 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:07.184Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/microservice/.env","statusCode":404,"timestamp":"2026-09-22T09:16:07.184Z"}
{"level":"error","message":"Request failed Route not found: GET /service/.env","method":"GET","path":"/service/.env","stack":"ApiError: Route not found: GET /service/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:07.298Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:07 +0000] \"GET /service/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:07.301Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/service/.env","statusCode":404,"timestamp":"2026-09-22T09:16:07.304Z"}
{"level":"error","message":"Request failed Route not found: GET /api/v3/.env","method":"GET","path":"/api/v3/.env","stack":"ApiError: Route not found: GET /api/v3/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-22T09:16:07.419Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:07 +0000] \"GET /api/v3/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:07.422Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/v3/.env","statusCode":404,"timestamp":"2026-09-22T09:16:07.422Z"}
{"level":"error","message":"Request failed Route not found: GET /api/dev/.env","method":"GET","path":"/api/dev/.env","stack":"ApiError: Route not found: GET /api/dev/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-22T09:16:07.537Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:07 +0000] \"GET /api/dev/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:07.538Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/dev/.env","statusCode":404,"timestamp":"2026-09-22T09:16:07.539Z"}
{"level":"error","message":"Request failed Route not found: GET /api/staging/.env","method":"GET","path":"/api/staging/.env","stack":"ApiError: Route not found: GET /api/staging/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-22T09:16:07.891Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:07 +0000] \"GET /api/staging/.env HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:07.892Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/staging/.env","statusCode":404,"timestamp":"2026-09-22T09:16:07.892Z"}
{"level":"error","message":"Request failed Route not found: GET /vendor/.env","method":"GET","path":"/vendor/.env","stack":"ApiError: Route not found: GET /vendor/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:08.009Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:08 +0000] \"GET /vendor/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:08.010Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/vendor/.env","statusCode":404,"timestamp":"2026-09-22T09:16:08.010Z"}
{"level":"error","message":"Request failed Route not found: GET /lib/.env","method":"GET","path":"/lib/.env","stack":"ApiError: Route not found: GET /lib/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:08.124Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:08 +0000] \"GET /lib/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:08.125Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/lib/.env","statusCode":404,"timestamp":"2026-09-22T09:16:08.125Z"}
{"level":"error","message":"Request failed Route not found: GET /resources/.env","method":"GET","path":"/resources/.env","stack":"ApiError: Route not found: GET /resources/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:08.240Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:08 +0000] \"GET /resources/.env HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:08.241Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/resources/.env","statusCode":404,"timestamp":"2026-09-22T09:16:08.241Z"}
{"level":"error","message":"Request failed Route not found: GET /assets/.env","method":"GET","path":"/assets/.env","stack":"ApiError: Route not found: GET /assets/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:08.355Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:08 +0000] \"GET /assets/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:08.356Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/assets/.env","statusCode":404,"timestamp":"2026-09-22T09:16:08.356Z"}
{"level":"error","message":"Request failed Route not found: GET /uploads/.env","method":"GET","path":"/uploads/.env","stack":"ApiError: Route not found: GET /uploads/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:08.472Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:08 +0000] \"GET /uploads/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:08.475Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/uploads/.env","statusCode":404,"timestamp":"2026-09-22T09:16:08.476Z"}
{"level":"error","message":"Request failed Route not found: GET /internal/.env","method":"GET","path":"/internal/.env","stack":"ApiError: Route not found: GET /internal/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:08.590Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:08 +0000] \"GET /internal/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:08.591Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/internal/.env","statusCode":404,"timestamp":"2026-09-22T09:16:08.591Z"}
{"level":"error","message":"Request failed Route not found: GET /tools/.env","method":"GET","path":"/tools/.env","stack":"ApiError: Route not found: GET /tools/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:08.707Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:08 +0000] \"GET /tools/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:08.708Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/tools/.env","statusCode":404,"timestamp":"2026-09-22T09:16:08.709Z"}
{"level":"error","message":"Request failed Route not found: GET /scripts/.env","method":"GET","path":"/scripts/.env","stack":"ApiError: Route not found: GET /scripts/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:08.823Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:08 +0000] \"GET /scripts/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:08.824Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/scripts/.env","statusCode":404,"timestamp":"2026-09-22T09:16:08.824Z"}
{"level":"error","message":"Request failed Route not found: GET /bin/.env","method":"GET","path":"/bin/.env","stack":"ApiError: Route not found: GET /bin/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:08.938Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:08 +0000] \"GET /bin/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:08.939Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/bin/.env","statusCode":404,"timestamp":"2026-09-22T09:16:08.939Z"}
{"level":"error","message":"Request failed Route not found: GET /sbin/.env","method":"GET","path":"/sbin/.env","stack":"ApiError: Route not found: GET /sbin/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:09.054Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:09 +0000] \"GET /sbin/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:09.056Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/sbin/.env","statusCode":404,"timestamp":"2026-09-22T09:16:09.056Z"}
{"level":"error","message":"Request failed Route not found: GET /local/.env","method":"GET","path":"/local/.env","stack":"ApiError: Route not found: GET /local/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:09.170Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:09 +0000] \"GET /local/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:09.171Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/local/.env","statusCode":404,"timestamp":"2026-09-22T09:16:09.171Z"}
{"level":"error","message":"Request failed Route not found: GET /portal/.env","method":"GET","path":"/portal/.env","stack":"ApiError: Route not found: GET /portal/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:09.286Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:09 +0000] \"GET /portal/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:09.288Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/portal/.env","statusCode":404,"timestamp":"2026-09-22T09:16:09.288Z"}
{"level":"error","message":"Request failed Route not found: GET /dashboard/.env","method":"GET","path":"/dashboard/.env","stack":"ApiError: Route not found: GET /dashboard/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:09.402Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:09 +0000] \"GET /dashboard/.env HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:09.404Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/dashboard/.env","statusCode":404,"timestamp":"2026-09-22T09:16:09.404Z"}
{"level":"error","message":"Request failed Route not found: GET /panel/.env","method":"GET","path":"/panel/.env","stack":"ApiError: Route not found: GET /panel/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:09.518Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:09 +0000] \"GET /panel/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:09.519Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/panel/.env","statusCode":404,"timestamp":"2026-09-22T09:16:09.519Z"}
{"level":"error","message":"Request failed Route not found: GET /crm/.env","method":"GET","path":"/crm/.env","stack":"ApiError: Route not found: GET /crm/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:09.635Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:09 +0000] \"GET /crm/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:09.638Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/crm/.env","statusCode":404,"timestamp":"2026-09-22T09:16:09.639Z"}
{"level":"error","message":"Request failed Route not found: GET /erp/.env","method":"GET","path":"/erp/.env","stack":"ApiError: Route not found: GET /erp/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:09.753Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:09 +0000] \"GET /erp/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:09.755Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/erp/.env","statusCode":404,"timestamp":"2026-09-22T09:16:09.755Z"}
{"level":"error","message":"Request failed Route not found: GET /shop/.env","method":"GET","path":"/shop/.env","stack":"ApiError: Route not found: GET /shop/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:09.869Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:09 +0000] \"GET /shop/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:09.870Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/shop/.env","statusCode":404,"timestamp":"2026-09-22T09:16:09.870Z"}
{"level":"error","message":"Request failed Route not found: GET /store/.env","method":"GET","path":"/store/.env","stack":"ApiError: Route not found: GET /store/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:09.985Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:09 +0000] \"GET /store/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:09.987Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/store/.env","statusCode":404,"timestamp":"2026-09-22T09:16:09.987Z"}
{"level":"error","message":"Request failed Route not found: GET /saas/.env","method":"GET","path":"/saas/.env","stack":"ApiError: Route not found: GET /saas/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:10.102Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:10 +0000] \"GET /saas/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:10.103Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/saas/.env","statusCode":404,"timestamp":"2026-09-22T09:16:10.103Z"}
{"level":"error","message":"Request failed Route not found: GET /client/.env","method":"GET","path":"/client/.env","stack":"ApiError: Route not found: GET /client/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:10.217Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:10 +0000] \"GET /client/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:10.219Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/client/.env","statusCode":404,"timestamp":"2026-09-22T09:16:10.219Z"}
{"level":"error","message":"Request failed Route not found: GET /project/.env","method":"GET","path":"/project/.env","stack":"ApiError: Route not found: GET /project/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:10.332Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:10 +0000] \"GET /project/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:10.333Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/project/.env","statusCode":404,"timestamp":"2026-09-22T09:16:10.333Z"}
{"level":"error","message":"Request failed Route not found: GET /admin-panel/.env","method":"GET","path":"/admin-panel/.env","stack":"ApiError: Route not found: GET /admin-panel/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:10.447Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:10 +0000] \"GET /admin-panel/.env HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:10.452Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/admin-panel/.env","statusCode":404,"timestamp":"2026-09-22T09:16:10.452Z"}
{"level":"error","message":"Request failed Route not found: GET /control-panel/.env","method":"GET","path":"/control-panel/.env","stack":"ApiError: Route not found: GET /control-panel/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:10.566Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:10 +0000] \"GET /control-panel/.env HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:10.567Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/control-panel/.env","statusCode":404,"timestamp":"2026-09-22T09:16:10.567Z"}
{"level":"error","message":"Request failed Route not found: GET /user-panel/.env","method":"GET","path":"/user-panel/.env","stack":"ApiError: Route not found: GET /user-panel/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:10.681Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:10 +0000] \"GET /user-panel/.env HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:10.682Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/user-panel/.env","statusCode":404,"timestamp":"2026-09-22T09:16:10.683Z"}
{"level":"error","message":"Request failed Route not found: GET /node/.env","method":"GET","path":"/node/.env","stack":"ApiError: Route not found: GET /node/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:10.797Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:10 +0000] \"GET /node/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:10.798Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/node/.env","statusCode":404,"timestamp":"2026-09-22T09:16:10.798Z"}
{"level":"error","message":"Request failed Route not found: GET /express/.env","method":"GET","path":"/express/.env","stack":"ApiError: Route not found: GET /express/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:10.912Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:10 +0000] \"GET /express/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:10.913Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/express/.env","statusCode":404,"timestamp":"2026-09-22T09:16:10.913Z"}
{"level":"error","message":"Request failed Route not found: GET /next/.env","method":"GET","path":"/next/.env","stack":"ApiError: Route not found: GET /next/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:11.027Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:11 +0000] \"GET /next/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:11.029Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/next/.env","statusCode":404,"timestamp":"2026-09-22T09:16:11.029Z"}
{"level":"error","message":"Request failed Route not found: GET /nuxt/.env","method":"GET","path":"/nuxt/.env","stack":"ApiError: Route not found: GET /nuxt/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:11.143Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:11 +0000] \"GET /nuxt/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:11.144Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/nuxt/.env","statusCode":404,"timestamp":"2026-09-22T09:16:11.144Z"}
{"level":"error","message":"Request failed Route not found: GET /nest/.env","method":"GET","path":"/nest/.env","stack":"ApiError: Route not found: GET /nest/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:11.258Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:11 +0000] \"GET /nest/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:11.259Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/nest/.env","statusCode":404,"timestamp":"2026-09-22T09:16:11.260Z"}
{"level":"error","message":"Request failed Route not found: GET /react/.env","method":"GET","path":"/react/.env","stack":"ApiError: Route not found: GET /react/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:11.374Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:11 +0000] \"GET /react/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:11.375Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/react/.env","statusCode":404,"timestamp":"2026-09-22T09:16:11.375Z"}
{"level":"error","message":"Request failed Route not found: GET /vue/.env","method":"GET","path":"/vue/.env","stack":"ApiError: Route not found: GET /vue/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:11.490Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:11 +0000] \"GET /vue/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:11.491Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/vue/.env","statusCode":404,"timestamp":"2026-09-22T09:16:11.491Z"}
{"level":"error","message":"Request failed Route not found: GET /angular/.env","method":"GET","path":"/angular/.env","stack":"ApiError: Route not found: GET /angular/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:11.607Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:11 +0000] \"GET /angular/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:11.611Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/angular/.env","statusCode":404,"timestamp":"2026-09-22T09:16:11.611Z"}
{"level":"error","message":"Request failed Route not found: GET /svelte/.env","method":"GET","path":"/svelte/.env","stack":"ApiError: Route not found: GET /svelte/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:11.723Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:11 +0000] \"GET /svelte/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:11.727Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/svelte/.env","statusCode":404,"timestamp":"2026-09-22T09:16:11.727Z"}
{"level":"error","message":"Request failed Route not found: GET /vite/.env","method":"GET","path":"/vite/.env","stack":"ApiError: Route not found: GET /vite/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:11.844Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:11 +0000] \"GET /vite/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:11.845Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/vite/.env","statusCode":404,"timestamp":"2026-09-22T09:16:11.845Z"}
{"level":"error","message":"Request failed Route not found: GET /backup/.env","method":"GET","path":"/backup/.env","stack":"ApiError: Route not found: GET /backup/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:11.961Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:11 +0000] \"GET /backup/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:11.962Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/backup/.env","statusCode":404,"timestamp":"2026-09-22T09:16:11.963Z"}
{"level":"error","message":"Request failed Route not found: GET /backups/.env","method":"GET","path":"/backups/.env","stack":"ApiError: Route not found: GET /backups/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:12.076Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:12 +0000] \"GET /backups/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:12.077Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/backups/.env","statusCode":404,"timestamp":"2026-09-22T09:16:12.077Z"}
{"level":"error","message":"Request failed Route not found: GET /old/.env","method":"GET","path":"/old/.env","stack":"ApiError: Route not found: GET /old/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:12.191Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:12 +0000] \"GET /old/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:12.194Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/old/.env","statusCode":404,"timestamp":"2026-09-22T09:16:12.195Z"}
{"level":"error","message":"Request failed Route not found: GET /tmp/.env","method":"GET","path":"/tmp/.env","stack":"ApiError: Route not found: GET /tmp/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:12.311Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:12 +0000] \"GET /tmp/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:12.313Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/tmp/.env","statusCode":404,"timestamp":"2026-09-22T09:16:12.314Z"}
{"level":"error","message":"Request failed Route not found: GET /temp/.env","method":"GET","path":"/temp/.env","stack":"ApiError: Route not found: GET /temp/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:12.427Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:12 +0000] \"GET /temp/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:12.429Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/temp/.env","statusCode":404,"timestamp":"2026-09-22T09:16:12.429Z"}
{"level":"error","message":"Request failed Route not found: GET /lab/.env","method":"GET","path":"/lab/.env","stack":"ApiError: Route not found: GET /lab/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:12.544Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:12 +0000] \"GET /lab/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:12.546Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/lab/.env","statusCode":404,"timestamp":"2026-09-22T09:16:12.547Z"}
{"level":"error","message":"Request failed Route not found: GET /cronlab/.env","method":"GET","path":"/cronlab/.env","stack":"ApiError: Route not found: GET /cronlab/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:12.663Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:12 +0000] \"GET /cronlab/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:12.666Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/cronlab/.env","statusCode":404,"timestamp":"2026-09-22T09:16:12.666Z"}
{"level":"error","message":"Request failed Route not found: GET /cron/.env","method":"GET","path":"/cron/.env","stack":"ApiError: Route not found: GET /cron/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:12.783Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:12 +0000] \"GET /cron/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:12.788Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/cron/.env","statusCode":404,"timestamp":"2026-09-22T09:16:12.788Z"}
{"level":"error","message":"Request failed Route not found: GET /en/.env","method":"GET","path":"/en/.env","stack":"ApiError: Route not found: GET /en/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:12.904Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:12 +0000] \"GET /en/.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:12.907Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/en/.env","statusCode":404,"timestamp":"2026-09-22T09:16:12.907Z"}
{"level":"error","message":"Request failed Route not found: GET /administrator/.env","method":"GET","path":"/administrator/.env","stack":"ApiError: Route not found: GET /administrator/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:13.024Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:13 +0000] \"GET /administrator/.env HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:13.028Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/administrator/.env","statusCode":404,"timestamp":"2026-09-22T09:16:13.028Z"}
{"level":"error","message":"Request failed Route not found: GET /psnlink/.env","method":"GET","path":"/psnlink/.env","stack":"ApiError: Route not found: GET /psnlink/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:13.145Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:13 +0000] \"GET /psnlink/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:13.146Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/psnlink/.env","statusCode":404,"timestamp":"2026-09-22T09:16:13.146Z"}
{"level":"error","message":"Request failed Route not found: GET /exapi/.env","method":"GET","path":"/exapi/.env","stack":"ApiError: Route not found: GET /exapi/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:13.262Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:13 +0000] \"GET /exapi/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:13.264Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/exapi/.env","statusCode":404,"timestamp":"2026-09-22T09:16:13.264Z"}
{"level":"error","message":"Request failed Route not found: GET /sitemaps/.env","method":"GET","path":"/sitemaps/.env","stack":"ApiError: Route not found: GET /sitemaps/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:13.378Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:13 +0000] \"GET /sitemaps/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:13.379Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/sitemaps/.env","statusCode":404,"timestamp":"2026-09-22T09:16:13.379Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.backup1","method":"GET","path":"/.env.backup1","stack":"ApiError: Route not found: GET /.env.backup1\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:13.494Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:13 +0000] \"GET /.env.backup1 HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:13.495Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.backup1","statusCode":404,"timestamp":"2026-09-22T09:16:13.495Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.backup2","method":"GET","path":"/.env.backup2","stack":"ApiError: Route not found: GET /.env.backup2\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:13.609Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:13 +0000] \"GET /.env.backup2 HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:13.610Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.backup2","statusCode":404,"timestamp":"2026-09-22T09:16:13.610Z"}
{"level":"error","message":"Request failed Route not found: GET /logs/.env","method":"GET","path":"/logs/.env","stack":"ApiError: Route not found: GET /logs/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:13.724Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:13 +0000] \"GET /logs/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:13.725Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/logs/.env","statusCode":404,"timestamp":"2026-09-22T09:16:13.726Z"}
{"level":"error","message":"Request failed Route not found: GET /cache/.env","method":"GET","path":"/cache/.env","stack":"ApiError: Route not found: GET /cache/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:13.839Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:13 +0000] \"GET /cache/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:13.840Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/cache/.env","statusCode":404,"timestamp":"2026-09-22T09:16:13.840Z"}
{"level":"error","message":"Request failed Route not found: GET /mailer/.env","method":"GET","path":"/mailer/.env","stack":"ApiError: Route not found: GET /mailer/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:13.954Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:13 +0000] \"GET /mailer/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:13.956Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/mailer/.env","statusCode":404,"timestamp":"2026-09-22T09:16:13.956Z"}
{"level":"error","message":"Request failed Route not found: GET /mail/.env","method":"GET","path":"/mail/.env","stack":"ApiError: Route not found: GET /mail/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:14.071Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:14 +0000] \"GET /mail/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:14.072Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/mail/.env","statusCode":404,"timestamp":"2026-09-22T09:16:14.072Z"}
{"level":"error","message":"Request failed Route not found: GET /email/.env","method":"GET","path":"/email/.env","stack":"ApiError: Route not found: GET /email/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:14.186Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:14 +0000] \"GET /email/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:14.187Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/email/.env","statusCode":404,"timestamp":"2026-09-22T09:16:14.187Z"}
{"level":"error","message":"Request failed Route not found: GET /smtp/.env","method":"GET","path":"/smtp/.env","stack":"ApiError: Route not found: GET /smtp/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:14.301Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:14 +0000] \"GET /smtp/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:14.302Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/smtp/.env","statusCode":404,"timestamp":"2026-09-22T09:16:14.302Z"}
{"level":"error","message":"Request failed Route not found: GET /mailing/.env","method":"GET","path":"/mailing/.env","stack":"ApiError: Route not found: GET /mailing/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:14.416Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:14 +0000] \"GET /mailing/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:14.417Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/mailing/.env","statusCode":404,"timestamp":"2026-09-22T09:16:14.417Z"}
{"level":"error","message":"Request failed Route not found: GET /notifications/.env","method":"GET","path":"/notifications/.env","stack":"ApiError: Route not found: GET /notifications/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:14.532Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:14 +0000] \"GET /notifications/.env HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:14.534Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/notifications/.env","statusCode":404,"timestamp":"2026-09-22T09:16:14.535Z"}
{"level":"error","message":"Request failed Route not found: GET /notify/.env","method":"GET","path":"/notify/.env","stack":"ApiError: Route not found: GET /notify/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:14.647Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:14 +0000] \"GET /notify/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:14.648Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/notify/.env","statusCode":404,"timestamp":"2026-09-22T09:16:14.649Z"}
{"level":"error","message":"Request failed Route not found: GET /sender/.env","method":"GET","path":"/sender/.env","stack":"ApiError: Route not found: GET /sender/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:14.763Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:14 +0000] \"GET /sender/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:14.764Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/sender/.env","statusCode":404,"timestamp":"2026-09-22T09:16:14.765Z"}
{"level":"error","message":"Request failed Route not found: GET /campaign/.env","method":"GET","path":"/campaign/.env","stack":"ApiError: Route not found: GET /campaign/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:14.880Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:14 +0000] \"GET /campaign/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:14.881Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/campaign/.env","statusCode":404,"timestamp":"2026-09-22T09:16:14.881Z"}
{"level":"error","message":"Request failed Route not found: GET /newsletter/.env","method":"GET","path":"/newsletter/.env","stack":"ApiError: Route not found: GET /newsletter/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:14.995Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:14 +0000] \"GET /newsletter/.env HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:14.997Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/newsletter/.env","statusCode":404,"timestamp":"2026-09-22T09:16:14.998Z"}
{"level":"error","message":"Request failed Route not found: GET /ses/.env","method":"GET","path":"/ses/.env","stack":"ApiError: Route not found: GET /ses/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:15.110Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:15 +0000] \"GET /ses/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:15.112Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/ses/.env","statusCode":404,"timestamp":"2026-09-22T09:16:15.112Z"}
{"level":"error","message":"Request failed Route not found: GET /sendgrid/.env","method":"GET","path":"/sendgrid/.env","stack":"ApiError: Route not found: GET /sendgrid/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:15.227Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:15 +0000] \"GET /sendgrid/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:15.229Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/sendgrid/.env","statusCode":404,"timestamp":"2026-09-22T09:16:15.229Z"}
{"level":"error","message":"Request failed Route not found: GET /sparkpost/.env","method":"GET","path":"/sparkpost/.env","stack":"ApiError: Route not found: GET /sparkpost/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:15.342Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:15 +0000] \"GET /sparkpost/.env HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:15.343Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/sparkpost/.env","statusCode":404,"timestamp":"2026-09-22T09:16:15.343Z"}
{"level":"error","message":"Request failed Route not found: GET /postmark/.env","method":"GET","path":"/postmark/.env","stack":"ApiError: Route not found: GET /postmark/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:15.459Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:15 +0000] \"GET /postmark/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:15.460Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/postmark/.env","statusCode":404,"timestamp":"2026-09-22T09:16:15.460Z"}
{"level":"error","message":"Request failed Route not found: GET /mailgun/.env","method":"GET","path":"/mailgun/.env","stack":"ApiError: Route not found: GET /mailgun/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:15.574Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:15 +0000] \"GET /mailgun/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:15.575Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/mailgun/.env","statusCode":404,"timestamp":"2026-09-22T09:16:15.575Z"}
{"level":"error","message":"Request failed Route not found: GET /mandrill/.env","method":"GET","path":"/mandrill/.env","stack":"ApiError: Route not found: GET /mandrill/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:15.691Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:15 +0000] \"GET /mandrill/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:15.692Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/mandrill/.env","statusCode":404,"timestamp":"2026-09-22T09:16:15.692Z"}
{"level":"error","message":"Request failed Route not found: GET /mailjet/.env","method":"GET","path":"/mailjet/.env","stack":"ApiError: Route not found: GET /mailjet/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:15.806Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:15 +0000] \"GET /mailjet/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:15.807Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/mailjet/.env","statusCode":404,"timestamp":"2026-09-22T09:16:15.807Z"}
{"level":"error","message":"Request failed Route not found: GET /brevo/.env","method":"GET","path":"/brevo/.env","stack":"ApiError: Route not found: GET /brevo/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:15.921Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:15 +0000] \"GET /brevo/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:15.922Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/brevo/.env","statusCode":404,"timestamp":"2026-09-22T09:16:15.922Z"}
{"level":"error","message":"Request failed Route not found: GET /transactional/.env","method":"GET","path":"/transactional/.env","stack":"ApiError: Route not found: GET /transactional/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:16.037Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:16 +0000] \"GET /transactional/.env HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:16.038Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/transactional/.env","statusCode":404,"timestamp":"2026-09-22T09:16:16.038Z"}
{"level":"error","message":"Request failed Route not found: GET /bulk/.env","method":"GET","path":"/bulk/.env","stack":"ApiError: Route not found: GET /bulk/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:16.153Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:16 +0000] \"GET /bulk/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:16.156Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/bulk/.env","statusCode":404,"timestamp":"2026-09-22T09:16:16.156Z"}
{"level":"error","message":"Request failed Route not found: GET /aws/.env","method":"GET","path":"/aws/.env","stack":"ApiError: Route not found: GET /aws/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:16.271Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:16 +0000] \"GET /aws/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:16.274Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/aws/.env","statusCode":404,"timestamp":"2026-09-22T09:16:16.277Z"}
{"level":"error","message":"Request failed Route not found: GET /azure/.env","method":"GET","path":"/azure/.env","stack":"ApiError: Route not found: GET /azure/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:16.389Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:16 +0000] \"GET /azure/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:16.396Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/azure/.env","statusCode":404,"timestamp":"2026-09-22T09:16:16.396Z"}
{"level":"error","message":"Request failed Route not found: GET /gcp/.env","method":"GET","path":"/gcp/.env","stack":"ApiError: Route not found: GET /gcp/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:16.513Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:16 +0000] \"GET /gcp/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:16.517Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/gcp/.env","statusCode":404,"timestamp":"2026-09-22T09:16:16.517Z"}
{"level":"error","message":"Request failed Route not found: GET /cloud/.env","method":"GET","path":"/cloud/.env","stack":"ApiError: Route not found: GET /cloud/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:16.633Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:16 +0000] \"GET /cloud/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:16.634Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/cloud/.env","statusCode":404,"timestamp":"2026-09-22T09:16:16.634Z"}
{"level":"error","message":"Request failed Route not found: GET /infrastructure/.env","method":"GET","path":"/infrastructure/.env","stack":"ApiError: Route not found: GET /infrastructure/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:16.749Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:16 +0000] \"GET /infrastructure/.env HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:16.752Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/infrastructure/.env","statusCode":404,"timestamp":"2026-09-22T09:16:16.752Z"}
{"level":"error","message":"Request failed Route not found: GET /docker/.env","method":"GET","path":"/docker/.env","stack":"ApiError: Route not found: GET /docker/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:16.867Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:16 +0000] \"GET /docker/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:16.868Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/docker/.env","statusCode":404,"timestamp":"2026-09-22T09:16:16.868Z"}
{"level":"error","message":"Request failed Route not found: GET /k8s/.env","method":"GET","path":"/k8s/.env","stack":"ApiError: Route not found: GET /k8s/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:16.983Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:16 +0000] \"GET /k8s/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:16.984Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/k8s/.env","statusCode":404,"timestamp":"2026-09-22T09:16:16.984Z"}
{"level":"error","message":"Request failed Route not found: GET /kubernetes/.env","method":"GET","path":"/kubernetes/.env","stack":"ApiError: Route not found: GET /kubernetes/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:17.098Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:17 +0000] \"GET /kubernetes/.env HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:17.099Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/kubernetes/.env","statusCode":404,"timestamp":"2026-09-22T09:16:17.099Z"}
{"level":"error","message":"Request failed Route not found: GET /terraform/.env","method":"GET","path":"/terraform/.env","stack":"ApiError: Route not found: GET /terraform/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:17.214Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:17 +0000] \"GET /terraform/.env HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:17.215Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/terraform/.env","statusCode":404,"timestamp":"2026-09-22T09:16:17.215Z"}
{"level":"error","message":"Request failed Route not found: GET /ansible/.env","method":"GET","path":"/ansible/.env","stack":"ApiError: Route not found: GET /ansible/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:17.329Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:17 +0000] \"GET /ansible/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:17.330Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/ansible/.env","statusCode":404,"timestamp":"2026-09-22T09:16:17.331Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/.env","method":"GET","path":"/.git/.env","stack":"ApiError: Route not found: GET /.git/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:17.445Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:17 +0000] \"GET /.git/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:17.447Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.git/.env","statusCode":404,"timestamp":"2026-09-22T09:16:17.447Z"}
{"level":"error","message":"Request failed Route not found: GET /ci/.env","method":"GET","path":"/ci/.env","stack":"ApiError: Route not found: GET /ci/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:17.560Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:17 +0000] \"GET /ci/.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:17.561Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/ci/.env","statusCode":404,"timestamp":"2026-09-22T09:16:17.561Z"}
{"level":"error","message":"Request failed Route not found: GET /cd/.env","method":"GET","path":"/cd/.env","stack":"ApiError: Route not found: GET /cd/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:17.676Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:17 +0000] \"GET /cd/.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:17.677Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/cd/.env","statusCode":404,"timestamp":"2026-09-22T09:16:17.677Z"}
{"level":"error","message":"Request failed Route not found: GET /jenkins/.env","method":"GET","path":"/jenkins/.env","stack":"ApiError: Route not found: GET /jenkins/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:17.792Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:17 +0000] \"GET /jenkins/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:17.793Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/jenkins/.env","statusCode":404,"timestamp":"2026-09-22T09:16:17.793Z"}
{"level":"error","message":"Request failed Route not found: GET /gitlab/.env","method":"GET","path":"/gitlab/.env","stack":"ApiError: Route not found: GET /gitlab/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:17.908Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:17 +0000] \"GET /gitlab/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:17.909Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/gitlab/.env","statusCode":404,"timestamp":"2026-09-22T09:16:17.909Z"}
{"level":"error","message":"Request failed Route not found: GET /github/.env","method":"GET","path":"/github/.env","stack":"ApiError: Route not found: GET /github/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:18.023Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:18 +0000] \"GET /github/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:18.024Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/github/.env","statusCode":404,"timestamp":"2026-09-22T09:16:18.024Z"}
{"level":"error","message":"Request failed Route not found: GET /actions/.env","method":"GET","path":"/actions/.env","stack":"ApiError: Route not found: GET /actions/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:18.138Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:18 +0000] \"GET /actions/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:18.140Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/actions/.env","statusCode":404,"timestamp":"2026-09-22T09:16:18.140Z"}
{"level":"error","message":"Request failed Route not found: GET /circleci/.env","method":"GET","path":"/circleci/.env","stack":"ApiError: Route not found: GET /circleci/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:18.253Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:18 +0000] \"GET /circleci/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:18.254Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/circleci/.env","statusCode":404,"timestamp":"2026-09-22T09:16:18.255Z"}
{"level":"error","message":"Request failed Route not found: GET /travis/.env","method":"GET","path":"/travis/.env","stack":"ApiError: Route not found: GET /travis/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:18.369Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:18 +0000] \"GET /travis/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:18.370Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/travis/.env","statusCode":404,"timestamp":"2026-09-22T09:16:18.370Z"}
{"level":"error","message":"Request failed Route not found: GET /buildkite/.env","method":"GET","path":"/buildkite/.env","stack":"ApiError: Route not found: GET /buildkite/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:18.484Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:18 +0000] \"GET /buildkite/.env HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:18.485Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/buildkite/.env","statusCode":404,"timestamp":"2026-09-22T09:16:18.486Z"}
{"level":"error","message":"Request failed Route not found: GET /mysql/.env","method":"GET","path":"/mysql/.env","stack":"ApiError: Route not found: GET /mysql/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:18.602Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:18 +0000] \"GET /mysql/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:18.603Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/mysql/.env","statusCode":404,"timestamp":"2026-09-22T09:16:18.604Z"}
{"level":"error","message":"Request failed Route not found: GET /postgres/.env","method":"GET","path":"/postgres/.env","stack":"ApiError: Route not found: GET /postgres/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:18.718Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:18 +0000] \"GET /postgres/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:18.722Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/postgres/.env","statusCode":404,"timestamp":"2026-09-22T09:16:18.723Z"}
{"level":"error","message":"Request failed Route not found: GET /mongodb/.env","method":"GET","path":"/mongodb/.env","stack":"ApiError: Route not found: GET /mongodb/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:18.841Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:18 +0000] \"GET /mongodb/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:18.844Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/mongodb/.env","statusCode":404,"timestamp":"2026-09-22T09:16:18.844Z"}
{"level":"error","message":"Request failed Route not found: GET /redis/.env","method":"GET","path":"/redis/.env","stack":"ApiError: Route not found: GET /redis/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:18.958Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:18 +0000] \"GET /redis/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:18.962Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/redis/.env","statusCode":404,"timestamp":"2026-09-22T09:16:18.962Z"}
{"level":"error","message":"Request failed Route not found: GET /elasticsearch/.env","method":"GET","path":"/elasticsearch/.env","stack":"ApiError: Route not found: GET /elasticsearch/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:19.077Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:19 +0000] \"GET /elasticsearch/.env HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:19.079Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/elasticsearch/.env","statusCode":404,"timestamp":"2026-09-22T09:16:19.079Z"}
{"level":"error","message":"Request failed Route not found: GET /rabbitmq/.env","method":"GET","path":"/rabbitmq/.env","stack":"ApiError: Route not found: GET /rabbitmq/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:19.193Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:19 +0000] \"GET /rabbitmq/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:19.193Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/rabbitmq/.env","statusCode":404,"timestamp":"2026-09-22T09:16:19.194Z"}
{"level":"error","message":"Request failed Route not found: GET /kafka/.env","method":"GET","path":"/kafka/.env","stack":"ApiError: Route not found: GET /kafka/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:19.308Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:19 +0000] \"GET /kafka/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:19.309Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/kafka/.env","statusCode":404,"timestamp":"2026-09-22T09:16:19.309Z"}
{"level":"error","message":"Request failed Route not found: GET /queue/.env","method":"GET","path":"/queue/.env","stack":"ApiError: Route not found: GET /queue/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:19.423Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:19 +0000] \"GET /queue/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:19.424Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/queue/.env","statusCode":404,"timestamp":"2026-09-22T09:16:19.425Z"}
{"level":"error","message":"Request failed Route not found: GET /worker/.env","method":"GET","path":"/worker/.env","stack":"ApiError: Route not found: GET /worker/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:19.539Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:19 +0000] \"GET /worker/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:19.540Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/worker/.env","statusCode":404,"timestamp":"2026-09-22T09:16:19.540Z"}
{"level":"error","message":"Request failed Route not found: GET /job/.env","method":"GET","path":"/job/.env","stack":"ApiError: Route not found: GET /job/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:19.885Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:19 +0000] \"GET /job/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:19.886Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/job/.env","statusCode":404,"timestamp":"2026-09-22T09:16:19.886Z"}
{"level":"error","message":"Request failed Route not found: GET /test/.env","method":"GET","path":"/test/.env","stack":"ApiError: Route not found: GET /test/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:19.999Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:20 +0000] \"GET /test/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:20.001Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/test/.env","statusCode":404,"timestamp":"2026-09-22T09:16:20.001Z"}
{"level":"error","message":"Request failed Route not found: GET /qa/.env","method":"GET","path":"/qa/.env","stack":"ApiError: Route not found: GET /qa/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:20.115Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:20 +0000] \"GET /qa/.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:20.116Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/qa/.env","statusCode":404,"timestamp":"2026-09-22T09:16:20.116Z"}
{"level":"error","message":"Request failed Route not found: GET /preview/.env","method":"GET","path":"/preview/.env","stack":"ApiError: Route not found: GET /preview/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:20.229Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:20 +0000] \"GET /preview/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:20.230Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/preview/.env","statusCode":404,"timestamp":"2026-09-22T09:16:20.231Z"}
{"level":"error","message":"Request failed Route not found: GET /beta/.env","method":"GET","path":"/beta/.env","stack":"ApiError: Route not found: GET /beta/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:20.345Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:20 +0000] \"GET /beta/.env HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:20.346Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/beta/.env","statusCode":404,"timestamp":"2026-09-22T09:16:20.347Z"}
{"level":"error","message":"Request failed Route not found: GET /uat/.env","method":"GET","path":"/uat/.env","stack":"ApiError: Route not found: GET /uat/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:20.459Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:20 +0000] \"GET /uat/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:20.462Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/uat/.env","statusCode":404,"timestamp":"2026-09-22T09:16:20.462Z"}
{"level":"error","message":"Request failed Route not found: GET /stage/.env","method":"GET","path":"/stage/.env","stack":"ApiError: Route not found: GET /stage/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:20.580Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:20 +0000] \"GET /stage/.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:20.582Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/stage/.env","statusCode":404,"timestamp":"2026-09-22T09:16:20.583Z"}
{"level":"error","message":"Request failed Route not found: GET /development/.env","method":"GET","path":"/development/.env","stack":"ApiError: Route not found: GET /development/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:20.695Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:20 +0000] \"GET /development/.env HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:20.696Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/development/.env","statusCode":404,"timestamp":"2026-09-22T09:16:20.696Z"}
{"level":"error","message":"Request failed Route not found: GET /production/.env","method":"GET","path":"/production/.env","stack":"ApiError: Route not found: GET /production/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:20.809Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:20 +0000] \"GET /production/.env HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:20.811Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/production/.env","statusCode":404,"timestamp":"2026-09-22T09:16:20.811Z"}
{"level":"error","message":"Request failed Route not found: GET /config/app/.env","method":"GET","path":"/config/app/.env","stack":"ApiError: Route not found: GET /config/app/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:20.924Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:20 +0000] \"GET /config/app/.env HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:20.926Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/config/app/.env","statusCode":404,"timestamp":"2026-09-22T09:16:20.926Z"}
{"level":"error","message":"Request failed Route not found: GET /phpinfo.php","method":"GET","path":"/phpinfo.php","stack":"ApiError: Route not found: GET /phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:21.039Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:21 +0000] \"GET /phpinfo.php HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:21.041Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:21.041Z"}
{"level":"error","message":"Request failed Route not found: GET /info.php","method":"GET","path":"/info.php","stack":"ApiError: Route not found: GET /info.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:21.154Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:21 +0000] \"GET /info.php HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:21.155Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/info.php","statusCode":404,"timestamp":"2026-09-22T09:16:21.155Z"}
{"level":"error","message":"Request failed Route not found: GET /php.php","method":"GET","path":"/php.php","stack":"ApiError: Route not found: GET /php.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:21.268Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:21 +0000] \"GET /php.php HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:21.270Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/php.php","statusCode":404,"timestamp":"2026-09-22T09:16:21.270Z"}
{"level":"error","message":"Request failed Route not found: GET /i.php","method":"GET","path":"/i.php","stack":"ApiError: Route not found: GET /i.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:21.383Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:21 +0000] \"GET /i.php HTTP/1.1\" 404 67 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:21.384Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/i.php","statusCode":404,"timestamp":"2026-09-22T09:16:21.384Z"}
{"level":"error","message":"Request failed Route not found: GET /pi.php","method":"GET","path":"/pi.php","stack":"ApiError: Route not found: GET /pi.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:21.499Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:21 +0000] \"GET /pi.php HTTP/1.1\" 404 68 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:21.500Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/pi.php","statusCode":404,"timestamp":"2026-09-22T09:16:21.500Z"}
{"level":"error","message":"Request failed Route not found: GET /pinfo.php","method":"GET","path":"/pinfo.php","stack":"ApiError: Route not found: GET /pinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:21.613Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:21 +0000] \"GET /pinfo.php HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:21.614Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/pinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:21.614Z"}
{"level":"error","message":"Request failed Route not found: GET /test.php","method":"GET","path":"/test.php","stack":"ApiError: Route not found: GET /test.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:21.729Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:21 +0000] \"GET /test.php HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:21.731Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/test.php","statusCode":404,"timestamp":"2026-09-22T09:16:21.731Z"}
{"level":"error","message":"Request failed Route not found: GET /phpinfo","method":"GET","path":"/phpinfo","stack":"ApiError: Route not found: GET /phpinfo\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:21.844Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:21 +0000] \"GET /phpinfo HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:21.845Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/phpinfo","statusCode":404,"timestamp":"2026-09-22T09:16:21.845Z"}
{"level":"error","message":"Request failed Route not found: GET /p.php","method":"GET","path":"/p.php","stack":"ApiError: Route not found: GET /p.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:21.958Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:21 +0000] \"GET /p.php HTTP/1.1\" 404 67 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:21.959Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/p.php","statusCode":404,"timestamp":"2026-09-22T09:16:21.959Z"}
{"level":"error","message":"Request failed Route not found: GET /debug.php","method":"GET","path":"/debug.php","stack":"ApiError: Route not found: GET /debug.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:22.072Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:22 +0000] \"GET /debug.php HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:22.073Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/debug.php","statusCode":404,"timestamp":"2026-09-22T09:16:22.073Z"}
{"level":"error","message":"Request failed Route not found: GET /admin/phpinfo.php","method":"GET","path":"/admin/phpinfo.php","stack":"ApiError: Route not found: GET /admin/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:22.186Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:22 +0000] \"GET /admin/phpinfo.php HTTP/1.1\" 404 79 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:22.187Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/admin/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:22.188Z"}
{"level":"error","message":"Request failed Route not found: GET /test/phpinfo.php","method":"GET","path":"/test/phpinfo.php","stack":"ApiError: Route not found: GET /test/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:22.301Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:22 +0000] \"GET /test/phpinfo.php HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:22.303Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/test/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:22.303Z"}
{"level":"error","message":"Request failed Route not found: GET /dev/phpinfo.php","method":"GET","path":"/dev/phpinfo.php","stack":"ApiError: Route not found: GET /dev/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:22.416Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:22 +0000] \"GET /dev/phpinfo.php HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:22.417Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/dev/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:22.417Z"}
{"level":"error","message":"Request failed Route not found: GET /old/phpinfo.php","method":"GET","path":"/old/phpinfo.php","stack":"ApiError: Route not found: GET /old/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:22.531Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:22 +0000] \"GET /old/phpinfo.php HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:22.533Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/old/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:22.533Z"}
{"level":"error","message":"Request failed Route not found: GET /tmp/phpinfo.php","method":"GET","path":"/tmp/phpinfo.php","stack":"ApiError: Route not found: GET /tmp/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:22.648Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:22 +0000] \"GET /tmp/phpinfo.php HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:22.650Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/tmp/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:22.650Z"}
{"level":"error","message":"Request failed Route not found: GET /public/phpinfo.php","method":"GET","path":"/public/phpinfo.php","stack":"ApiError: Route not found: GET /public/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:22.763Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:22 +0000] \"GET /public/phpinfo.php HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:22.767Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/public/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:22.767Z"}
{"level":"error","message":"Request failed Route not found: GET /info","method":"GET","path":"/info","stack":"ApiError: Route not found: GET /info\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:22.881Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:22 +0000] \"GET /info HTTP/1.1\" 404 66 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:22.882Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/info","statusCode":404,"timestamp":"2026-09-22T09:16:22.882Z"}
{"level":"error","message":"Request failed Route not found: GET /php-info.php","method":"GET","path":"/php-info.php","stack":"ApiError: Route not found: GET /php-info.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:22.995Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:22 +0000] \"GET /php-info.php HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:22.996Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/php-info.php","statusCode":404,"timestamp":"2026-09-22T09:16:22.996Z"}
{"level":"error","message":"Request failed Route not found: GET /phpversion.php","method":"GET","path":"/phpversion.php","stack":"ApiError: Route not found: GET /phpversion.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:23.110Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:23 +0000] \"GET /phpversion.php HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:23.111Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/phpversion.php","statusCode":404,"timestamp":"2026-09-22T09:16:23.111Z"}
{"level":"error","message":"Request failed Route not found: GET /_phpinfo.php","method":"GET","path":"/_phpinfo.php","stack":"ApiError: Route not found: GET /_phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:23.224Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:23 +0000] \"GET /_phpinfo.php HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:23.225Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/_phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:23.226Z"}
{"level":"error","message":"Request failed Route not found: GET /old_phpinfo.php","method":"GET","path":"/old_phpinfo.php","stack":"ApiError: Route not found: GET /old_phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:23.339Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:23 +0000] \"GET /old_phpinfo.php HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:23.340Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/old_phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:23.340Z"}
{"level":"error","message":"Request failed Route not found: GET /server-info.php","method":"GET","path":"/server-info.php","stack":"ApiError: Route not found: GET /server-info.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:23.453Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:23 +0000] \"GET /server-info.php HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:23.454Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/server-info.php","statusCode":404,"timestamp":"2026-09-22T09:16:23.454Z"}
{"level":"error","message":"Request failed Route not found: GET /server-status.php","method":"GET","path":"/server-status.php","stack":"ApiError: Route not found: GET /server-status.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:23.567Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:23 +0000] \"GET /server-status.php HTTP/1.1\" 404 79 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:23.568Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/server-status.php","statusCode":404,"timestamp":"2026-09-22T09:16:23.568Z"}
{"level":"error","message":"Request failed Route not found: GET /_profiler/phpinfo","method":"GET","path":"/_profiler/phpinfo","stack":"ApiError: Route not found: GET /_profiler/phpinfo\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:23.681Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:23 +0000] \"GET /_profiler/phpinfo HTTP/1.1\" 404 79 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:23.683Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/_profiler/phpinfo","statusCode":404,"timestamp":"2026-09-22T09:16:23.683Z"}
{"level":"error","message":"Request failed Route not found: GET /_environment","method":"GET","path":"/_environment","stack":"ApiError: Route not found: GET /_environment\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:23.796Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:23 +0000] \"GET /_environment HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:23.797Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/_environment","statusCode":404,"timestamp":"2026-09-22T09:16:23.797Z"}
{"level":"error","message":"Request failed Route not found: GET /webroot/index.php/_environment","method":"GET","path":"/webroot/index.php/_environment","stack":"ApiError: Route not found: GET /webroot/index.php/_environment\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:23.910Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:23 +0000] \"GET /webroot/index.php/_environment HTTP/1.1\" 404 92 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:23.911Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/webroot/index.php/_environment","statusCode":404,"timestamp":"2026-09-22T09:16:23.911Z"}
{"level":"error","message":"Request failed Route not found: GET /mail/phpinfo.php","method":"GET","path":"/mail/phpinfo.php","stack":"ApiError: Route not found: GET /mail/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:24.025Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:24 +0000] \"GET /mail/phpinfo.php HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:24.027Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/mail/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:24.027Z"}
{"level":"error","message":"Request failed Route not found: GET /cpanel/phpinfo.php","method":"GET","path":"/cpanel/phpinfo.php","stack":"ApiError: Route not found: GET /cpanel/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:24.139Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:24 +0000] \"GET /cpanel/phpinfo.php HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:24.140Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/cpanel/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:24.140Z"}
{"level":"error","message":"Request failed Route not found: GET /hosting/phpinfo.php","method":"GET","path":"/hosting/phpinfo.php","stack":"ApiError: Route not found: GET /hosting/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:24.253Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:24 +0000] \"GET /hosting/phpinfo.php HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:24.255Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/hosting/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:24.255Z"}
{"level":"error","message":"Request failed Route not found: GET /webmail/phpinfo.php","method":"GET","path":"/webmail/phpinfo.php","stack":"ApiError: Route not found: GET /webmail/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:24.373Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:24 +0000] \"GET /webmail/phpinfo.php HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:24.375Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/webmail/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:24.375Z"}
{"level":"error","message":"Request failed Route not found: GET /smtp/phpinfo.php","method":"GET","path":"/smtp/phpinfo.php","stack":"ApiError: Route not found: GET /smtp/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:24.487Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:24 +0000] \"GET /smtp/phpinfo.php HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:24.488Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/smtp/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:24.488Z"}
{"level":"error","message":"Request failed Route not found: GET /phpinfo.php.bak","method":"GET","path":"/phpinfo.php.bak","stack":"ApiError: Route not found: GET /phpinfo.php.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:24.611Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:24 +0000] \"GET /phpinfo.php.bak HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:24.615Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/phpinfo.php.bak","statusCode":404,"timestamp":"2026-09-22T09:16:24.615Z"}
{"level":"error","message":"Request failed Route not found: GET /phpinfo.php.old","method":"GET","path":"/phpinfo.php.old","stack":"ApiError: Route not found: GET /phpinfo.php.old\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:24.727Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:24 +0000] \"GET /phpinfo.php.old HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:24.728Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/phpinfo.php.old","statusCode":404,"timestamp":"2026-09-22T09:16:24.729Z"}
{"level":"error","message":"Request failed Route not found: GET /phpinfo.php~","method":"GET","path":"/phpinfo.php~","stack":"ApiError: Route not found: GET /phpinfo.php~\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:24.845Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:24 +0000] \"GET /phpinfo.php~ HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:24.847Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/phpinfo.php~","statusCode":404,"timestamp":"2026-09-22T09:16:24.847Z"}
{"level":"error","message":"Request failed Route not found: GET /info.php.bak","method":"GET","path":"/info.php.bak","stack":"ApiError: Route not found: GET /info.php.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:24.964Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:24 +0000] \"GET /info.php.bak HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:24.967Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/info.php.bak","statusCode":404,"timestamp":"2026-09-22T09:16:24.967Z"}
{"level":"error","message":"Request failed Route not found: GET /phpinfo.php.save","method":"GET","path":"/phpinfo.php.save","stack":"ApiError: Route not found: GET /phpinfo.php.save\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:25.084Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:25 +0000] \"GET /phpinfo.php.save HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:25.084Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/phpinfo.php.save","statusCode":404,"timestamp":"2026-09-22T09:16:25.085Z"}
{"level":"error","message":"Request failed Route not found: GET /staging/phpinfo.php","method":"GET","path":"/staging/phpinfo.php","stack":"ApiError: Route not found: GET /staging/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:25.199Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:25 +0000] \"GET /staging/phpinfo.php HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:25.200Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/staging/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:25.200Z"}
{"level":"error","message":"Request failed Route not found: GET /beta/phpinfo.php","method":"GET","path":"/beta/phpinfo.php","stack":"ApiError: Route not found: GET /beta/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:25.317Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:25 +0000] \"GET /beta/phpinfo.php HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:25.318Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/beta/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:25.318Z"}
{"level":"error","message":"Request failed Route not found: GET /uat/phpinfo.php","method":"GET","path":"/uat/phpinfo.php","stack":"ApiError: Route not found: GET /uat/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:25.434Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:25 +0000] \"GET /uat/phpinfo.php HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:25.435Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/uat/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:25.435Z"}
{"level":"error","message":"Request failed Route not found: GET /qa/phpinfo.php","method":"GET","path":"/qa/phpinfo.php","stack":"ApiError: Route not found: GET /qa/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:25.549Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:25 +0000] \"GET /qa/phpinfo.php HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:25.549Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/qa/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:25.550Z"}
{"level":"error","message":"Request failed Route not found: GET /preview/phpinfo.php","method":"GET","path":"/preview/phpinfo.php","stack":"ApiError: Route not found: GET /preview/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:25.663Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:25 +0000] \"GET /preview/phpinfo.php HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:25.664Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/preview/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:25.664Z"}
{"level":"error","message":"Request failed Route not found: GET /www/phpinfo.php","method":"GET","path":"/www/phpinfo.php","stack":"ApiError: Route not found: GET /www/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:25.777Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:25 +0000] \"GET /www/phpinfo.php HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:25.778Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/www/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:25.778Z"}
{"level":"error","message":"Request failed Route not found: GET /htdocs/phpinfo.php","method":"GET","path":"/htdocs/phpinfo.php","stack":"ApiError: Route not found: GET /htdocs/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:25.891Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:25 +0000] \"GET /htdocs/phpinfo.php HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:25.892Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/htdocs/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:25.892Z"}
{"level":"error","message":"Request failed Route not found: GET /public_html/phpinfo.php","method":"GET","path":"/public_html/phpinfo.php","stack":"ApiError: Route not found: GET /public_html/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:26.006Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:26 +0000] \"GET /public_html/phpinfo.php HTTP/1.1\" 404 85 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:26.007Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/public_html/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:26.007Z"}
{"level":"error","message":"Request failed Route not found: GET /site/phpinfo.php","method":"GET","path":"/site/phpinfo.php","stack":"ApiError: Route not found: GET /site/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:26.122Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:26 +0000] \"GET /site/phpinfo.php HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:26.123Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/site/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:26.123Z"}
{"level":"error","message":"Request failed Route not found: GET /docs/phpinfo.php","method":"GET","path":"/docs/phpinfo.php","stack":"ApiError: Route not found: GET /docs/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:26.236Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:26 +0000] \"GET /docs/phpinfo.php HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:26.238Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/docs/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:26.238Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-admin/phpinfo.php","method":"GET","path":"/wp-admin/phpinfo.php","stack":"ApiError: Route not found: GET /wp-admin/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:26.351Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:26 +0000] \"GET /wp-admin/phpinfo.php HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:26.352Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wp-admin/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:26.352Z"}
{"level":"error","message":"Request failed Route not found: GET /administrator/phpinfo.php","method":"GET","path":"/administrator/phpinfo.php","stack":"ApiError: Route not found: GET /administrator/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:26.465Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:26 +0000] \"GET /administrator/phpinfo.php HTTP/1.1\" 404 87 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:26.466Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/administrator/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:26.467Z"}
{"level":"error","message":"Request failed Route not found: GET /core/phpinfo.php","method":"GET","path":"/core/phpinfo.php","stack":"ApiError: Route not found: GET /core/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:26.580Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:26 +0000] \"GET /core/phpinfo.php HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:26.581Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/core/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:26.581Z"}
{"level":"error","message":"Request failed Route not found: GET /includes/phpinfo.php","method":"GET","path":"/includes/phpinfo.php","stack":"ApiError: Route not found: GET /includes/phpinfo.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:26.694Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:26 +0000] \"GET /includes/phpinfo.php HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:26.695Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/includes/phpinfo.php","statusCode":404,"timestamp":"2026-09-22T09:16:26.695Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-json/gravitysmtp/v1/tests/mock-data?page=gravitysmtp-settings","method":"GET","path":"/wp-json/gravitysmtp/v1/tests/mock-data?page=gravitysmtp-settings","stack":"ApiError: Route not found: GET /wp-json/gravitysmtp/v1/tests/mock-data?page=gravitysmtp-settings\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:16:27.096Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:16:27 +0000] \"GET /wp-json/gravitysmtp/v1/tests/mock-data?page=gravitysmtp-settings HTTP/1.1\" 404 126 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0 Safari/537.36\"","timestamp":"2026-09-22T09:16:27.098Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp-json/gravitysmtp/v1/tests/mock-data?page=gravitysmtp-settings","statusCode":404,"timestamp":"2026-09-22T09:16:27.098Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:17:51 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:17:51.692Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-22T09:17:51.692Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:18:10 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:18:10.988Z"}
{"executionTimeMs":500,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-22T09:18:10.989Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:18:11 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:18:11.103Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":304,"timestamp":"2026-09-22T09:18:11.103Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:18:11 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 283 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:18:11.137Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-22T09:18:11.138Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:18:12 +0000] \"GET /api/auth/youtube HTTP/1.1\" 302 389 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:18:12.367Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/youtube","statusCode":302,"timestamp":"2026-09-22T09:18:12.367Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:28 +0000] \"GET /api/campaigns HTTP/1.1\" 200 49801 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:28.005Z"}
{"executionTimeMs":42,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-22T09:20:28.005Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:31 +0000] \"GET /api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:31.464Z"}
{"executionTimeMs":25,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/0e3e45ca-a561-419c-974c-09e07d312107","statusCode":304,"timestamp":"2026-09-22T09:20:31.464Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:31 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:31.553Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-22T09:20:31.553Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:33 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:33.188Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-09-22T09:20:33.189Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:33 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:33.228Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-09-22T09:20:33.228Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:33 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:33.234Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-09-22T09:20:33.235Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:33 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:33.239Z"}
{"executionTimeMs":10,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/video-assets","statusCode":304,"timestamp":"2026-09-22T09:20:33.239Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:33 +0000] \"GET /api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:33.243Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/d763b6a4-b898-4170-afd8-894d3ab7b689/image-assets","statusCode":304,"timestamp":"2026-09-22T09:20:33.243Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:33 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:33.341Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":304,"timestamp":"2026-09-22T09:20:33.341Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:34 +0000] \"GET /api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:34.383Z"}
{"executionTimeMs":1044,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=d763b6a4-b898-4170-afd8-894d3ab7b689&googleAdsCustomerId=8918679452","statusCode":304,"timestamp":"2026-09-22T09:20:34.383Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:35 +0000] \"GET /api/integrations/youtube HTTP/1.1\" 200 283 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:35.865Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/api/integrations/youtube","statusCode":200,"timestamp":"2026-09-22T09:20:35.865Z"}
{"level":"http","message":"::ffff:110.226.114.134 - - [22/Sep/2026:09:20:36 +0000] \"GET /api/youtube/videos?channelId=UCrE_AtWd1JySmjt0vu9zz8w HTTP/1.1\" 200 203 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T09:20:36.768Z"}
{"executionTimeMs":818,"level":"http","message":"Request completed","method":"GET","path":"/api/youtube/videos?channelId=UCrE_AtWd1JySmjt0vu9zz8w","statusCode":200,"timestamp":"2026-09-22T09:20:36.768Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:21.671Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:21 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:21.672Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T09:39:21.672Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-includes/wlwmanifest.xml","method":"GET","path":"/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:21.904Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:21 +0000] \"GET /wp-includes/wlwmanifest.xml HTTP/1.1\" 404 89 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:21.905Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:21.905Z"}
{"level":"error","message":"Request failed Route not found: GET /xmlrpc.php?rsd","method":"GET","path":"/xmlrpc.php?rsd","stack":"ApiError: Route not found: GET /xmlrpc.php?rsd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:22.136Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:22 +0000] \"GET /xmlrpc.php?rsd HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:22.138Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/xmlrpc.php?rsd","statusCode":404,"timestamp":"2026-09-22T09:39:22.138Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:22.438Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:22 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:22.439Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T09:39:22.439Z"}
{"level":"error","message":"Request failed Route not found: GET /blog/wp-includes/wlwmanifest.xml","method":"GET","path":"/blog/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /blog/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:22.722Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:22 +0000] \"GET /blog/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:22.724Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/blog/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:22.724Z"}
{"level":"error","message":"Request failed Route not found: GET /web/wp-includes/wlwmanifest.xml","method":"GET","path":"/web/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /web/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:22.956Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:22 +0000] \"GET /web/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:22.958Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/web/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:22.958Z"}
{"level":"error","message":"Request failed Route not found: GET /wordpress/wp-includes/wlwmanifest.xml","method":"GET","path":"/wordpress/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wordpress/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:23.240Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:23 +0000] \"GET /wordpress/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 99 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:23.243Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/wordpress/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:23.244Z"}
{"level":"error","message":"Request failed Route not found: GET /website/wp-includes/wlwmanifest.xml","method":"GET","path":"/website/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /website/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:23.516Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:23 +0000] \"GET /website/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 97 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:23.517Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/website/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:23.517Z"}
{"level":"error","message":"Request failed Route not found: GET /wp/wp-includes/wlwmanifest.xml","method":"GET","path":"/wp/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:23.852Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:23 +0000] \"GET /wp/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 92 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:23.853Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wp/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:23.853Z"}
{"level":"error","message":"Request failed Route not found: GET /news/wp-includes/wlwmanifest.xml","method":"GET","path":"/news/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /news/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:24.127Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:24 +0000] \"GET /news/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:24.128Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/news/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:24.128Z"}
{"level":"error","message":"Request failed Route not found: GET /2020/wp-includes/wlwmanifest.xml","method":"GET","path":"/2020/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /2020/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:24.360Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:24 +0000] \"GET /2020/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:24.361Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/2020/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:24.361Z"}
{"level":"error","message":"Request failed Route not found: GET /2019/wp-includes/wlwmanifest.xml","method":"GET","path":"/2019/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /2019/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:24.592Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:24 +0000] \"GET /2019/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:24.593Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/2019/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:24.593Z"}
{"level":"error","message":"Request failed Route not found: GET /shop/wp-includes/wlwmanifest.xml","method":"GET","path":"/shop/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /shop/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:24.883Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:24 +0000] \"GET /shop/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:24.884Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/shop/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:24.884Z"}
{"level":"error","message":"Request failed Route not found: GET /wp1/wp-includes/wlwmanifest.xml","method":"GET","path":"/wp1/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp1/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:25.116Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:25 +0000] \"GET /wp1/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:25.117Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp1/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:25.117Z"}
{"level":"error","message":"Request failed Route not found: GET /test/wp-includes/wlwmanifest.xml","method":"GET","path":"/test/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /test/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:25.446Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:25 +0000] \"GET /test/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:25.447Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/test/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:25.448Z"}
{"level":"error","message":"Request failed Route not found: GET /wp2/wp-includes/wlwmanifest.xml","method":"GET","path":"/wp2/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp2/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:25.866Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:25 +0000] \"GET /wp2/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:25.868Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp2/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:25.868Z"}
{"level":"error","message":"Request failed Route not found: GET /site/wp-includes/wlwmanifest.xml","method":"GET","path":"/site/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /site/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:26.104Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:26 +0000] \"GET /site/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:26.107Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/site/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:26.107Z"}
{"level":"error","message":"Request failed Route not found: GET /cms/wp-includes/wlwmanifest.xml","method":"GET","path":"/cms/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /cms/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:26.467Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:26 +0000] \"GET /cms/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:26.469Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/cms/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:26.469Z"}
{"level":"error","message":"Request failed Route not found: GET /sito/wp-includes/wlwmanifest.xml","method":"GET","path":"/sito/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /sito/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T09:39:26.723Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:09:39:26 +0000] \"GET /sito/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36\"","timestamp":"2026-09-22T09:39:26.724Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/sito/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-22T09:39:26.724Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T10:24:09.665Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:10:24:09 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)\"","timestamp":"2026-09-22T10:24:09.665Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T10:24:09.666Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/auth/me/permissions","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:31:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)","statusCode":401,"timestamp":"2026-09-22T10:44:50.079Z"}
{"level":"http","message":"::ffff:110.226.115.133 - - [22/Sep/2026:10:44:50 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T10:44:50.080Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":401,"timestamp":"2026-09-22T10:44:50.080Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T12:11:46.194Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:12:11:46 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T12:11:46.196Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T12:11:46.196Z"}
{"level":"error","message":"Request failed Route not found: GET /favicon.ico","method":"GET","path":"/favicon.ico","stack":"ApiError: Route not found: GET /favicon.ico\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T12:11:51.197Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:12:11:51 +0000] \"GET /favicon.ico HTTP/1.1\" 404 73 \"https://143.110.241.90.nip.io/\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T12:11:51.198Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/favicon.ico","statusCode":404,"timestamp":"2026-09-22T12:11:51.198Z"}
{"level":"error","message":"Request failed Route not found: POST /wp-json/batch/v1","method":"POST","path":"/wp-json/batch/v1","stack":"ApiError: Route not found: POST /wp-json/batch/v1\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T14:35:49.757Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:14:35:49 +0000] \"POST /wp-json/batch/v1 HTTP/1.1\" 404 79 \"-\" \"Mozilla/5.0 (CentOS; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T14:35:49.759Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"POST","path":"/wp-json/batch/v1","statusCode":404,"timestamp":"2026-09-22T14:35:49.759Z"}
{"level":"error","message":"Request failed Route not found: POST /?rest_route=/batch/v1","method":"POST","path":"/?rest_route=/batch/v1","stack":"ApiError: Route not found: POST /?rest_route=/batch/v1\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T14:35:49.761Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:14:35:49 +0000] \"POST /?rest_route=/batch/v1 HTTP/1.1\" 404 84 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T14:35:49.762Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"POST","path":"/?rest_route=/batch/v1","statusCode":404,"timestamp":"2026-09-22T14:35:49.762Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T15:41:18.680Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:15:41:18 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com)\"","timestamp":"2026-09-22T15:41:18.682Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T15:41:18.682Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T15:47:25.179Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:15:47:25 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io\" \"Mozilla/5.0 (compatible; CMS-Checker/1.0; +https://example.com)\"","timestamp":"2026-09-22T15:47:25.180Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T15:47:25.180Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T16:16:07.543Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:16:16:07 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15\"","timestamp":"2026-09-22T16:16:07.545Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-22T16:16:07.545Z"}
{"level":"error","message":"Request failed Route not found: GET /_ignition/execute-solution","method":"GET","path":"/_ignition/execute-solution","stack":"ApiError: Route not found: GET /_ignition/execute-solution\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T16:36:16.194Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:16:36:16 +0000] \"GET /_ignition/execute-solution HTTP/1.1\" 404 88 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36\"","timestamp":"2026-09-22T16:36:16.196Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/_ignition/execute-solution","statusCode":404,"timestamp":"2026-09-22T16:36:16.197Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T16:37:12.019Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:16:37:12 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Mozlila/5.0 (Linux; Android 7.0; SM-G892A Bulid/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Moblie Safari/537.36\"","timestamp":"2026-09-22T16:37:12.020Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-22T16:37:12.020Z"}
{"level":"error","message":"Request failed Route not found: GET /robots.txt","method":"GET","path":"/robots.txt","stack":"ApiError: Route not found: GET /robots.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T17:38:07.646Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:17:38:07 +0000] \"GET /robots.txt HTTP/1.1\" 404 72 \"-\" \"AgentTrustBot/1.0 (+https://agenttru.st/crawler; purpose=AI Agent Discovery; contact=admin@agenttru.st)\"","timestamp":"2026-09-22T17:38:07.647Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/robots.txt","statusCode":404,"timestamp":"2026-09-22T17:38:07.647Z"}
{"level":"error","message":"Request failed Route not found: GET /.well-known/agent-card.json","method":"GET","path":"/.well-known/agent-card.json","stack":"ApiError: Route not found: GET /.well-known/agent-card.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T17:38:07.884Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:17:38:07 +0000] \"GET /.well-known/agent-card.json HTTP/1.1\" 404 89 \"-\" \"AgentTrustBot/1.0 (+https://agenttru.st/crawler; purpose=AI Agent Discovery; contact=admin@agenttru.st)\"","timestamp":"2026-09-22T17:38:07.885Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.well-known/agent-card.json","statusCode":404,"timestamp":"2026-09-22T17:38:07.885Z"}
{"level":"error","message":"Request failed Route not found: GET /.well-known/agent.json","method":"GET","path":"/.well-known/agent.json","stack":"ApiError: Route not found: GET /.well-known/agent.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T17:38:08.123Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:17:38:08 +0000] \"GET /.well-known/agent.json HTTP/1.1\" 404 84 \"-\" \"AgentTrustBot/1.0 (+https://agenttru.st/crawler; purpose=AI Agent Discovery; contact=admin@agenttru.st)\"","timestamp":"2026-09-22T17:38:08.124Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.well-known/agent.json","statusCode":404,"timestamp":"2026-09-22T17:38:08.124Z"}
{"level":"error","message":"Request failed Route not found: GET /.well-known/mcp/server-card.json","method":"GET","path":"/.well-known/mcp/server-card.json","stack":"ApiError: Route not found: GET /.well-known/mcp/server-card.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T17:38:08.361Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:17:38:08 +0000] \"GET /.well-known/mcp/server-card.json HTTP/1.1\" 404 94 \"-\" \"AgentTrustBot/1.0 (+https://agenttru.st/crawler; purpose=AI Agent Discovery; contact=admin@agenttru.st)\"","timestamp":"2026-09-22T17:38:08.364Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.well-known/mcp/server-card.json","statusCode":404,"timestamp":"2026-09-22T17:38:08.364Z"}
{"level":"error","message":"Request failed Route not found: GET /.well-known/mcp","method":"GET","path":"/.well-known/mcp","stack":"ApiError: Route not found: GET /.well-known/mcp\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T17:38:08.601Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:17:38:08 +0000] \"GET /.well-known/mcp HTTP/1.1\" 404 77 \"-\" \"AgentTrustBot/1.0 (+https://agenttru.st/crawler; purpose=AI Agent Discovery; contact=admin@agenttru.st)\"","timestamp":"2026-09-22T17:38:08.602Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.well-known/mcp","statusCode":404,"timestamp":"2026-09-22T17:38:08.602Z"}
{"level":"error","message":"Request failed Route not found: GET /.well-known/agents.json","method":"GET","path":"/.well-known/agents.json","stack":"ApiError: Route not found: GET /.well-known/agents.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T17:38:08.838Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:17:38:08 +0000] \"GET /.well-known/agents.json HTTP/1.1\" 404 85 \"-\" \"AgentTrustBot/1.0 (+https://agenttru.st/crawler; purpose=AI Agent Discovery; contact=admin@agenttru.st)\"","timestamp":"2026-09-22T17:38:08.839Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.well-known/agents.json","statusCode":404,"timestamp":"2026-09-22T17:38:08.839Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:44.373Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:44 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_3; nl-nl) AppleWebKit/527+ (KHTML, like Gecko) Version/3.1.1 Safari/525.20\"","timestamp":"2026-09-22T19:21:44.375Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-22T19:21:44.376Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.local","method":"GET","path":"/.env.local","stack":"ApiError: Route not found: GET /.env.local\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:44.379Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:44 +0000] \"GET /.env.local HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-en) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4\"","timestamp":"2026-09-22T19:21:44.380Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.local","statusCode":404,"timestamp":"2026-09-22T19:21:44.380Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.production","method":"GET","path":"/.env.production","stack":"ApiError: Route not found: GET /.env.production\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:44.385Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:44 +0000] \"GET /.env.production HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (ZZ; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T19:21:44.387Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.env.production","statusCode":404,"timestamp":"2026-09-22T19:21:44.388Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.frontend","method":"GET","path":"/.env.frontend","stack":"ApiError: Route not found: GET /.env.frontend\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:44.740Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:44 +0000] \"GET /.env.frontend HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 11) AppleWebKit/617.29 (KHTML, like Gecko) Version/17.7 Safari/617.29\"","timestamp":"2026-09-22T19:21:44.741Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.frontend","statusCode":404,"timestamp":"2026-09-22T19:21:44.741Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.development","method":"GET","path":"/.env.development","stack":"ApiError: Route not found: GET /.env.development\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:44.749Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:44 +0000] \"GET /.env.development HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (Fedora; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T19:21:44.750Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.development","statusCode":404,"timestamp":"2026-09-22T19:21:44.750Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.backend","method":"GET","path":"/.env.backend","stack":"ApiError: Route not found: GET /.env.backend\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:44.757Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:44 +0000] \"GET /.env.backend HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.2 Safari/605.1.15\"","timestamp":"2026-09-22T19:21:44.758Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.backend","statusCode":404,"timestamp":"2026-09-22T19:21:44.758Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.docker","method":"GET","path":"/.env.docker","stack":"ApiError: Route not found: GET /.env.docker\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:44.882Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:44 +0000] \"GET /.env.docker HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (CentOS; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T19:21:44.882Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.docker","statusCode":404,"timestamp":"2026-09-22T19:21:44.882Z"}
{"level":"error","message":"Request failed Route not found: GET /frontend/.env","method":"GET","path":"/frontend/.env","stack":"ApiError: Route not found: GET /frontend/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:44.886Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:44 +0000] \"GET /frontend/.env HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (Macintosh, Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.4 Safari/605.1.15\"","timestamp":"2026-09-22T19:21:44.888Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/frontend/.env","statusCode":404,"timestamp":"2026-09-22T19:21:44.888Z"}
{"level":"error","message":"Request failed Route not found: GET /backend/.env","method":"GET","path":"/backend/.env","stack":"ApiError: Route not found: GET /backend/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:44.889Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:44 +0000] \"GET /backend/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T19:21:44.891Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/backend/.env","statusCode":404,"timestamp":"2026-09-22T19:21:44.891Z"}
{"level":"error","message":"Request failed Route not found: GET /api/.env","method":"GET","path":"/api/.env","stack":"ApiError: Route not found: GET /api/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-22T19:21:45.242Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:45 +0000] \"GET /api/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0\"","timestamp":"2026-09-22T19:21:45.243Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/.env","statusCode":404,"timestamp":"2026-09-22T19:21:45.243Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-content/debug.log","method":"GET","path":"/wp-content/debug.log","stack":"ApiError: Route not found: GET /wp-content/debug.log\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:45.244Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:45 +0000] \"GET /wp-content/debug.log HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15\"","timestamp":"2026-09-22T19:21:45.245Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wp-content/debug.log","statusCode":404,"timestamp":"2026-09-22T19:21:45.245Z"}
{"level":"error","message":"Request failed Route not found: GET /app/.env","method":"GET","path":"/app/.env","stack":"ApiError: Route not found: GET /app/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:45.247Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:45 +0000] \"GET /app/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T19:21:45.247Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/app/.env","statusCode":404,"timestamp":"2026-09-22T19:21:45.247Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-config.php","method":"GET","path":"/wp-config.php","stack":"ApiError: Route not found: GET /wp-config.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:45.285Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:45 +0000] \"GET /wp-config.php HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0\"","timestamp":"2026-09-22T19:21:45.286Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp-config.php","statusCode":404,"timestamp":"2026-09-22T19:21:45.286Z"}
{"level":"error","message":"Request failed Route not found: GET /config.php","method":"GET","path":"/config.php","stack":"ApiError: Route not found: GET /config.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:45.303Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:45 +0000] \"GET /config.php HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Mobile/15E148 Safari/604.1\"","timestamp":"2026-09-22T19:21:45.304Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/config.php","statusCode":404,"timestamp":"2026-09-22T19:21:45.304Z"}
{"level":"error","message":"Request failed Route not found: GET /.aws/credentials","method":"GET","path":"/.aws/credentials","stack":"ApiError: Route not found: GET /.aws/credentials\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:45.377Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:45 +0000] \"GET /.aws/credentials HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 14.3) AppleWebKit/614.31.14 (KHTML, like Gecko) Version/17.0.96 Safari/614.31.14\"","timestamp":"2026-09-22T19:21:45.379Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.aws/credentials","statusCode":404,"timestamp":"2026-09-22T19:21:45.379Z"}
{"level":"error","message":"Request failed Route not found: GET /aws.env","method":"GET","path":"/aws.env","stack":"ApiError: Route not found: GET /aws.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:21:45.612Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:21:45 +0000] \"GET /aws.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (CentOS; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T19:21:45.615Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/aws.env","statusCode":404,"timestamp":"2026-09-22T19:21:45.615Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T19:48:55.058Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:19:48:55 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.119 Safari/537.36\"","timestamp":"2026-09-22T19:48:55.060Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T19:48:55.060Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T20:50:27.952Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:20:50:27 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0 ;Build/0220;\"","timestamp":"2026-09-22T20:50:27.954Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T20:50:27.955Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T22:48:20.272Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:22:48:20 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T22:48:20.273Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T22:48:20.273Z"}
{"level":"error","message":"Request failed Route not found: GET /feed/","method":"GET","path":"/feed/","stack":"ApiError: Route not found: GET /feed/\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T22:48:21.189Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:22:48:21 +0000] \"GET /feed/ HTTP/1.1\" 404 67 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T22:48:21.191Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/feed/","statusCode":404,"timestamp":"2026-09-22T22:48:21.191Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-login.php","method":"GET","path":"/wp-login.php","stack":"ApiError: Route not found: GET /wp-login.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T22:48:22.053Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:22:48:22 +0000] \"GET /wp-login.php HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T22:48:22.056Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/wp-login.php","statusCode":404,"timestamp":"2026-09-22T22:48:22.056Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-json/","method":"GET","path":"/wp-json/","stack":"ApiError: Route not found: GET /wp-json/\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T22:48:22.658Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:22:48:22 +0000] \"GET /wp-json/ HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T22:48:22.661Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/wp-json/","statusCode":404,"timestamp":"2026-09-22T22:48:22.661Z"}
{"level":"error","message":"Request failed Route not found: GET /xmlrpc.php","method":"GET","path":"/xmlrpc.php","stack":"ApiError: Route not found: GET /xmlrpc.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T22:48:23.273Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:22:48:23 +0000] \"GET /xmlrpc.php HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T22:48:23.274Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/xmlrpc.php","statusCode":404,"timestamp":"2026-09-22T22:48:23.274Z"}
{"level":"error","message":"Request failed Route not found: GET /robots.txt","method":"GET","path":"/robots.txt","stack":"ApiError: Route not found: GET /robots.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T22:48:23.879Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:22:48:23 +0000] \"GET /robots.txt HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T22:48:23.881Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/robots.txt","statusCode":404,"timestamp":"2026-09-22T22:48:23.881Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:46.993Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:46 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:46.995Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T23:31:46.995Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/HEAD","method":"GET","path":"/.git/HEAD","stack":"ApiError: Route not found: GET /.git/HEAD\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:47.157Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:47 +0000] \"GET /.git/HEAD HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:47.158Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.git/HEAD","statusCode":404,"timestamp":"2026-09-22T23:31:47.158Z"}
{"level":"error","message":"Request failed Route not found: GET /.svn/wc.db","method":"GET","path":"/.svn/wc.db","stack":"ApiError: Route not found: GET /.svn/wc.db\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:47.958Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:47 +0000] \"GET /.svn/wc.db HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:47.959Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.svn/wc.db","statusCode":404,"timestamp":"2026-09-22T23:31:47.959Z"}
{"level":"error","message":"Request failed Route not found: GET /.svn/entries","method":"GET","path":"/.svn/entries","stack":"ApiError: Route not found: GET /.svn/entries\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:48.119Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:48 +0000] \"GET /.svn/entries HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:48.120Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.svn/entries","statusCode":404,"timestamp":"2026-09-22T23:31:48.120Z"}
{"level":"error","message":"Request failed Route not found: GET /api/v1/version","method":"GET","path":"/api/v1/version","stack":"ApiError: Route not found: GET /api/v1/version\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-22T23:31:48.957Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:48 +0000] \"GET /api/v1/version HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:48.958Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/v1/version","statusCode":404,"timestamp":"2026-09-22T23:31:48.958Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:48.961Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:48 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:48.962Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T23:31:48.963Z"}
{"level":"error","message":"Request failed Route not found: GET /api/v1/version","method":"GET","path":"/api/v1/version","stack":"ApiError: Route not found: GET /api/v1/version\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-22T23:31:48.966Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:48 +0000] \"GET /api/v1/version HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:48.967Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/v1/version","statusCode":404,"timestamp":"2026-09-22T23:31:48.967Z"}
{"level":"error","message":"Request failed Route not found: GET /geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","method":"GET","path":"/geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","stack":"ApiError: Route not found: GET /geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:49.114Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:49 +0000] \"GET /geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata HTTP/1.1\" 404 181 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:49.115Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","statusCode":404,"timestamp":"2026-09-22T23:31:49.115Z"}
{"level":"error","message":"Request failed Route not found: GET /geoserver/web/","method":"GET","path":"/geoserver/web/","stack":"ApiError: Route not found: GET /geoserver/web/\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:49.239Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:49 +0000] \"GET /geoserver/web/ HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:49.240Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/geoserver/web/","statusCode":404,"timestamp":"2026-09-22T23:31:49.240Z"}
{"level":"error","message":"Request failed Route not found: GET /geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","method":"GET","path":"/geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","stack":"ApiError: Route not found: GET /geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:49.272Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:49 +0000] \"GET /geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata HTTP/1.1\" 404 181 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:49.272Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","statusCode":404,"timestamp":"2026-09-22T23:31:49.273Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:49.295Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:49 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:49.296Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-22T23:31:49.296Z"}
{"level":"error","message":"Request failed Route not found: GET /geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities","method":"GET","path":"/geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities","stack":"ApiError: Route not found: GET /geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:49.399Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:49 +0000] \"GET /geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities HTTP/1.1\" 404 125 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:49.400Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities","statusCode":404,"timestamp":"2026-09-22T23:31:49.400Z"}
{"level":"error","message":"Request failed Route not found: GET /ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","method":"GET","path":"/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","stack":"ApiError: Route not found: GET /ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:49.429Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:49 +0000] \"GET /ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata HTTP/1.1\" 404 171 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:49.430Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","statusCode":404,"timestamp":"2026-09-22T23:31:49.430Z"}
{"level":"error","message":"Request failed Route not found: GET /wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","method":"GET","path":"/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","stack":"ApiError: Route not found: GET /wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-22T23:31:49.586Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [22/Sep/2026:23:31:49 +0000] \"GET /wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata HTTP/1.1\" 404 171 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-22T23:31:49.587Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","statusCode":404,"timestamp":"2026-09-22T23:31:49.587Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T00:08:45.311Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:00:08:45 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)\"","timestamp":"2026-09-23T00:08:45.314Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-23T00:08:45.314Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T02:09:28.122Z"}
{"level":"http","message":"::ffff:85.217.149.31 - - [23/Sep/2026:02:09:28 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-23T02:09:28.123Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-23T02:09:28.123Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T03:22:19.172Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:03:22:19 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36\"","timestamp":"2026-09-23T03:22:19.173Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-23T03:22:19.173Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T04:17:30.446Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:04:17:30 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T04:17:30.448Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-23T04:17:30.448Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T04:48:00.541Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [23/Sep/2026:04:48:00 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T04:48:00.542Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-09-23T04:48:00.544Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T04:48:00.687Z"}
{"level":"http","message":"::ffff:45.135.194.60 - - [23/Sep/2026:04:48:00 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T04:48:00.688Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-23T04:48:00.689Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config","method":"GET","path":"/.git/config","stack":"ApiError: Route not found: GET /.git/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T06:20:45.674Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:06:20:45 +0000] \"GET /.git/config HTTP/1.1\" 404 73 \"http://143.110.241.90.nip.io/.git/config\" \"Mozilla/5.0 (X11; Linux x86_64)\"","timestamp":"2026-09-23T06:20:45.676Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.git/config","statusCode":404,"timestamp":"2026-09-23T06:20:45.677Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T07:18:22.042Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:07:18:22 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T07:18:22.044Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-23T07:18:22.044Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T07:18:22.046Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:07:18:22 +0000] \"GET / HTTP/1.1\" 404 62 \"https://www.facebook.com/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1\"","timestamp":"2026-09-23T07:18:22.046Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-23T07:18:22.047Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/auth/me/permissions","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:31:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)","statusCode":401,"timestamp":"2026-09-23T13:07:27.068Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [23/Sep/2026:13:07:27 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T13:07:27.071Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":401,"timestamp":"2026-09-23T13:07:27.071Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T15:15:54.779Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:15:15:54 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T15:15:54.782Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-23T15:15:54.782Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T16:06:14.937Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:16:06:14 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T16:06:14.938Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-23T16:06:14.938Z"}
{"level":"error","message":"Request failed Route not found: GET /xmlrpc.php?rsd","method":"GET","path":"/xmlrpc.php?rsd","stack":"ApiError: Route not found: GET /xmlrpc.php?rsd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T19:49:22.366Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:19:49:22 +0000] \"GET /xmlrpc.php?rsd HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T19:49:22.369Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/xmlrpc.php?rsd","statusCode":404,"timestamp":"2026-09-23T19:49:22.370Z"}
{"level":"error","message":"Request failed Route not found: GET /blog/robots.txt","method":"GET","path":"/blog/robots.txt","stack":"ApiError: Route not found: GET /blog/robots.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T19:49:22.441Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:19:49:22 +0000] \"GET /blog/robots.txt HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T19:49:22.443Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/blog/robots.txt","statusCode":404,"timestamp":"2026-09-23T19:49:22.443Z"}
{"level":"error","message":"Request failed Route not found: GET /blog/","method":"GET","path":"/blog/","stack":"ApiError: Route not found: GET /blog/\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T19:49:22.533Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:19:49:22 +0000] \"GET /blog/ HTTP/1.1\" 404 67 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T19:49:22.537Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/blog/","statusCode":404,"timestamp":"2026-09-23T19:49:22.537Z"}
{"level":"error","message":"Request failed Route not found: GET /wordpress/","method":"GET","path":"/wordpress/","stack":"ApiError: Route not found: GET /wordpress/\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T19:49:22.626Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:19:49:22 +0000] \"GET /wordpress/ HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T19:49:22.630Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/wordpress/","statusCode":404,"timestamp":"2026-09-23T19:49:22.630Z"}
{"level":"error","message":"Request failed Route not found: GET /wp/","method":"GET","path":"/wp/","stack":"ApiError: Route not found: GET /wp/\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-23T19:49:22.713Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [23/Sep/2026:19:49:22 +0000] \"GET /wp/ HTTP/1.1\" 404 65 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"","timestamp":"2026-09-23T19:49:22.714Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp/","statusCode":404,"timestamp":"2026-09-23T19:49:22.714Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-24T09:15:42.694Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [24/Sep/2026:09:15:42 +0000] \"GET / HTTP/1.1\" 404 62 \"http://143.110.241.90.nip.io/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0\"","timestamp":"2026-09-24T09:15:42.695Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-24T09:15:42.696Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-24T12:15:15.891Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [24/Sep/2026:12:15:15 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0\"","timestamp":"2026-09-24T12:15:15.894Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-24T12:15:15.894Z"}
{"level":"error","message":"Request failed Route not found: GET /favicon.ico","method":"GET","path":"/favicon.ico","stack":"ApiError: Route not found: GET /favicon.ico\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-24T12:15:22.347Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [24/Sep/2026:12:15:22 +0000] \"GET /favicon.ico HTTP/1.1\" 404 73 \"https://143.110.241.90.nip.io/\" \"Mozilla/5.0 (X11; Linux x86_64; rv:153.0) Gecko/20100101 Firefox/153.0\"","timestamp":"2026-09-24T12:15:22.349Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/favicon.ico","statusCode":404,"timestamp":"2026-09-24T12:15:22.350Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-24T22:36:22.662Z"}
{"level":"http","message":"::ffff:85.217.149.0 - - [24/Sep/2026:22:36:22 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-24T22:36:22.664Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-24T22:36:22.664Z"}
{"level":"error","message":"Request failed Route not found: POST /wp-json/batch/v1","method":"POST","path":"/wp-json/batch/v1","stack":"ApiError: Route not found: POST /wp-json/batch/v1\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T01:09:57.161Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:01:09:57 +0000] \"POST /wp-json/batch/v1 HTTP/1.1\" 404 79 \"-\" \"python-httpx/0.28.1\"","timestamp":"2026-09-25T01:09:57.162Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"POST","path":"/wp-json/batch/v1","statusCode":404,"timestamp":"2026-09-25T01:09:57.163Z"}
{"level":"error","message":"Request failed Route not found: POST /?rest_route=/batch/v1","method":"POST","path":"/?rest_route=/batch/v1","stack":"ApiError: Route not found: POST /?rest_route=/batch/v1\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T01:09:57.372Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:01:09:57 +0000] \"POST /?rest_route=/batch/v1 HTTP/1.1\" 404 84 \"-\" \"python-httpx/0.28.1\"","timestamp":"2026-09-25T01:09:57.373Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"POST","path":"/?rest_route=/batch/v1","statusCode":404,"timestamp":"2026-09-25T01:09:57.373Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:00:47.957Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:00:47 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"python-httpx/0.28.1\"","timestamp":"2026-09-25T03:00:47.958Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-09-25T03:00:47.958Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:00:53.106Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:00:53 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3\"","timestamp":"2026-09-25T03:00:53.110Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-25T03:00:53.110Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:00:53.187Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:00:53 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3\"","timestamp":"2026-09-25T03:00:53.190Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-25T03:00:53.190Z"}
{"level":"error","message":"Request failed Route not found: GET /favicon.ico","method":"GET","path":"/favicon.ico","stack":"ApiError: Route not found: GET /favicon.ico\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:00:53.369Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:00:53 +0000] \"GET /favicon.ico HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3\"","timestamp":"2026-09-25T03:00:53.370Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/favicon.ico","statusCode":404,"timestamp":"2026-09-25T03:00:53.370Z"}
{"level":"error","message":"Request failed Route not found: GET /favicon.ico","method":"GET","path":"/favicon.ico","stack":"ApiError: Route not found: GET /favicon.ico\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:00:58.219Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:00:58 +0000] \"GET /favicon.ico HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.3\"","timestamp":"2026-09-25T03:00:58.220Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/favicon.ico","statusCode":404,"timestamp":"2026-09-25T03:00:58.220Z"}
{"level":"error","message":"Request failed Route not found: GET /ads.txt","method":"GET","path":"/ads.txt","stack":"ApiError: Route not found: GET /ads.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:01:02.404Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:01:02 +0000] \"GET /ads.txt HTTP/1.1\" 404 69 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-09-25T03:01:02.405Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/ads.txt","statusCode":404,"timestamp":"2026-09-25T03:01:02.405Z"}
{"level":"error","message":"Request failed Route not found: GET /app-ads.txt","method":"GET","path":"/app-ads.txt","stack":"ApiError: Route not found: GET /app-ads.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:01:02.423Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:01:02 +0000] \"GET /app-ads.txt HTTP/1.1\" 404 73 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-09-25T03:01:02.425Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/app-ads.txt","statusCode":404,"timestamp":"2026-09-25T03:01:02.425Z"}
{"level":"error","message":"Request failed Route not found: GET /sellers.json","method":"GET","path":"/sellers.json","stack":"ApiError: Route not found: GET /sellers.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:01:02.465Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:01:02 +0000] \"GET /sellers.json HTTP/1.1\" 404 74 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-09-25T03:01:02.466Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/sellers.json","statusCode":404,"timestamp":"2026-09-25T03:01:02.467Z"}
{"level":"error","message":"Request failed Route not found: GET /.well-known/security.txt","method":"GET","path":"/.well-known/security.txt","stack":"ApiError: Route not found: GET /.well-known/security.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:01:02.888Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:01:02 +0000] \"GET /.well-known/security.txt HTTP/1.1\" 404 86 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-09-25T03:01:02.890Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.well-known/security.txt","statusCode":404,"timestamp":"2026-09-25T03:01:02.890Z"}
{"level":"error","message":"Request failed Route not found: GET /security.txt","method":"GET","path":"/security.txt","stack":"ApiError: Route not found: GET /security.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:01:03.333Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:01:03 +0000] \"GET /security.txt HTTP/1.1\" 404 74 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-09-25T03:01:03.337Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/security.txt","statusCode":404,"timestamp":"2026-09-25T03:01:03.337Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config","method":"GET","path":"/.git/config","stack":"ApiError: Route not found: GET /.git/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T03:20:54.191Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:03:20:54 +0000] \"GET /.git/config HTTP/1.1\" 404 73 \"-\" \"POLARIS/6.01 (BREW 3.1.5; U; en-us; LG; LX265; POLARIS/6.01/WAP) MMP/2.0 profile/MIDP-2.1 Configuration/CLDC-1.1\"","timestamp":"2026-09-25T03:20:54.192Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.git/config","statusCode":404,"timestamp":"2026-09-25T03:20:54.193Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T20:37:37.802Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:20:37:37 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36\"","timestamp":"2026-09-25T20:37:37.803Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-25T20:37:37.804Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config","method":"GET","path":"/.git/config","stack":"ApiError: Route not found: GET /.git/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-25T22:48:56.142Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [25/Sep/2026:22:48:56 +0000] \"GET /.git/config HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15\"","timestamp":"2026-09-25T22:48:56.143Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.git/config","statusCode":404,"timestamp":"2026-09-25T22:48:56.144Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T01:21:33.517Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:01:21:33 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"domain-harvester/dev (+https://github.com/esc-city/domain-harvester)\"","timestamp":"2026-09-26T01:21:33.519Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-26T01:21:33.519Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:37.135Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:37 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:37.137Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-26T06:08:37.137Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/HEAD","method":"GET","path":"/.git/HEAD","stack":"ApiError: Route not found: GET /.git/HEAD\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:37.298Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:37 +0000] \"GET /.git/HEAD HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:37.299Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.git/HEAD","statusCode":404,"timestamp":"2026-09-26T06:08:37.299Z"}
{"level":"error","message":"Request failed Route not found: GET /.svn/wc.db","method":"GET","path":"/.svn/wc.db","stack":"ApiError: Route not found: GET /.svn/wc.db\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:37.896Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:37 +0000] \"GET /.svn/wc.db HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:37.897Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.svn/wc.db","statusCode":404,"timestamp":"2026-09-26T06:08:37.897Z"}
{"level":"error","message":"Request failed Route not found: GET /.svn/entries","method":"GET","path":"/.svn/entries","stack":"ApiError: Route not found: GET /.svn/entries\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:38.112Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:38 +0000] \"GET /.svn/entries HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:38.112Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.svn/entries","statusCode":404,"timestamp":"2026-09-26T06:08:38.113Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:40.645Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:40 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:40.646Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-26T06:08:40.646Z"}
{"level":"error","message":"Request failed Route not found: GET /api/v1/version","method":"GET","path":"/api/v1/version","stack":"ApiError: Route not found: GET /api/v1/version\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-26T06:08:40.659Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:40 +0000] \"GET /api/v1/version HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:40.660Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/v1/version","statusCode":404,"timestamp":"2026-09-26T06:08:40.660Z"}
{"level":"error","message":"Request failed Route not found: GET /api/v1/version","method":"GET","path":"/api/v1/version","stack":"ApiError: Route not found: GET /api/v1/version\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-26T06:08:40.668Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:40 +0000] \"GET /api/v1/version HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:40.669Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/v1/version","statusCode":404,"timestamp":"2026-09-26T06:08:40.669Z"}
{"level":"error","message":"Request failed Route not found: GET /geoserver/web/","method":"GET","path":"/geoserver/web/","stack":"ApiError: Route not found: GET /geoserver/web/\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:40.684Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:40 +0000] \"GET /geoserver/web/ HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:40.685Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/geoserver/web/","statusCode":404,"timestamp":"2026-09-26T06:08:40.685Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:40.688Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:40 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:40.688Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-26T06:08:40.688Z"}
{"level":"error","message":"Request failed Route not found: GET /geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","method":"GET","path":"/geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","stack":"ApiError: Route not found: GET /geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:40.829Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:40 +0000] \"GET /geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata HTTP/1.1\" 404 181 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:40.831Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/geoserver/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","statusCode":404,"timestamp":"2026-09-26T06:08:40.831Z"}
{"level":"error","message":"Request failed Route not found: GET /geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities","method":"GET","path":"/geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities","stack":"ApiError: Route not found: GET /geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:40.848Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:40 +0000] \"GET /geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities HTTP/1.1\" 404 125 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:40.848Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/geoserver/wfs?service=WFS&version=2.0.0&request=GetCapabilities","statusCode":404,"timestamp":"2026-09-26T06:08:40.849Z"}
{"level":"error","message":"Request failed Route not found: GET /geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","method":"GET","path":"/geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","stack":"ApiError: Route not found: GET /geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:40.992Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:40 +0000] \"GET /geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata HTTP/1.1\" 404 181 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:40.994Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/geoserver/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","statusCode":404,"timestamp":"2026-09-26T06:08:40.994Z"}
{"level":"error","message":"Request failed Route not found: GET /ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","method":"GET","path":"/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","stack":"ApiError: Route not found: GET /ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:41.153Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:41 +0000] \"GET /ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata HTTP/1.1\" 404 171 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:41.155Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/ows?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","statusCode":404,"timestamp":"2026-09-26T06:08:41.156Z"}
{"level":"error","message":"Request failed Route not found: GET /wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","method":"GET","path":"/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","stack":"ApiError: Route not found: GET /wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T06:08:41.315Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:06:08:41 +0000] \"GET /wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata HTTP/1.1\" 404 171 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-09-26T06:08:41.316Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wfs?service=WFS&request=GetCapabilities&sections=ServiceIdentification%2CServiceProvider%2COperationsMetadata","statusCode":404,"timestamp":"2026-09-26T06:08:41.316Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config","method":"GET","path":"/.git/config","stack":"ApiError: Route not found: GET /.git/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:52.718Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:52 +0000] \"GET /.git/config HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:52.720Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.git/config","statusCode":404,"timestamp":"2026-09-26T13:05:52.720Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/credentials","method":"GET","path":"/.git/credentials","stack":"ApiError: Route not found: GET /.git/credentials\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:53.480Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:53 +0000] \"GET /.git/credentials HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:53.481Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.git/credentials","statusCode":404,"timestamp":"2026-09-26T13:05:53.481Z"}
{"level":"error","message":"Request failed Route not found: GET /.git-credentials","method":"GET","path":"/.git-credentials","stack":"ApiError: Route not found: GET /.git-credentials\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:53.739Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:53 +0000] \"GET /.git-credentials HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:53.740Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.git-credentials","statusCode":404,"timestamp":"2026-09-26T13:05:53.740Z"}
{"level":"error","message":"Request failed Route not found: GET /.gitconfig","method":"GET","path":"/.gitconfig","stack":"ApiError: Route not found: GET /.gitconfig\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:53.985Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:53 +0000] \"GET /.gitconfig HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:53.986Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.gitconfig","statusCode":404,"timestamp":"2026-09-26T13:05:53.986Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/configf","method":"GET","path":"/.git/configf","stack":"ApiError: Route not found: GET /.git/configf\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:54.721Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:54 +0000] \"GET /.git/configf HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:54.722Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.git/configf","statusCode":404,"timestamp":"2026-09-26T13:05:54.722Z"}
{"level":"error","message":"Request failed Route not found: GET /.netrc","method":"GET","path":"/.netrc","stack":"ApiError: Route not found: GET /.netrc\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:55.456Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:55 +0000] \"GET /.netrc HTTP/1.1\" 404 68 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:55.457Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.netrc","statusCode":404,"timestamp":"2026-09-26T13:05:55.457Z"}
{"level":"error","message":"Request failed Route not found: GET /_netrc","method":"GET","path":"/_netrc","stack":"ApiError: Route not found: GET /_netrc\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:55.702Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:55 +0000] \"GET /_netrc HTTP/1.1\" 404 68 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:55.703Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/_netrc","statusCode":404,"timestamp":"2026-09-26T13:05:55.703Z"}
{"level":"error","message":"Request failed Route not found: GET /.npmrc","method":"GET","path":"/.npmrc","stack":"ApiError: Route not found: GET /.npmrc\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:55.947Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:55 +0000] \"GET /.npmrc HTTP/1.1\" 404 68 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:55.949Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.npmrc","statusCode":404,"timestamp":"2026-09-26T13:05:55.950Z"}
{"level":"error","message":"Request failed Route not found: GET /.pypirc","method":"GET","path":"/.pypirc","stack":"ApiError: Route not found: GET /.pypirc\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:56.196Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:56 +0000] \"GET /.pypirc HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:56.199Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.pypirc","statusCode":404,"timestamp":"2026-09-26T13:05:56.199Z"}
{"level":"error","message":"Request failed Route not found: GET /.yarnrc","method":"GET","path":"/.yarnrc","stack":"ApiError: Route not found: GET /.yarnrc\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:56.445Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:56 +0000] \"GET /.yarnrc HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:56.447Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.yarnrc","statusCode":404,"timestamp":"2026-09-26T13:05:56.448Z"}
{"level":"error","message":"Request failed Route not found: GET /.gem/credentials","method":"GET","path":"/.gem/credentials","stack":"ApiError: Route not found: GET /.gem/credentials\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:56.691Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:56 +0000] \"GET /.gem/credentials HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:56.692Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.gem/credentials","statusCode":404,"timestamp":"2026-09-26T13:05:56.692Z"}
{"level":"error","message":"Request failed Route not found: GET /.config/gh/hosts.yml","method":"GET","path":"/.config/gh/hosts.yml","stack":"ApiError: Route not found: GET /.config/gh/hosts.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:56.951Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:56 +0000] \"GET /.config/gh/hosts.yml HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:56.952Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.config/gh/hosts.yml","statusCode":404,"timestamp":"2026-09-26T13:05:56.952Z"}
{"level":"error","message":"Request failed Route not found: GET /.config/gh/config.yml","method":"GET","path":"/.config/gh/config.yml","stack":"ApiError: Route not found: GET /.config/gh/config.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:57.197Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:57 +0000] \"GET /.config/gh/config.yml HTTP/1.1\" 404 83 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:57.198Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.config/gh/config.yml","statusCode":404,"timestamp":"2026-09-26T13:05:57.198Z"}
{"level":"error","message":"Request failed Route not found: GET /.config/git/config","method":"GET","path":"/.config/git/config","stack":"ApiError: Route not found: GET /.config/git/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:57.443Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:57 +0000] \"GET /.config/git/config HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:57.443Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.config/git/config","statusCode":404,"timestamp":"2026-09-26T13:05:57.443Z"}
{"level":"error","message":"Request failed Route not found: GET /.composer/auth.json","method":"GET","path":"/.composer/auth.json","stack":"ApiError: Route not found: GET /.composer/auth.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:57.688Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:57 +0000] \"GET /.composer/auth.json HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:57.689Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.composer/auth.json","statusCode":404,"timestamp":"2026-09-26T13:05:57.689Z"}
{"level":"error","message":"Request failed Route not found: GET /composer/auth.json","method":"GET","path":"/composer/auth.json","stack":"ApiError: Route not found: GET /composer/auth.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:57.934Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:57 +0000] \"GET /composer/auth.json HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:57.934Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/composer/auth.json","statusCode":404,"timestamp":"2026-09-26T13:05:57.934Z"}
{"level":"error","message":"Request failed Route not found: GET /.composer","method":"GET","path":"/.composer","stack":"ApiError: Route not found: GET /.composer\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:58.179Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:58 +0000] \"GET /.composer HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:58.180Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.composer","statusCode":404,"timestamp":"2026-09-26T13:05:58.180Z"}
{"level":"error","message":"Request failed Route not found: GET /composer/installed.json","method":"GET","path":"/composer/installed.json","stack":"ApiError: Route not found: GET /composer/installed.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:58.426Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:58 +0000] \"GET /composer/installed.json HTTP/1.1\" 404 85 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:58.427Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/composer/installed.json","statusCode":404,"timestamp":"2026-09-26T13:05:58.427Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:58.685Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:58 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:58.687Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-26T13:05:58.687Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.local","method":"GET","path":"/.env.local","stack":"ApiError: Route not found: GET /.env.local\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:58.931Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:58 +0000] \"GET /.env.local HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:58.931Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.local","statusCode":404,"timestamp":"2026-09-26T13:05:58.932Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.production","method":"GET","path":"/.env.production","stack":"ApiError: Route not found: GET /.env.production\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:59.177Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:59 +0000] \"GET /.env.production HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:59.178Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.production","statusCode":404,"timestamp":"2026-09-26T13:05:59.178Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.staging","method":"GET","path":"/.env.staging","stack":"ApiError: Route not found: GET /.env.staging\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:59.423Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:59 +0000] \"GET /.env.staging HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:59.423Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.staging","statusCode":404,"timestamp":"2026-09-26T13:05:59.424Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.dev","method":"GET","path":"/.env.dev","stack":"ApiError: Route not found: GET /.env.dev\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:59.669Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:59 +0000] \"GET /.env.dev HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:59.670Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.dev","statusCode":404,"timestamp":"2026-09-26T13:05:59.670Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.backup","method":"GET","path":"/.env.backup","stack":"ApiError: Route not found: GET /.env.backup\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:05:59.916Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:05:59 +0000] \"GET /.env.backup HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:05:59.917Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.backup","statusCode":404,"timestamp":"2026-09-26T13:05:59.917Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.old","method":"GET","path":"/.env.old","stack":"ApiError: Route not found: GET /.env.old\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:00.163Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:00 +0000] \"GET /.env.old HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:00.166Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.env.old","statusCode":404,"timestamp":"2026-09-26T13:06:00.166Z"}
{"level":"error","message":"Request failed Route not found: GET /.docker/config.json","method":"GET","path":"/.docker/config.json","stack":"ApiError: Route not found: GET /.docker/config.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:00.417Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:00 +0000] \"GET /.docker/config.json HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:00.421Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/.docker/config.json","statusCode":404,"timestamp":"2026-09-26T13:06:00.421Z"}
{"level":"error","message":"Request failed Route not found: GET /docker-compose.yml","method":"GET","path":"/docker-compose.yml","stack":"ApiError: Route not found: GET /docker-compose.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:00.668Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:00 +0000] \"GET /docker-compose.yml HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:00.671Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/docker-compose.yml","statusCode":404,"timestamp":"2026-09-26T13:06:00.671Z"}
{"level":"error","message":"Request failed Route not found: GET /docker-compose.yaml","method":"GET","path":"/docker-compose.yaml","stack":"ApiError: Route not found: GET /docker-compose.yaml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:00.916Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:00 +0000] \"GET /docker-compose.yaml HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:00.917Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/docker-compose.yaml","statusCode":404,"timestamp":"2026-09-26T13:06:00.917Z"}
{"level":"error","message":"Request failed Route not found: GET /.aws/credentials","method":"GET","path":"/.aws/credentials","stack":"ApiError: Route not found: GET /.aws/credentials\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:01.162Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:01 +0000] \"GET /.aws/credentials HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:01.163Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.aws/credentials","statusCode":404,"timestamp":"2026-09-26T13:06:01.164Z"}
{"level":"error","message":"Request failed Route not found: GET /~/.aws/credentials","method":"GET","path":"/~/.aws/credentials","stack":"ApiError: Route not found: GET /~/.aws/credentials\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:01.423Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:01 +0000] \"GET /~/.aws/credentials HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:01.424Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/~/.aws/credentials","statusCode":404,"timestamp":"2026-09-26T13:06:01.424Z"}
{"level":"error","message":"Request failed Route not found: GET /aws-credentials.json","method":"GET","path":"/aws-credentials.json","stack":"ApiError: Route not found: GET /aws-credentials.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:01.671Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:01 +0000] \"GET /aws-credentials.json HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:01.672Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/aws-credentials.json","statusCode":404,"timestamp":"2026-09-26T13:06:01.673Z"}
{"level":"error","message":"Request failed Route not found: GET /credentials","method":"GET","path":"/credentials","stack":"ApiError: Route not found: GET /credentials\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:01.918Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:01 +0000] \"GET /credentials HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:01.919Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/credentials","statusCode":404,"timestamp":"2026-09-26T13:06:01.919Z"}
{"level":"error","message":"Request failed Route not found: GET /credentials.json","method":"GET","path":"/credentials.json","stack":"ApiError: Route not found: GET /credentials.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:02.165Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:02 +0000] \"GET /credentials.json HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:02.166Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/credentials.json","statusCode":404,"timestamp":"2026-09-26T13:06:02.166Z"}
{"level":"error","message":"Request failed Route not found: GET /gcp-credentials.json","method":"GET","path":"/gcp-credentials.json","stack":"ApiError: Route not found: GET /gcp-credentials.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:02.411Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:02 +0000] \"GET /gcp-credentials.json HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:02.412Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/gcp-credentials.json","statusCode":404,"timestamp":"2026-09-26T13:06:02.413Z"}
{"level":"error","message":"Request failed Route not found: GET /client_secret.json","method":"GET","path":"/client_secret.json","stack":"ApiError: Route not found: GET /client_secret.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:02.659Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:02 +0000] \"GET /client_secret.json HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:02.662Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/client_secret.json","statusCode":404,"timestamp":"2026-09-26T13:06:02.663Z"}
{"level":"error","message":"Request failed Route not found: GET /service-account.json","method":"GET","path":"/service-account.json","stack":"ApiError: Route not found: GET /service-account.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:02.907Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:02 +0000] \"GET /service-account.json HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:02.909Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/service-account.json","statusCode":404,"timestamp":"2026-09-26T13:06:02.909Z"}
{"level":"error","message":"Request failed Route not found: GET /application_default_credentials.json","method":"GET","path":"/application_default_credentials.json","stack":"ApiError: Route not found: GET /application_default_credentials.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:03.168Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:03 +0000] \"GET /application_default_credentials.json HTTP/1.1\" 404 98 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:03.169Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/application_default_credentials.json","statusCode":404,"timestamp":"2026-09-26T13:06:03.169Z"}
{"level":"error","message":"Request failed Route not found: GET /.ssh/id_rsa","method":"GET","path":"/.ssh/id_rsa","stack":"ApiError: Route not found: GET /.ssh/id_rsa\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:03.429Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:03 +0000] \"GET /.ssh/id_rsa HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:03.431Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.ssh/id_rsa","statusCode":404,"timestamp":"2026-09-26T13:06:03.431Z"}
{"level":"error","message":"Request failed Route not found: GET /.ssh/id_rsa.pub","method":"GET","path":"/.ssh/id_rsa.pub","stack":"ApiError: Route not found: GET /.ssh/id_rsa.pub\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:03.677Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:03 +0000] \"GET /.ssh/id_rsa.pub HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:03.678Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.ssh/id_rsa.pub","statusCode":404,"timestamp":"2026-09-26T13:06:03.678Z"}
{"level":"error","message":"Request failed Route not found: GET /.ssh/authorized_keys","method":"GET","path":"/.ssh/authorized_keys","stack":"ApiError: Route not found: GET /.ssh/authorized_keys\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:03.923Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:03 +0000] \"GET /.ssh/authorized_keys HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:03.926Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.ssh/authorized_keys","statusCode":404,"timestamp":"2026-09-26T13:06:03.926Z"}
{"level":"error","message":"Request failed Route not found: GET /.ssh/id_ed25519","method":"GET","path":"/.ssh/id_ed25519","stack":"ApiError: Route not found: GET /.ssh/id_ed25519\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:04.170Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:04 +0000] \"GET /.ssh/id_ed25519 HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:04.171Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.ssh/id_ed25519","statusCode":404,"timestamp":"2026-09-26T13:06:04.172Z"}
{"level":"error","message":"Request failed Route not found: GET /config.json","method":"GET","path":"/config.json","stack":"ApiError: Route not found: GET /config.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:04.418Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:04 +0000] \"GET /config.json HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:04.419Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/config.json","statusCode":404,"timestamp":"2026-09-26T13:06:04.419Z"}
{"level":"error","message":"Request failed Route not found: GET /config.env","method":"GET","path":"/config.env","stack":"ApiError: Route not found: GET /config.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:04.664Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:04 +0000] \"GET /config.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:04.667Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/config.env","statusCode":404,"timestamp":"2026-09-26T13:06:04.667Z"}
{"level":"error","message":"Request failed Route not found: GET /config/aws.yml","method":"GET","path":"/config/aws.yml","stack":"ApiError: Route not found: GET /config/aws.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:04.913Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:04 +0000] \"GET /config/aws.yml HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:04.917Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/config/aws.yml","statusCode":404,"timestamp":"2026-09-26T13:06:04.917Z"}
{"level":"error","message":"Request failed Route not found: GET /secret","method":"GET","path":"/secret","stack":"ApiError: Route not found: GET /secret\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:05.161Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:05 +0000] \"GET /secret HTTP/1.1\" 404 68 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:05.163Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/secret","statusCode":404,"timestamp":"2026-09-26T13:06:05.163Z"}
{"level":"error","message":"Request failed Route not found: GET /secret.json","method":"GET","path":"/secret.json","stack":"ApiError: Route not found: GET /secret.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:05.421Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:05 +0000] \"GET /secret.json HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:05.423Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/secret.json","statusCode":404,"timestamp":"2026-09-26T13:06:05.423Z"}
{"level":"error","message":"Request failed Route not found: GET /secrets.yml","method":"GET","path":"/secrets.yml","stack":"ApiError: Route not found: GET /secrets.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:05.681Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:05 +0000] \"GET /secrets.yml HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:05.682Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/secrets.yml","statusCode":404,"timestamp":"2026-09-26T13:06:05.682Z"}
{"level":"error","message":"Request failed Route not found: GET /secrets/","method":"GET","path":"/secrets/","stack":"ApiError: Route not found: GET /secrets/\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:05.940Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:05 +0000] \"GET /secrets/ HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:05.941Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/secrets/","statusCode":404,"timestamp":"2026-09-26T13:06:05.941Z"}
{"level":"error","message":"Request failed Route not found: GET /.keys.yml","method":"GET","path":"/.keys.yml","stack":"ApiError: Route not found: GET /.keys.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:06.187Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:06 +0000] \"GET /.keys.yml HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:06.189Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.keys.yml","statusCode":404,"timestamp":"2026-09-26T13:06:06.189Z"}
{"level":"error","message":"Request failed Route not found: GET /key","method":"GET","path":"/key","stack":"ApiError: Route not found: GET /key\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:06.435Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:06 +0000] \"GET /key HTTP/1.1\" 404 65 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:06.436Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/key","statusCode":404,"timestamp":"2026-09-26T13:06:06.436Z"}
{"level":"error","message":"Request failed Route not found: GET /private.key","method":"GET","path":"/private.key","stack":"ApiError: Route not found: GET /private.key\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:06.681Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:06 +0000] \"GET /private.key HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:06.683Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/private.key","statusCode":404,"timestamp":"2026-09-26T13:06:06.683Z"}
{"level":"error","message":"Request failed Route not found: GET /private.pem","method":"GET","path":"/private.pem","stack":"ApiError: Route not found: GET /private.pem\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:06.927Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:06 +0000] \"GET /private.pem HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:06.928Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/private.pem","statusCode":404,"timestamp":"2026-09-26T13:06:06.929Z"}
{"level":"error","message":"Request failed Route not found: GET /backup.key","method":"GET","path":"/backup.key","stack":"ApiError: Route not found: GET /backup.key\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:07.187Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:07 +0000] \"GET /backup.key HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:07.188Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/backup.key","statusCode":404,"timestamp":"2026-09-26T13:06:07.188Z"}
{"level":"error","message":"Request failed Route not found: GET /server.key","method":"GET","path":"/server.key","stack":"ApiError: Route not found: GET /server.key\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:07.434Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:07 +0000] \"GET /server.key HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:07.435Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/server.key","statusCode":404,"timestamp":"2026-09-26T13:06:07.435Z"}
{"level":"error","message":"Request failed Route not found: GET /.gitlab-ci.yml","method":"GET","path":"/.gitlab-ci.yml","stack":"ApiError: Route not found: GET /.gitlab-ci.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:07.680Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:07 +0000] \"GET /.gitlab-ci.yml HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:07.682Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.gitlab-ci.yml","statusCode":404,"timestamp":"2026-09-26T13:06:07.682Z"}
{"level":"error","message":"Request failed Route not found: GET /.gitlab/CI.template","method":"GET","path":"/.gitlab/CI.template","stack":"ApiError: Route not found: GET /.gitlab/CI.template\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:07.927Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:07 +0000] \"GET /.gitlab/CI.template HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:07.928Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.gitlab/CI.template","statusCode":404,"timestamp":"2026-09-26T13:06:07.928Z"}
{"level":"error","message":"Request failed Route not found: GET /config.toml","method":"GET","path":"/config.toml","stack":"ApiError: Route not found: GET /config.toml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:08.187Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:08 +0000] \"GET /config.toml HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:08.189Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/config.toml","statusCode":404,"timestamp":"2026-09-26T13:06:08.190Z"}
{"level":"error","message":"Request failed Route not found: GET /gitlab-runner/config.toml","method":"GET","path":"/gitlab-runner/config.toml","stack":"ApiError: Route not found: GET /gitlab-runner/config.toml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:08.435Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:08 +0000] \"GET /gitlab-runner/config.toml HTTP/1.1\" 404 87 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:08.436Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/gitlab-runner/config.toml","statusCode":404,"timestamp":"2026-09-26T13:06:08.436Z"}
{"level":"error","message":"Request failed Route not found: GET /package.json","method":"GET","path":"/package.json","stack":"ApiError: Route not found: GET /package.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:08.681Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:08 +0000] \"GET /package.json HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:08.682Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/package.json","statusCode":404,"timestamp":"2026-09-26T13:06:08.682Z"}
{"level":"error","message":"Request failed Route not found: GET /package-lock.json","method":"GET","path":"/package-lock.json","stack":"ApiError: Route not found: GET /package-lock.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:08.928Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:08 +0000] \"GET /package-lock.json HTTP/1.1\" 404 79 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:08.929Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/package-lock.json","statusCode":404,"timestamp":"2026-09-26T13:06:08.929Z"}
{"level":"error","message":"Request failed Route not found: GET /yarn.lock","method":"GET","path":"/yarn.lock","stack":"ApiError: Route not found: GET /yarn.lock\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:09.174Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:09 +0000] \"GET /yarn.lock HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:09.175Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/yarn.lock","statusCode":404,"timestamp":"2026-09-26T13:06:09.176Z"}
{"level":"error","message":"Request failed Route not found: GET /composer.json","method":"GET","path":"/composer.json","stack":"ApiError: Route not found: GET /composer.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:09.423Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:09 +0000] \"GET /composer.json HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:09.425Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/composer.json","statusCode":404,"timestamp":"2026-09-26T13:06:09.425Z"}
{"level":"error","message":"Request failed Route not found: GET /composer.lock","method":"GET","path":"/composer.lock","stack":"ApiError: Route not found: GET /composer.lock\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:09.673Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:09 +0000] \"GET /composer.lock HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:09.674Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/composer.lock","statusCode":404,"timestamp":"2026-09-26T13:06:09.674Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.example","method":"GET","path":"/.env.example","stack":"ApiError: Route not found: GET /.env.example\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:09.919Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:09 +0000] \"GET /.env.example HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:09.920Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.example","statusCode":404,"timestamp":"2026-09-26T13:06:09.921Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.test","method":"GET","path":"/.env.test","stack":"ApiError: Route not found: GET /.env.test\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:10.165Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:10 +0000] \"GET /.env.test HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:10.166Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.test","statusCode":404,"timestamp":"2026-09-26T13:06:10.166Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.uat","method":"GET","path":"/.env.uat","stack":"ApiError: Route not found: GET /.env.uat\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:10.413Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:10 +0000] \"GET /.env.uat HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:10.414Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.uat","statusCode":404,"timestamp":"2026-09-26T13:06:10.414Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.prod","method":"GET","path":"/.env.prod","stack":"ApiError: Route not found: GET /.env.prod\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:10.659Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:10 +0000] \"GET /.env.prod HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:10.660Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.prod","statusCode":404,"timestamp":"2026-09-26T13:06:10.660Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.live","method":"GET","path":"/.env.live","stack":"ApiError: Route not found: GET /.env.live\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:10.906Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:10 +0000] \"GET /.env.live HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:10.907Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.live","statusCode":404,"timestamp":"2026-09-26T13:06:10.907Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.development","method":"GET","path":"/.env.development","stack":"ApiError: Route not found: GET /.env.development\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:11.152Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:11 +0000] \"GET /.env.development HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:11.153Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.development","statusCode":404,"timestamp":"2026-09-26T13:06:11.153Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.testing","method":"GET","path":"/.env.testing","stack":"ApiError: Route not found: GET /.env.testing\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:11.399Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:11 +0000] \"GET /.env.testing HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:11.400Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.testing","statusCode":404,"timestamp":"2026-09-26T13:06:11.400Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.txt","method":"GET","path":"/.env.txt","stack":"ApiError: Route not found: GET /.env.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:11.646Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:11 +0000] \"GET /.env.txt HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:11.647Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.txt","statusCode":404,"timestamp":"2026-09-26T13:06:11.647Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.bak","method":"GET","path":"/.env.bak","stack":"ApiError: Route not found: GET /.env.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:11.893Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:11 +0000] \"GET /.env.bak HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:11.893Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.bak","statusCode":404,"timestamp":"2026-09-26T13:06:11.894Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.local.bak","method":"GET","path":"/.env.local.bak","stack":"ApiError: Route not found: GET /.env.local.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:12.141Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:12 +0000] \"GET /.env.local.bak HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:12.143Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.local.bak","statusCode":404,"timestamp":"2026-09-26T13:06:12.143Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.production.local","method":"GET","path":"/.env.production.local","stack":"ApiError: Route not found: GET /.env.production.local\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:12.389Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:12 +0000] \"GET /.env.production.local HTTP/1.1\" 404 83 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:12.391Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.production.local","statusCode":404,"timestamp":"2026-09-26T13:06:12.391Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.production.bak","method":"GET","path":"/.env.production.bak","stack":"ApiError: Route not found: GET /.env.production.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:12.650Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:12 +0000] \"GET /.env.production.bak HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:12.651Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.production.bak","statusCode":404,"timestamp":"2026-09-26T13:06:12.652Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.local.old","method":"GET","path":"/.env.local.old","stack":"ApiError: Route not found: GET /.env.local.old\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:12.897Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:12 +0000] \"GET /.env.local.old HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:12.901Z"}
{"executionTimeMs":6,"level":"http","message":"Request completed","method":"GET","path":"/.env.local.old","statusCode":404,"timestamp":"2026-09-26T13:06:12.902Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.old.bak","method":"GET","path":"/.env.old.bak","stack":"ApiError: Route not found: GET /.env.old.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:13.145Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:13 +0000] \"GET /.env.old.bak HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:13.146Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env.old.bak","statusCode":404,"timestamp":"2026-09-26T13:06:13.147Z"}
{"level":"error","message":"Request failed Route not found: GET /env","method":"GET","path":"/env","stack":"ApiError: Route not found: GET /env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:13.405Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:13 +0000] \"GET /env HTTP/1.1\" 404 65 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:13.409Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/env","statusCode":404,"timestamp":"2026-09-26T13:06:13.409Z"}
{"level":"error","message":"Request failed Route not found: GET /env.php","method":"GET","path":"/env.php","stack":"ApiError: Route not found: GET /env.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:13.654Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:13 +0000] \"GET /env.php HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:13.655Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/env.php","statusCode":404,"timestamp":"2026-09-26T13:06:13.655Z"}
{"level":"error","message":"Request failed Route not found: GET /.env.php","method":"GET","path":"/.env.php","stack":"ApiError: Route not found: GET /.env.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:13.902Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:13 +0000] \"GET /.env.php HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:13.903Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.env.php","statusCode":404,"timestamp":"2026-09-26T13:06:13.903Z"}
{"level":"error","message":"Request failed Route not found: GET /app/.env","method":"GET","path":"/app/.env","stack":"ApiError: Route not found: GET /app/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:14.162Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:14 +0000] \"GET /app/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:14.164Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/app/.env","statusCode":404,"timestamp":"2026-09-26T13:06:14.164Z"}
{"level":"error","message":"Request failed Route not found: GET /api/.env","method":"GET","path":"/api/.env","stack":"ApiError: Route not found: GET /api/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:646:15\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:265:14)","statusCode":404,"timestamp":"2026-09-26T13:06:14.411Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:14 +0000] \"GET /api/.env HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:14.413Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/.env","statusCode":404,"timestamp":"2026-09-26T13:06:14.413Z"}
{"level":"error","message":"Request failed Route not found: GET /backend/.env","method":"GET","path":"/backend/.env","stack":"ApiError: Route not found: GET /backend/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:14.657Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:14 +0000] \"GET /backend/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:14.658Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/backend/.env","statusCode":404,"timestamp":"2026-09-26T13:06:14.658Z"}
{"level":"error","message":"Request failed Route not found: GET /config/.env","method":"GET","path":"/config/.env","stack":"ApiError: Route not found: GET /config/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:14.905Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:14 +0000] \"GET /config/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:14.906Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/config/.env","statusCode":404,"timestamp":"2026-09-26T13:06:14.906Z"}
{"level":"error","message":"Request failed Route not found: GET /deploy/.env","method":"GET","path":"/deploy/.env","stack":"ApiError: Route not found: GET /deploy/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:15.152Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:15 +0000] \"GET /deploy/.env HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:15.154Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/deploy/.env","statusCode":404,"timestamp":"2026-09-26T13:06:15.154Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config.bak","method":"GET","path":"/.git/config.bak","stack":"ApiError: Route not found: GET /.git/config.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:15.400Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:15 +0000] \"GET /.git/config.bak HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:15.400Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.git/config.bak","statusCode":404,"timestamp":"2026-09-26T13:06:15.400Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/credentials.bak","method":"GET","path":"/.git/credentials.bak","stack":"ApiError: Route not found: GET /.git/credentials.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:15.647Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:15 +0000] \"GET /.git/credentials.bak HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:15.648Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.git/credentials.bak","statusCode":404,"timestamp":"2026-09-26T13:06:15.648Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config~","method":"GET","path":"/.git/config~","stack":"ApiError: Route not found: GET /.git/config~\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:15.893Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:15 +0000] \"GET /.git/config~ HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:15.894Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.git/config~","statusCode":404,"timestamp":"2026-09-26T13:06:15.894Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config.old","method":"GET","path":"/.git/config.old","stack":"ApiError: Route not found: GET /.git/config.old\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:16.139Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:16 +0000] \"GET /.git/config.old HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:16.141Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.git/config.old","statusCode":404,"timestamp":"2026-09-26T13:06:16.141Z"}
{"level":"error","message":"Request failed Route not found: GET /.git-credentials.bak","method":"GET","path":"/.git-credentials.bak","stack":"ApiError: Route not found: GET /.git-credentials.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:16.387Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:16 +0000] \"GET /.git-credentials.bak HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:16.388Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.git-credentials.bak","statusCode":404,"timestamp":"2026-09-26T13:06:16.388Z"}
{"level":"error","message":"Request failed Route not found: GET /.gitconfig.bak","method":"GET","path":"/.gitconfig.bak","stack":"ApiError: Route not found: GET /.gitconfig.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:16.633Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:16 +0000] \"GET /.gitconfig.bak HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:16.634Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.gitconfig.bak","statusCode":404,"timestamp":"2026-09-26T13:06:16.634Z"}
{"level":"error","message":"Request failed Route not found: GET /.netrc.bak","method":"GET","path":"/.netrc.bak","stack":"ApiError: Route not found: GET /.netrc.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:16.880Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:16 +0000] \"GET /.netrc.bak HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:16.881Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.netrc.bak","statusCode":404,"timestamp":"2026-09-26T13:06:16.881Z"}
{"level":"error","message":"Request failed Route not found: GET /_netrc.bak","method":"GET","path":"/_netrc.bak","stack":"ApiError: Route not found: GET /_netrc.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:17.126Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:17 +0000] \"GET /_netrc.bak HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:17.128Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/_netrc.bak","statusCode":404,"timestamp":"2026-09-26T13:06:17.128Z"}
{"level":"error","message":"Request failed Route not found: GET /.npmrc.bak","method":"GET","path":"/.npmrc.bak","stack":"ApiError: Route not found: GET /.npmrc.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:17.387Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:17 +0000] \"GET /.npmrc.bak HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:17.388Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.npmrc.bak","statusCode":404,"timestamp":"2026-09-26T13:06:17.388Z"}
{"level":"error","message":"Request failed Route not found: GET /.npmrc.old","method":"GET","path":"/.npmrc.old","stack":"ApiError: Route not found: GET /.npmrc.old\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:17.647Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:17 +0000] \"GET /.npmrc.old HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:17.649Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.npmrc.old","statusCode":404,"timestamp":"2026-09-26T13:06:17.650Z"}
{"level":"error","message":"Request failed Route not found: GET /npmrc","method":"GET","path":"/npmrc","stack":"ApiError: Route not found: GET /npmrc\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:17.894Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:17 +0000] \"GET /npmrc HTTP/1.1\" 404 67 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:17.894Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/npmrc","statusCode":404,"timestamp":"2026-09-26T13:06:17.895Z"}
{"level":"error","message":"Request failed Route not found: GET /.yarnrc.yml","method":"GET","path":"/.yarnrc.yml","stack":"ApiError: Route not found: GET /.yarnrc.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:18.141Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:18 +0000] \"GET /.yarnrc.yml HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:18.142Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.yarnrc.yml","statusCode":404,"timestamp":"2026-09-26T13:06:18.142Z"}
{"level":"error","message":"Request failed Route not found: GET /.pypirc.bak","method":"GET","path":"/.pypirc.bak","stack":"ApiError: Route not found: GET /.pypirc.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:18.402Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:18 +0000] \"GET /.pypirc.bak HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:18.403Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.pypirc.bak","statusCode":404,"timestamp":"2026-09-26T13:06:18.403Z"}
{"level":"error","message":"Request failed Route not found: GET /.ssh/config","method":"GET","path":"/.ssh/config","stack":"ApiError: Route not found: GET /.ssh/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:18.649Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:18 +0000] \"GET /.ssh/config HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:18.650Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.ssh/config","statusCode":404,"timestamp":"2026-09-26T13:06:18.650Z"}
{"level":"error","message":"Request failed Route not found: GET /.ssh/id_dsa","method":"GET","path":"/.ssh/id_dsa","stack":"ApiError: Route not found: GET /.ssh/id_dsa\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:18.896Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:18 +0000] \"GET /.ssh/id_dsa HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3 Safari/605.1.15\"","timestamp":"2026-09-26T13:06:18.898Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.ssh/id_dsa","statusCode":404,"timestamp":"2026-09-26T13:06:18.898Z"}
{"level":"error","message":"Request failed Route not found: GET /.ssh/id_ecdsa","method":"GET","path":"/.ssh/id_ecdsa","stack":"ApiError: Route not found: GET /.ssh/id_ecdsa\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:19.143Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:19 +0000] \"GET /.ssh/id_ecdsa HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:19.144Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.ssh/id_ecdsa","statusCode":404,"timestamp":"2026-09-26T13:06:19.144Z"}
{"level":"error","message":"Request failed Route not found: GET /id_rsa","method":"GET","path":"/id_rsa","stack":"ApiError: Route not found: GET /id_rsa\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:19.403Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:19 +0000] \"GET /id_rsa HTTP/1.1\" 404 68 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:19.406Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/id_rsa","statusCode":404,"timestamp":"2026-09-26T13:06:19.406Z"}
{"level":"error","message":"Request failed Route not found: GET /id_rsa.pub","method":"GET","path":"/id_rsa.pub","stack":"ApiError: Route not found: GET /id_rsa.pub\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:19.664Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:19 +0000] \"GET /id_rsa.pub HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:19.665Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/id_rsa.pub","statusCode":404,"timestamp":"2026-09-26T13:06:19.665Z"}
{"level":"error","message":"Request failed Route not found: GET /server.pem","method":"GET","path":"/server.pem","stack":"ApiError: Route not found: GET /server.pem\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:19.925Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:19 +0000] \"GET /server.pem HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:19.926Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/server.pem","statusCode":404,"timestamp":"2026-09-26T13:06:19.926Z"}
{"level":"error","message":"Request failed Route not found: GET /key.pem","method":"GET","path":"/key.pem","stack":"ApiError: Route not found: GET /key.pem\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:20.172Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:20 +0000] \"GET /key.pem HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:20.173Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/key.pem","statusCode":404,"timestamp":"2026-09-26T13:06:20.174Z"}
{"level":"error","message":"Request failed Route not found: GET /client.key","method":"GET","path":"/client.key","stack":"ApiError: Route not found: GET /client.key\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:20.421Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:20 +0000] \"GET /client.key HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:20.422Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/client.key","statusCode":404,"timestamp":"2026-09-26T13:06:20.422Z"}
{"level":"error","message":"Request failed Route not found: GET /.aws/config","method":"GET","path":"/.aws/config","stack":"ApiError: Route not found: GET /.aws/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:20.667Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:20 +0000] \"GET /.aws/config HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:20.668Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.aws/config","statusCode":404,"timestamp":"2026-09-26T13:06:20.668Z"}
{"level":"error","message":"Request failed Route not found: GET /.aws/credentials.bak","method":"GET","path":"/.aws/credentials.bak","stack":"ApiError: Route not found: GET /.aws/credentials.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:20.914Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:20 +0000] \"GET /.aws/credentials.bak HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:20.916Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.aws/credentials.bak","statusCode":404,"timestamp":"2026-09-26T13:06:20.916Z"}
{"level":"error","message":"Request failed Route not found: GET /aws.yml","method":"GET","path":"/aws.yml","stack":"ApiError: Route not found: GET /aws.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:21.163Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:21 +0000] \"GET /aws.yml HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:21.164Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/aws.yml","statusCode":404,"timestamp":"2026-09-26T13:06:21.164Z"}
{"level":"error","message":"Request failed Route not found: GET /.boto","method":"GET","path":"/.boto","stack":"ApiError: Route not found: GET /.boto\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:21.410Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:21 +0000] \"GET /.boto HTTP/1.1\" 404 67 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:21.411Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.boto","statusCode":404,"timestamp":"2026-09-26T13:06:21.412Z"}
{"level":"error","message":"Request failed Route not found: GET /boto.cfg","method":"GET","path":"/boto.cfg","stack":"ApiError: Route not found: GET /boto.cfg\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:21.670Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:21 +0000] \"GET /boto.cfg HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:21.672Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/boto.cfg","statusCode":404,"timestamp":"2026-09-26T13:06:21.672Z"}
{"level":"error","message":"Request failed Route not found: GET /.circleci/config.yml","method":"GET","path":"/.circleci/config.yml","stack":"ApiError: Route not found: GET /.circleci/config.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:21.918Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:21 +0000] \"GET /.circleci/config.yml HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:21.919Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/.circleci/config.yml","statusCode":404,"timestamp":"2026-09-26T13:06:21.922Z"}
{"level":"error","message":"Request failed Route not found: GET /.github/workflows/deploy.yml","method":"GET","path":"/.github/workflows/deploy.yml","stack":"ApiError: Route not found: GET /.github/workflows/deploy.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:22.166Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:22 +0000] \"GET /.github/workflows/deploy.yml HTTP/1.1\" 404 90 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:22.167Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.github/workflows/deploy.yml","statusCode":404,"timestamp":"2026-09-26T13:06:22.167Z"}
{"level":"error","message":"Request failed Route not found: GET /.github/workflows/ci.yml","method":"GET","path":"/.github/workflows/ci.yml","stack":"ApiError: Route not found: GET /.github/workflows/ci.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:22.413Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:22 +0000] \"GET /.github/workflows/ci.yml HTTP/1.1\" 404 86 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:22.414Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.github/workflows/ci.yml","statusCode":404,"timestamp":"2026-09-26T13:06:22.414Z"}
{"level":"error","message":"Request failed Route not found: GET /.travis.yml","method":"GET","path":"/.travis.yml","stack":"ApiError: Route not found: GET /.travis.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:22.660Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:22 +0000] \"GET /.travis.yml HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:22.661Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.travis.yml","statusCode":404,"timestamp":"2026-09-26T13:06:22.661Z"}
{"level":"error","message":"Request failed Route not found: GET /bitbucket-pipelines.yml","method":"GET","path":"/bitbucket-pipelines.yml","stack":"ApiError: Route not found: GET /bitbucket-pipelines.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:22.907Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:22 +0000] \"GET /bitbucket-pipelines.yml HTTP/1.1\" 404 85 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:22.908Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/bitbucket-pipelines.yml","statusCode":404,"timestamp":"2026-09-26T13:06:22.908Z"}
{"level":"error","message":"Request failed Route not found: GET /azure-pipelines.yml","method":"GET","path":"/azure-pipelines.yml","stack":"ApiError: Route not found: GET /azure-pipelines.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:23.154Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:23 +0000] \"GET /azure-pipelines.yml HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:23.155Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/azure-pipelines.yml","statusCode":404,"timestamp":"2026-09-26T13:06:23.155Z"}
{"level":"error","message":"Request failed Route not found: GET /.gitlab-ci.yml.bak","method":"GET","path":"/.gitlab-ci.yml.bak","stack":"ApiError: Route not found: GET /.gitlab-ci.yml.bak\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:23.401Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:23 +0000] \"GET /.gitlab-ci.yml.bak HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:23.402Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.gitlab-ci.yml.bak","statusCode":404,"timestamp":"2026-09-26T13:06:23.402Z"}
{"level":"error","message":"Request failed Route not found: GET /application.properties","method":"GET","path":"/application.properties","stack":"ApiError: Route not found: GET /application.properties\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:23.647Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:23 +0000] \"GET /application.properties HTTP/1.1\" 404 84 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:23.648Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/application.properties","statusCode":404,"timestamp":"2026-09-26T13:06:23.649Z"}
{"level":"error","message":"Request failed Route not found: GET /application.yml","method":"GET","path":"/application.yml","stack":"ApiError: Route not found: GET /application.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:23.894Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:23 +0000] \"GET /application.yml HTTP/1.1\" 404 77 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:23.895Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/application.yml","statusCode":404,"timestamp":"2026-09-26T13:06:23.895Z"}
{"level":"error","message":"Request failed Route not found: GET /application-prod.yml","method":"GET","path":"/application-prod.yml","stack":"ApiError: Route not found: GET /application-prod.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:24.153Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:24 +0000] \"GET /application-prod.yml HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:24.155Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/application-prod.yml","statusCode":404,"timestamp":"2026-09-26T13:06:24.155Z"}
{"level":"error","message":"Request failed Route not found: GET /application-dev.yml","method":"GET","path":"/application-dev.yml","stack":"ApiError: Route not found: GET /application-dev.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:24.414Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:24 +0000] \"GET /application-dev.yml HTTP/1.1\" 404 81 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:24.414Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/application-dev.yml","statusCode":404,"timestamp":"2026-09-26T13:06:24.415Z"}
{"level":"error","message":"Request failed Route not found: GET /bootstrap.yml","method":"GET","path":"/bootstrap.yml","stack":"ApiError: Route not found: GET /bootstrap.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:24.661Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:24 +0000] \"GET /bootstrap.yml HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:24.662Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/bootstrap.yml","statusCode":404,"timestamp":"2026-09-26T13:06:24.662Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-config.php","method":"GET","path":"/wp-config.php","stack":"ApiError: Route not found: GET /wp-config.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:24.909Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:24 +0000] \"GET /wp-config.php HTTP/1.1\" 404 75 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:24.910Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/wp-config.php","statusCode":404,"timestamp":"2026-09-26T13:06:24.911Z"}
{"level":"error","message":"Request failed Route not found: GET /.htpasswd","method":"GET","path":"/.htpasswd","stack":"ApiError: Route not found: GET /.htpasswd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:25.171Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:25 +0000] \"GET /.htpasswd HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:25.172Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.htpasswd","statusCode":404,"timestamp":"2026-09-26T13:06:25.173Z"}
{"level":"error","message":"Request failed Route not found: GET /auth.json","method":"GET","path":"/auth.json","stack":"ApiError: Route not found: GET /auth.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:25.419Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:25 +0000] \"GET /auth.json HTTP/1.1\" 404 71 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:25.420Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/auth.json","statusCode":404,"timestamp":"2026-09-26T13:06:25.420Z"}
{"level":"error","message":"Request failed Route not found: GET /.auth.json","method":"GET","path":"/.auth.json","stack":"ApiError: Route not found: GET /.auth.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:25.679Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:25 +0000] \"GET /.auth.json HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:25.681Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.auth.json","statusCode":404,"timestamp":"2026-09-26T13:06:25.681Z"}
{"level":"error","message":"Request failed Route not found: GET /.credentials","method":"GET","path":"/.credentials","stack":"ApiError: Route not found: GET /.credentials\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:25.928Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:25 +0000] \"GET /.credentials HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:25.929Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.credentials","statusCode":404,"timestamp":"2026-09-26T13:06:25.929Z"}
{"level":"error","message":"Request failed Route not found: GET /.credentials.json","method":"GET","path":"/.credentials.json","stack":"ApiError: Route not found: GET /.credentials.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:26.178Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:26 +0000] \"GET /.credentials.json HTTP/1.1\" 404 79 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:26.178Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.credentials.json","statusCode":404,"timestamp":"2026-09-26T13:06:26.178Z"}
{"level":"error","message":"Request failed Route not found: GET /.secret","method":"GET","path":"/.secret","stack":"ApiError: Route not found: GET /.secret\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:26.424Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:26 +0000] \"GET /.secret HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:26.426Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.secret","statusCode":404,"timestamp":"2026-09-26T13:06:26.426Z"}
{"level":"error","message":"Request failed Route not found: GET /.secrets","method":"GET","path":"/.secrets","stack":"ApiError: Route not found: GET /.secrets\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:26.672Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:26 +0000] \"GET /.secrets HTTP/1.1\" 404 70 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:26.673Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.secrets","statusCode":404,"timestamp":"2026-09-26T13:06:26.673Z"}
{"level":"error","message":"Request failed Route not found: GET /firebase-adminsdk.json","method":"GET","path":"/firebase-adminsdk.json","stack":"ApiError: Route not found: GET /firebase-adminsdk.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:26.920Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:26 +0000] \"GET /firebase-adminsdk.json HTTP/1.1\" 404 84 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:26.921Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/firebase-adminsdk.json","statusCode":404,"timestamp":"2026-09-26T13:06:26.922Z"}
{"level":"error","message":"Request failed Route not found: GET /firebase-config.json","method":"GET","path":"/firebase-config.json","stack":"ApiError: Route not found: GET /firebase-config.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:27.168Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:27 +0000] \"GET /firebase-config.json HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:27.170Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/firebase-config.json","statusCode":404,"timestamp":"2026-09-26T13:06:27.170Z"}
{"level":"error","message":"Request failed Route not found: GET /google-services.json","method":"GET","path":"/google-services.json","stack":"ApiError: Route not found: GET /google-services.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:27.416Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:27 +0000] \"GET /google-services.json HTTP/1.1\" 404 82 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:27.417Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/google-services.json","statusCode":404,"timestamp":"2026-09-26T13:06:27.417Z"}
{"level":"error","message":"Request failed Route not found: GET /smtp-config.json","method":"GET","path":"/smtp-config.json","stack":"ApiError: Route not found: GET /smtp-config.json\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:27.664Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:27 +0000] \"GET /smtp-config.json HTTP/1.1\" 404 78 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:27.665Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/smtp-config.json","statusCode":404,"timestamp":"2026-09-26T13:06:27.665Z"}
{"level":"error","message":"Request failed Route not found: GET /config/secrets.yml","method":"GET","path":"/config/secrets.yml","stack":"ApiError: Route not found: GET /config/secrets.yml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:27.912Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:27 +0000] \"GET /config/secrets.yml HTTP/1.1\" 404 80 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:27.913Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/config/secrets.yml","statusCode":404,"timestamp":"2026-09-26T13:06:27.913Z"}
{"level":"error","message":"Request failed Route not found: GET /backup.env","method":"GET","path":"/backup.env","stack":"ApiError: Route not found: GET /backup.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:28.172Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:28 +0000] \"GET /backup.env HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:28.173Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/backup.env","statusCode":404,"timestamp":"2026-09-26T13:06:28.173Z"}
{"level":"error","message":"Request failed Route not found: GET /backups/.env","method":"GET","path":"/backups/.env","stack":"ApiError: Route not found: GET /backups/.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:28.432Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:28 +0000] \"GET /backups/.env HTTP/1.1\" 404 74 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:28.433Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/backups/.env","statusCode":404,"timestamp":"2026-09-26T13:06:28.433Z"}
{"level":"error","message":"Request failed Route not found: GET /db.env","method":"GET","path":"/db.env","stack":"ApiError: Route not found: GET /db.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:28.694Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:28 +0000] \"GET /db.env HTTP/1.1\" 404 68 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:28.694Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/db.env","statusCode":404,"timestamp":"2026-09-26T13:06:28.695Z"}
{"level":"error","message":"Request failed Route not found: GET /.db.env","method":"GET","path":"/.db.env","stack":"ApiError: Route not found: GET /.db.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:06:28.941Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:06:28 +0000] \"GET /.db.env HTTP/1.1\" 404 69 \"-\" \"Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/134.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-09-26T13:06:28.942Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.db.env","statusCode":404,"timestamp":"2026-09-26T13:06:28.942Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T13:32:11.141Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:13:32:11 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (iPod; U; CPU iPhone OS 2_2_1 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5H11a Safari/525.20\"","timestamp":"2026-09-26T13:32:11.142Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-26T13:32:11.142Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:24.541Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:24 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:24.542Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-26T14:26:24.542Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-includes/wlwmanifest.xml","method":"GET","path":"/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:24.726Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:24 +0000] \"GET /wp-includes/wlwmanifest.xml HTTP/1.1\" 404 89 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:24.727Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:24.727Z"}
{"level":"error","message":"Request failed Route not found: GET /xmlrpc.php?rsd","method":"GET","path":"/xmlrpc.php?rsd","stack":"ApiError: Route not found: GET /xmlrpc.php?rsd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:24.905Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:24 +0000] \"GET /xmlrpc.php?rsd HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:24.905Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/xmlrpc.php?rsd","statusCode":404,"timestamp":"2026-09-26T14:26:24.906Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:25.082Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:25 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:25.083Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-26T14:26:25.083Z"}
{"level":"error","message":"Request failed Route not found: GET /blog/wp-includes/wlwmanifest.xml","method":"GET","path":"/blog/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /blog/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:25.258Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:25 +0000] \"GET /blog/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:25.259Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/blog/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:25.259Z"}
{"level":"error","message":"Request failed Route not found: GET /web/wp-includes/wlwmanifest.xml","method":"GET","path":"/web/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /web/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:25.437Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:25 +0000] \"GET /web/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:25.437Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/web/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:25.438Z"}
{"level":"error","message":"Request failed Route not found: GET /wordpress/wp-includes/wlwmanifest.xml","method":"GET","path":"/wordpress/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wordpress/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:25.614Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:25 +0000] \"GET /wordpress/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 99 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:25.615Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wordpress/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:25.615Z"}
{"level":"error","message":"Request failed Route not found: GET /website/wp-includes/wlwmanifest.xml","method":"GET","path":"/website/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /website/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:25.793Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:25 +0000] \"GET /website/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 97 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:25.793Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/website/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:25.793Z"}
{"level":"error","message":"Request failed Route not found: GET /wp/wp-includes/wlwmanifest.xml","method":"GET","path":"/wp/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:25.970Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:25 +0000] \"GET /wp/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 92 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:25.971Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wp/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:25.971Z"}
{"level":"error","message":"Request failed Route not found: GET /news/wp-includes/wlwmanifest.xml","method":"GET","path":"/news/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /news/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:26.148Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:26 +0000] \"GET /news/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:26.149Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/news/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:26.149Z"}
{"level":"error","message":"Request failed Route not found: GET /2018/wp-includes/wlwmanifest.xml","method":"GET","path":"/2018/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /2018/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:26.325Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:26 +0000] \"GET /2018/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:26.326Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/2018/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:26.326Z"}
{"level":"error","message":"Request failed Route not found: GET /2019/wp-includes/wlwmanifest.xml","method":"GET","path":"/2019/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /2019/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:26.501Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:26 +0000] \"GET /2019/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:26.503Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/2019/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:26.503Z"}
{"level":"error","message":"Request failed Route not found: GET /shop/wp-includes/wlwmanifest.xml","method":"GET","path":"/shop/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /shop/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:26.678Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:26 +0000] \"GET /shop/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:26.679Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/shop/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:26.679Z"}
{"level":"error","message":"Request failed Route not found: GET /wp1/wp-includes/wlwmanifest.xml","method":"GET","path":"/wp1/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp1/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:26.855Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:26 +0000] \"GET /wp1/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:26.857Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp1/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:26.857Z"}
{"level":"error","message":"Request failed Route not found: GET /test/wp-includes/wlwmanifest.xml","method":"GET","path":"/test/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /test/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:27.034Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:27 +0000] \"GET /test/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:27.035Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/test/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:27.035Z"}
{"level":"error","message":"Request failed Route not found: GET /media/wp-includes/wlwmanifest.xml","method":"GET","path":"/media/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /media/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:27.233Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:27 +0000] \"GET /media/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 95 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:27.235Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/media/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:27.235Z"}
{"level":"error","message":"Request failed Route not found: GET /wp2/wp-includes/wlwmanifest.xml","method":"GET","path":"/wp2/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp2/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:27.409Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:27 +0000] \"GET /wp2/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:27.411Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp2/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:27.411Z"}
{"level":"error","message":"Request failed Route not found: GET /site/wp-includes/wlwmanifest.xml","method":"GET","path":"/site/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /site/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:27.587Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:27 +0000] \"GET /site/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:27.588Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/site/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:27.589Z"}
{"level":"error","message":"Request failed Route not found: GET /cms/wp-includes/wlwmanifest.xml","method":"GET","path":"/cms/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /cms/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:27.766Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:27 +0000] \"GET /cms/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:27.767Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/cms/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:27.767Z"}
{"level":"error","message":"Request failed Route not found: GET /sito/wp-includes/wlwmanifest.xml","method":"GET","path":"/sito/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /sito/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T14:26:27.944Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:14:26:27 +0000] \"GET /sito/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-26T14:26:27.946Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/sito/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-26T14:26:27.946Z"}
{"level":"error","message":"Request failed Route not found: GET /media/system/js/core.js","method":"GET","path":"/media/system/js/core.js","stack":"ApiError: Route not found: GET /media/system/js/core.js\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T16:51:27.077Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:16:51:27 +0000] \"GET /media/system/js/core.js HTTP/1.1\" 404 85 \"http://143.110.241.90.nip.io/media/system/js/core.js\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36\"","timestamp":"2026-09-26T16:51:27.078Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/media/system/js/core.js","statusCode":404,"timestamp":"2026-09-26T16:51:27.078Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-includes/js/jquery/jquery.js","method":"GET","path":"/wp-includes/js/jquery/jquery.js","stack":"ApiError: Route not found: GET /wp-includes/js/jquery/jquery.js\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T16:51:27.623Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [26/Sep/2026:16:51:27 +0000] \"GET /wp-includes/js/jquery/jquery.js HTTP/1.1\" 404 93 \"http://143.110.241.90.nip.io/wp-includes/js/jquery/jquery.js\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36\"","timestamp":"2026-09-26T16:51:27.624Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wp-includes/js/jquery/jquery.js","statusCode":404,"timestamp":"2026-09-26T16:51:27.624Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-26T19:35:15.816Z"}
{"level":"http","message":"::ffff:85.217.149.21 - - [26/Sep/2026:19:35:15 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-26T19:35:15.817Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-26T19:35:15.817Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T03:18:19.789Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:03:18:19 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36\"","timestamp":"2026-09-27T03:18:19.791Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-27T03:18:19.791Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:19.221Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:19 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:19.224Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-27T11:01:19.224Z"}
{"level":"error","message":"Request failed Route not found: GET /wp-includes/wlwmanifest.xml","method":"GET","path":"/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:19.399Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:19 +0000] \"GET /wp-includes/wlwmanifest.xml HTTP/1.1\" 404 89 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:19.400Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:19.400Z"}
{"level":"error","message":"Request failed Route not found: GET /xmlrpc.php?rsd","method":"GET","path":"/xmlrpc.php?rsd","stack":"ApiError: Route not found: GET /xmlrpc.php?rsd\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:19.576Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:19 +0000] \"GET /xmlrpc.php?rsd HTTP/1.1\" 404 76 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:19.577Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/xmlrpc.php?rsd","statusCode":404,"timestamp":"2026-09-27T11:01:19.577Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:19.753Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:19 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:19.756Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-27T11:01:19.756Z"}
{"level":"error","message":"Request failed Route not found: GET /blog/wp-includes/wlwmanifest.xml","method":"GET","path":"/blog/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /blog/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:19.932Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:19 +0000] \"GET /blog/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:19.932Z"}
{"executionTimeMs":0,"level":"http","message":"Request completed","method":"GET","path":"/blog/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:19.932Z"}
{"level":"error","message":"Request failed Route not found: GET /web/wp-includes/wlwmanifest.xml","method":"GET","path":"/web/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /web/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:20.116Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:20 +0000] \"GET /web/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:20.119Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/web/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:20.119Z"}
{"level":"error","message":"Request failed Route not found: GET /wordpress/wp-includes/wlwmanifest.xml","method":"GET","path":"/wordpress/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wordpress/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:20.304Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:20 +0000] \"GET /wordpress/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 99 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:20.305Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wordpress/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:20.305Z"}
{"level":"error","message":"Request failed Route not found: GET /website/wp-includes/wlwmanifest.xml","method":"GET","path":"/website/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /website/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:20.481Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:20 +0000] \"GET /website/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 97 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:20.483Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/website/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:20.483Z"}
{"level":"error","message":"Request failed Route not found: GET /wp/wp-includes/wlwmanifest.xml","method":"GET","path":"/wp/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:20.667Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:20 +0000] \"GET /wp/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 92 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:20.668Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/wp/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:20.668Z"}
{"level":"error","message":"Request failed Route not found: GET /news/wp-includes/wlwmanifest.xml","method":"GET","path":"/news/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /news/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:21.154Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:21 +0000] \"GET /news/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:21.155Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/news/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:21.155Z"}
{"level":"error","message":"Request failed Route not found: GET /2018/wp-includes/wlwmanifest.xml","method":"GET","path":"/2018/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /2018/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:21.334Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:21 +0000] \"GET /2018/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:21.337Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/2018/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:21.337Z"}
{"level":"error","message":"Request failed Route not found: GET /2019/wp-includes/wlwmanifest.xml","method":"GET","path":"/2019/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /2019/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:21.516Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:21 +0000] \"GET /2019/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:21.519Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/2019/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:21.519Z"}
{"level":"error","message":"Request failed Route not found: GET /shop/wp-includes/wlwmanifest.xml","method":"GET","path":"/shop/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /shop/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:21.696Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:21 +0000] \"GET /shop/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:21.698Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/shop/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:21.698Z"}
{"level":"error","message":"Request failed Route not found: GET /wp1/wp-includes/wlwmanifest.xml","method":"GET","path":"/wp1/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp1/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:21.878Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:21 +0000] \"GET /wp1/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:21.880Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/wp1/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:21.880Z"}
{"level":"error","message":"Request failed Route not found: GET /test/wp-includes/wlwmanifest.xml","method":"GET","path":"/test/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /test/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:22.057Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:22 +0000] \"GET /test/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:22.059Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/test/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:22.060Z"}
{"level":"error","message":"Request failed Route not found: GET /media/wp-includes/wlwmanifest.xml","method":"GET","path":"/media/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /media/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:22.235Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:22 +0000] \"GET /media/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 95 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:22.236Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/media/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:22.237Z"}
{"level":"error","message":"Request failed Route not found: GET /wp2/wp-includes/wlwmanifest.xml","method":"GET","path":"/wp2/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /wp2/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:22.414Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:22 +0000] \"GET /wp2/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:22.415Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/wp2/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:22.415Z"}
{"level":"error","message":"Request failed Route not found: GET /site/wp-includes/wlwmanifest.xml","method":"GET","path":"/site/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /site/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:22.590Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:22 +0000] \"GET /site/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:22.591Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/site/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:22.591Z"}
{"level":"error","message":"Request failed Route not found: GET /cms/wp-includes/wlwmanifest.xml","method":"GET","path":"/cms/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /cms/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:22.767Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:22 +0000] \"GET /cms/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 93 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:22.768Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/cms/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:22.768Z"}
{"level":"error","message":"Request failed Route not found: GET /sito/wp-includes/wlwmanifest.xml","method":"GET","path":"/sito/wp-includes/wlwmanifest.xml","stack":"ApiError: Route not found: GET /sito/wp-includes/wlwmanifest.xml\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:01:22.944Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:01:22 +0000] \"GET /sito/wp-includes/wlwmanifest.xml HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36\"","timestamp":"2026-09-27T11:01:22.944Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/sito/wp-includes/wlwmanifest.xml","statusCode":404,"timestamp":"2026-09-27T11:01:22.944Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T11:03:42.476Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:11:03:42 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0\"","timestamp":"2026-09-27T11:03:42.477Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-27T11:03:42.477Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T12:41:26.940Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:12:41:26 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Scrapy/2.17.0 (+https://scrapy.org)\"","timestamp":"2026-09-27T12:41:26.941Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-27T12:41:26.942Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-27T14:07:22.847Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [27/Sep/2026:14:07:22 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Scrapy/2.17.0 (+https://scrapy.org)\"","timestamp":"2026-09-27T14:07:22.848Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-27T14:07:22.848Z"}
{"level":"error","message":"Request failed Invalid or expired token","method":"GET","path":"/api/auth/me/permissions","stack":"ApiError: Invalid or expired token\n    at ApiError.unauthorized (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:15:12)\n    at authenticate (/var/www/html/google-ads-automation/backend/src/middlewares/auth.js:31:26)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:149:13)\n    at Route.dispatch (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/route.js:119:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:284:15\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)","statusCode":401,"timestamp":"2026-09-28T08:27:20.238Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [28/Sep/2026:08:27:20 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 401 64 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-28T08:27:20.239Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":401,"timestamp":"2026-09-28T08:27:20.239Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-28T17:41:33.409Z"}
{"level":"http","message":"::ffff:85.217.149.32 - - [28/Sep/2026:17:41:33 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-28T17:41:33.410Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-28T17:41:33.410Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-29T05:29:18.520Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [29/Sep/2026:05:29:18 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Mozilla/5.0 (Linux; U; Android 1.5; en-us; SPH-M900 Build/CUPCAKE) AppleWebKit/528.5  (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1\"","timestamp":"2026-09-29T05:29:18.522Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-29T05:29:18.523Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-29T06:51:12.325Z"}
{"level":"http","message":"::ffff:45.135.194.42 - - [29/Sep/2026:06:51:12 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"opendir-portscan/0.1\"","timestamp":"2026-09-29T06:51:12.329Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-29T06:51:12.329Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-29T09:04:04.164Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [29/Sep/2026:09:04:04 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.0.0\"","timestamp":"2026-09-29T09:04:04.171Z"}
{"executionTimeMs":8,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-29T09:04:04.171Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-29T09:38:31.150Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [29/Sep/2026:09:38:31 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:141.0) Gecko/20100101 Firefox/141.0\"","timestamp":"2026-09-29T09:38:31.151Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-29T09:38:31.151Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-29T15:48:58.953Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [29/Sep/2026:15:48:58 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Hello from Palo Alto Networks, find out more about our scans in https://docs-cortex.paloaltonetworks.com/r/1/Cortex-Xpanse/Scanning-activity\"","timestamp":"2026-09-29T15:48:58.955Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-29T15:48:58.955Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-29T21:38:51.383Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [29/Sep/2026:21:38:51 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36\"","timestamp":"2026-09-29T21:38:51.384Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-29T21:38:51.384Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:38:59 +0000] \"POST /api/auth/login HTTP/1.1\" 200 425 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:38:59.508Z"}
{"executionTimeMs":422,"level":"http","message":"Request completed","method":"POST","path":"/api/auth/login","statusCode":200,"timestamp":"2026-09-30T05:38:59.508Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:38:59 +0000] \"GET /api/auth/me/permissions HTTP/1.1\" 200 34 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:38:59.654Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/api/auth/me/permissions","statusCode":200,"timestamp":"2026-09-30T05:38:59.655Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:38:59 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:38:59.773Z"}
{"executionTimeMs":9,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-30T05:38:59.774Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:38:59 +0000] \"GET /api/applications HTTP/1.1\" 200 22863 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:38:59.818Z"}
{"executionTimeMs":36,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-30T05:38:59.818Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:38:59 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:38:59.837Z"}
{"executionTimeMs":18,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-30T05:38:59.837Z"}
{"alternates":[{"accountName":"Sweta","customerId":"8867172205"},{"accountName":"QA Team","customerId":"8175887692"},{"accountName":"Sachin","customerId":"2272118756"}],"level":"info","message":"Multiple Google Ads accounts already advertise this package name; picked the most active one","packageName":"com.gpsmapcamera.geotagginglocationphoto","selected":{"accountName":"Himanshu","customerId":"8356808729"},"timestamp":"2026-09-30T05:39:21.907Z"}
{"accountName":"Himanshu","alternateAccounts":[{"accountName":"Sweta","customerId":"8867172205"},{"accountName":"QA Team","customerId":"8175887692"},{"accountName":"Sachin","customerId":"2272118756"}],"applicationId":"c38bd7b2-5051-45b2-b64c-5155e7d06a37","customerId":"8356808729","level":"info","message":"Auto-assigned Google Ads customer ID from an existing Google Ads campaign","packageName":"com.gpsmapcamera.geotagginglocationphoto","timestamp":"2026-09-30T05:39:21.921Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:21 +0000] \"POST /api/applications/import HTTP/1.1\" 201 947 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:21.923Z"}
{"executionTimeMs":3702,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/import","statusCode":201,"timestamp":"2026-09-30T05:39:21.923Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:22 +0000] \"GET /api/applications HTTP/1.1\" 200 23787 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:22.052Z"}
{"executionTimeMs":24,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-30T05:39:22.052Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:22 +0000] \"GET /api/countries HTTP/1.1\" 200 3080 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:22.207Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":200,"timestamp":"2026-09-30T05:39:22.208Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:22 +0000] \"GET /api/languages HTTP/1.1\" 200 3888 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:22.247Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":200,"timestamp":"2026-09-30T05:39:22.248Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:22 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 200 929 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:22.252Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":200,"timestamp":"2026-09-30T05:39:22.253Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:22 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 200 523 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:22.257Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":200,"timestamp":"2026-09-30T05:39:22.258Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:23 +0000] \"GET /api/campaigns/conversion-actions?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37 HTTP/1.1\" 200 2519 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:23.209Z"}
{"executionTimeMs":840,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37","statusCode":200,"timestamp":"2026-09-30T05:39:23.210Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:23 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37 HTTP/1.1\" 200 68 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:23.336Z"}
{"executionTimeMs":975,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37","statusCode":200,"timestamp":"2026-09-30T05:39:23.336Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:38 +0000] \"PATCH /api/applications/c38bd7b2-5051-45b2-b64c-5155e7d06a37/google-ads-customer HTTP/1.1\" 200 776 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:38.861Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"PATCH","path":"/api/applications/c38bd7b2-5051-45b2-b64c-5155e7d06a37/google-ads-customer","statusCode":200,"timestamp":"2026-09-30T05:39:38.861Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:39 +0000] \"GET /api/campaigns/conversion-actions?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37 HTTP/1.1\" 200 2255 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:39.864Z"}
{"executionTimeMs":891,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37","statusCode":200,"timestamp":"2026-09-30T05:39:39.865Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:39:40 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37 HTTP/1.1\" 200 65 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:39:40.160Z"}
{"executionTimeMs":1145,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37","statusCode":200,"timestamp":"2026-09-30T05:39:40.160Z"}
{"attempt":0,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:39:58.524Z"}
{"attempt":1,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:40:12.423Z"}
{"attempt":2,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:40:15.625Z"}
{"applicationId":"c38bd7b2-5051-45b2-b64c-5155e7d06a37","error":"AI asset generation failed","level":"error","message":"AI asset generation call failed, falling back to heuristic copy","timestamp":"2026-09-30T05:40:15.626Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:40:15 +0000] \"POST /api/applications/c38bd7b2-5051-45b2-b64c-5155e7d06a37/generate-assets?languageCode=en&descriptionMaxLength=60 HTTP/1.1\" 201 9207 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:40:15.653Z"}
{"executionTimeMs":20653,"level":"http","message":"Request completed","method":"POST","path":"/api/applications/c38bd7b2-5051-45b2-b64c-5155e7d06a37/generate-assets?languageCode=en&descriptionMaxLength=60","statusCode":201,"timestamp":"2026-09-30T05:40:15.654Z"}
{"attempt":0,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:40:32.379Z"}
{"attempt":1,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:40:46.085Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:40:57 +0000] \"GET /api/image-asset-spec HTTP/1.1\" 200 671 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:40:57.077Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/image-asset-spec","statusCode":200,"timestamp":"2026-09-30T05:40:57.077Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:40:57 +0000] \"GET /api/applications/c38bd7b2-5051-45b2-b64c-5155e7d06a37/generated-assets?languageCode=en HTTP/1.1\" 200 9207 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:40:57.095Z"}
{"executionTimeMs":7,"level":"http","message":"Request completed","method":"GET","path":"/api/applications/c38bd7b2-5051-45b2-b64c-5155e7d06a37/generated-assets?languageCode=en","statusCode":200,"timestamp":"2026-09-30T05:40:57.095Z"}
{"attempt":2,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:40:59.884Z"}
{"applicationId":"c38bd7b2-5051-45b2-b64c-5155e7d06a37","error":"AI asset generation failed","level":"error","message":"AI asset generation call failed, falling back to heuristic copy","timestamp":"2026-09-30T05:40:59.885Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:40:59 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1598 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:40:59.930Z"}
{"executionTimeMs":30595,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-09-30T05:40:59.930Z"}
{"attempt":0,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:41:09.100Z"}
{"attempt":0,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:41:31.091Z"}
{"attempt":1,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:41:49.235Z"}
{"attempt":2,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:41:52.300Z"}
{"applicationId":"c38bd7b2-5051-45b2-b64c-5155e7d06a37","error":"AI asset generation failed","level":"error","message":"AI asset generation call failed, falling back to heuristic copy","timestamp":"2026-09-30T05:41:52.301Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:41:52 +0000] \"POST /api/campaigns HTTP/1.1\" 201 976 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:41:52.365Z"}
{"executionTimeMs":45747,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-09-30T05:41:52.366Z"}
{"attempt":1,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:41:53.156Z"}
{"attempt":2,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T05:41:57.970Z"}
{"applicationId":"c38bd7b2-5051-45b2-b64c-5155e7d06a37","error":"AI asset generation failed","level":"error","message":"AI asset generation call failed, falling back to heuristic copy","timestamp":"2026-09-30T05:41:57.972Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:41:57 +0000] \"GET /api/campaigns/ad-copy-preview?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37&adGroupCount=1&languageCode=en HTTP/1.1\" 200 629 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:41:57.997Z"}
{"executionTimeMs":60918,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/ad-copy-preview?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37&adGroupCount=1&languageCode=en","statusCode":200,"timestamp":"2026-09-30T05:41:57.998Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:42:01 +0000] \"POST /api/campaigns/138cfdaf-a787-4faa-afdd-22c94405e773/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:42:01.681Z"}
{"executionTimeMs":9213,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/138cfdaf-a787-4faa-afdd-22c94405e773/create","statusCode":200,"timestamp":"2026-09-30T05:42:01.682Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:05:42:01 +0000] \"GET /api/campaigns HTTP/1.1\" 200 50881 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T05:42:01.900Z"}
{"executionTimeMs":63,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-30T05:42:01.900Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:23:36 +0000] \"GET /api/accounts HTTP/1.1\" 200 1030 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:23:36.964Z"}
{"executionTimeMs":28,"level":"http","message":"Request completed","method":"GET","path":"/api/accounts","statusCode":200,"timestamp":"2026-09-30T07:23:36.966Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:23:36 +0000] \"GET /api/campaign-templates HTTP/1.1\" 200 26 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:23:36.968Z"}
{"executionTimeMs":34,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-templates","statusCode":200,"timestamp":"2026-09-30T07:23:36.968Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:23:36 +0000] \"GET /api/applications HTTP/1.1\" 200 23584 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:23:36.979Z"}
{"executionTimeMs":55,"level":"http","message":"Request completed","method":"GET","path":"/api/applications","statusCode":200,"timestamp":"2026-09-30T07:23:36.980Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:23:40 +0000] \"GET /api/countries HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:23:40.575Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/countries","statusCode":304,"timestamp":"2026-09-30T07:23:40.576Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:23:40 +0000] \"GET /api/languages HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:23:40.577Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/languages","statusCode":304,"timestamp":"2026-09-30T07:23:40.577Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:23:40 +0000] \"GET /api/bidding-strategies HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:23:40.587Z"}
{"executionTimeMs":1,"level":"http","message":"Request completed","method":"GET","path":"/api/bidding-strategies","statusCode":304,"timestamp":"2026-09-30T07:23:40.587Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:23:40 +0000] \"GET /api/campaign-defaults HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:23:40.612Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/api/campaign-defaults","statusCode":304,"timestamp":"2026-09-30T07:23:40.613Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:23:42 +0000] \"GET /api/campaigns/install-cost-suggestion?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:23:42.033Z"}
{"executionTimeMs":1304,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/install-cost-suggestion?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37","statusCode":304,"timestamp":"2026-09-30T07:23:42.034Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:23:42 +0000] \"GET /api/campaigns/conversion-actions?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37 HTTP/1.1\" 304 - \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:23:42.073Z"}
{"executionTimeMs":1361,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns/conversion-actions?applicationId=c38bd7b2-5051-45b2-b64c-5155e7d06a37","statusCode":304,"timestamp":"2026-09-30T07:23:42.073Z"}
{"attempt":0,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T07:24:07.435Z"}
{"attempt":1,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T07:24:10.989Z"}
{"attempt":2,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T07:24:14.036Z"}
{"applicationId":"c38bd7b2-5051-45b2-b64c-5155e7d06a37","error":"AI asset generation failed","level":"error","message":"AI asset generation call failed, falling back to heuristic copy","timestamp":"2026-09-30T07:24:14.037Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:24:14 +0000] \"POST /api/campaigns/preview HTTP/1.1\" 200 1588 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:24:14.087Z"}
{"executionTimeMs":10426,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/preview","statusCode":200,"timestamp":"2026-09-30T07:24:14.088Z"}
{"attempt":0,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T07:24:19.924Z"}
{"attempt":1,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T07:24:22.580Z"}
{"attempt":2,"error":"429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.","level":"warn","message":"OpenAI completion attempt failed","timestamp":"2026-09-30T07:24:26.079Z"}
{"applicationId":"c38bd7b2-5051-45b2-b64c-5155e7d06a37","error":"AI asset generation failed","level":"error","message":"AI asset generation call failed, falling back to heuristic copy","timestamp":"2026-09-30T07:24:26.080Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:24:26 +0000] \"POST /api/campaigns HTTP/1.1\" 201 976 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:24:26.129Z"}
{"executionTimeMs":8473,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns","statusCode":201,"timestamp":"2026-09-30T07:24:26.130Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:24:33 +0000] \"POST /api/campaigns/1d9d209c-8be4-4307-9128-3a0ba349bd01/create HTTP/1.1\" 200 493 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:24:33.391Z"}
{"executionTimeMs":7146,"level":"http","message":"Request completed","method":"POST","path":"/api/campaigns/1d9d209c-8be4-4307-9128-3a0ba349bd01/create","statusCode":200,"timestamp":"2026-09-30T07:24:33.391Z"}
{"level":"http","message":"::ffff:110.226.114.130 - - [30/Sep/2026:07:24:33 +0000] \"GET /api/campaigns HTTP/1.1\" 200 51965 \"http://143.110.241.90:5173/\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36\"","timestamp":"2026-09-30T07:24:33.597Z"}
{"executionTimeMs":19,"level":"http","message":"Request completed","method":"GET","path":"/api/campaigns","statusCode":200,"timestamp":"2026-09-30T07:24:33.598Z"}
{"level":"error","message":"Request failed Route not found: GET /.env","method":"GET","path":"/.env","stack":"ApiError: Route not found: GET /.env\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-30T08:46:43.309Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [30/Sep/2026:08:46:43 +0000] \"GET /.env HTTP/1.1\" 404 66 \"-\" \"Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30\"","timestamp":"2026-09-30T08:46:43.310Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/.env","statusCode":404,"timestamp":"2026-09-30T08:46:43.311Z"}
{"level":"error","message":"Request failed Route not found: POST /","method":"POST","path":"/","stack":"ApiError: Route not found: POST /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-30T08:46:43.971Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [30/Sep/2026:08:46:43 +0000] \"POST / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30\"","timestamp":"2026-09-30T08:46:43.974Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"POST","path":"/","statusCode":404,"timestamp":"2026-09-30T08:46:43.974Z"}
{"level":"error","message":"Request failed Route not found: GET /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php","method":"GET","path":"/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php","stack":"ApiError: Route not found: GET /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-30T08:46:51.935Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [30/Sep/2026:08:46:51 +0000] \"GET /vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1\" 404 112 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-09-30T08:46:51.936Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php","statusCode":404,"timestamp":"2026-09-30T08:46:51.937Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-30T14:21:23.406Z"}
{"level":"http","message":"::ffff:85.217.149.31 - - [30/Sep/2026:14:21:23 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 ModatScanner/1.2 (+https://modat.io/)\"","timestamp":"2026-09-30T14:21:23.419Z"}
{"executionTimeMs":14,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-09-30T14:21:23.419Z"}
{"level":"error","message":"Request failed Route not found: GET /.git/config","method":"GET","path":"/.git/config","stack":"ApiError: Route not found: GET /.git/config\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-09-30T21:57:23.372Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [30/Sep/2026:21:57:23 +0000] \"GET /.git/config HTTP/1.1\" 404 73 \"-\" \"Wget/1.21.3 (linux-gnu)\"","timestamp":"2026-09-30T21:57:23.373Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/.git/config","statusCode":404,"timestamp":"2026-09-30T21:57:23.373Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:19.294Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:19 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; Konqueror/3; Linux)\"","timestamp":"2026-10-01T19:41:19.386Z"}
{"executionTimeMs":119,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:19.386Z"}
{"level":"error","message":"Request failed Route not found: GET /robots.txt","method":"GET","path":"/robots.txt","stack":"ApiError: Route not found: GET /robots.txt\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:20.344Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:20 +0000] \"GET /robots.txt HTTP/1.1\" 404 72 \"-\" \"Mozilla/5.0 (compatible; Konqueror/3; Linux)\"","timestamp":"2026-10-01T19:41:20.345Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/robots.txt","statusCode":404,"timestamp":"2026-10-01T19:41:20.345Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:21.237Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:21 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (compatible; Konqueror/3; Linux)\"","timestamp":"2026-10-01T19:41:21.248Z"}
{"executionTimeMs":12,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:21.249Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:22.759Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:22 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36\"","timestamp":"2026-10-01T19:41:22.761Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:22.761Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:23.662Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:23 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","timestamp":"2026-10-01T19:41:23.665Z"}
{"executionTimeMs":5,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:23.665Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:24.741Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:24 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-10-01T19:41:24.743Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:24.743Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:25.672Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:25 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)\"","timestamp":"2026-10-01T19:41:25.674Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:25.674Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:26.759Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:26 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36\"","timestamp":"2026-10-01T19:41:26.760Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:26.760Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:28.141Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:28 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-10-01T19:41:28.144Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:28.144Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:30.034Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:30 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36\"","timestamp":"2026-10-01T19:41:30.036Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:30.036Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:31.647Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:31 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko\"","timestamp":"2026-10-01T19:41:31.650Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:31.650Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:33.313Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:33 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-10-01T19:41:33.316Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:33.316Z"}
{"level":"error","message":"Request failed Route not found: HEAD /","method":"HEAD","path":"/","stack":"ApiError: Route not found: HEAD /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:35.468Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:35 +0000] \"HEAD / HTTP/1.1\" 404 63 \"-\" \"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)\"","timestamp":"2026-10-01T19:41:35.470Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"HEAD","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:35.471Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:36.871Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:36 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko\"","timestamp":"2026-10-01T19:41:36.873Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:36.874Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:38.515Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:38 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"python-requests/2.34.2\"","timestamp":"2026-10-01T19:41:38.517Z"}
{"executionTimeMs":3,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:38.518Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:41.556Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:41 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-10-01T19:41:41.557Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T19:41:41.557Z"}
{"level":"error","message":"Request failed Route not found: GET /favicon.ico","method":"GET","path":"/favicon.ico","stack":"ApiError: Route not found: GET /favicon.ico\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T19:41:41.848Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:19:41:41 +0000] \"GET /favicon.ico HTTP/1.1\" 404 73 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.0.0 Safari/537.36\"","timestamp":"2026-10-01T19:41:41.850Z"}
{"executionTimeMs":2,"level":"http","message":"Request completed","method":"GET","path":"/favicon.ico","statusCode":404,"timestamp":"2026-10-01T19:41:41.850Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T20:32:26.621Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:20:32:26 +0000] \"GET / HTTP/1.1\" 404 62 \"-\" \"Hello from Palo Alto Networks, find out more about our scans in https://docs-cortex.paloaltonetworks.com/r/1/Cortex-Xpanse/Scanning-activity\"","timestamp":"2026-10-01T20:32:26.624Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T20:32:26.625Z"}
{"level":"error","message":"Request failed Route not found: GET /","method":"GET","path":"/","stack":"ApiError: Route not found: GET /\n    at ApiError.notFound (/var/www/html/google-ads-automation/backend/src/utils/ApiError.js:23:12)\n    at notFoundHandler (/var/www/html/google-ads-automation/backend/src/middlewares/errorHandler.js:6:17)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)\n    at Layer.handle [as handle_request] (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:328:13)\n    at /var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:286:9\n    at router.process_params (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:346:12)\n    at next (/var/www/html/google-ads-automation/backend/node_modules/express/lib/router/index.js:280:10)\n    at requestLogger (/var/www/html/google-ads-automation/backend/src/middlewares/requestLogger.js:48:3)\n    at newFn (/var/www/html/google-ads-automation/backend/node_modules/express-async-errors/index.js:16:20)","statusCode":404,"timestamp":"2026-10-01T23:03:05.106Z"}
{"level":"http","message":"::ffff:127.0.0.1 - - [01/Oct/2026:23:03:05 +0000] \"GET / HTTP/1.1\" 404 62 \"https://143.110.241.90.nip.io/\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1\"","timestamp":"2026-10-01T23:03:05.108Z"}
{"executionTimeMs":4,"level":"http","message":"Request completed","method":"GET","path":"/","statusCode":404,"timestamp":"2026-10-01T23:03:05.109Z"}
