{"text": "2026-02-25 21:36:17.527 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.072765", "seconds": 1.072765}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:36:17.527091+00:00", "timestamp": 1772055377.527091}}}
{"text": "2026-02-25 21:36:17.527 | INFO     | app.main:lifespan:27 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.073397", "seconds": 1.073397}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 27, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:36:17.527723+00:00", "timestamp": 1772055377.527723}}}
{"text": "2026-02-25 21:36:17.559 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.196046", "seconds": 1.196046}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:36:17.559717+00:00", "timestamp": 1772055377.559717}}}
{"text": "2026-02-25 21:36:17.560 | INFO     | app.main:lifespan:27 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.196897", "seconds": 1.196897}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 27, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:36:17.560568+00:00", "timestamp": 1772055377.560568}}}
{"text": "2026-02-25 21:36:17.692 | INFO     | app.main:lifespan:29 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.238054", "seconds": 1.238054}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 29, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:36:17.692380+00:00", "timestamp": 1772055377.69238}}}
{"text": "2026-02-25 21:36:17.693 | INFO     | app.main:lifespan:31 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.238984", "seconds": 1.238984}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 31, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:36:17.693310+00:00", "timestamp": 1772055377.69331}}}
{"text": "2026-02-25 21:36:17.718 | INFO     | app.main:lifespan:29 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.354917", "seconds": 1.354917}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 29, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:36:17.718588+00:00", "timestamp": 1772055377.718588}}}
{"text": "2026-02-25 21:36:17.719 | INFO     | app.main:lifespan:31 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.355799", "seconds": 1.355799}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 31, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:36:17.719470+00:00", "timestamp": 1772055377.71947}}}
{"text": "2026-02-25 21:41:06.725 | INFO     | app.main:log_requests:103 - GET /api/v1/health - 404 - 0.82ms\n", "record": {"elapsed": {"repr": "0:04:50.270926", "seconds": 290.270926}, "exception": null, "extra": {"request_id": "56f7a52a-4d8a-4977-9fc1-f2dcdb8ff73e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/health", "status_code": 404, "duration_ms": 0.82, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/health - 404 - 0.82ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:41:06.725252+00:00", "timestamp": 1772055666.725252}}}
{"text": "2026-02-25 21:45:04.722 | ERROR    | app.core.exceptions:sqlalchemy_exception_handler:140 - Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column users.recent_events does not exist\n[SQL: SELECT users.id, users.username, users.email, users.hashed_password, users.is_active, users.is_superuser, users.recent_events, users.created_at, users.updated_at \nFROM users \nWHERE users.username = $1::VARCHAR]\n[parameters: ('npastrami',)]\n(Background on this error at: https://sqlalche.me/e/20/f405)\n", "record": {"elapsed": {"repr": "0:08:48.358989", "seconds": 528.358989}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": "-", "duration_ms": "-", "error_type": "ProgrammingError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "sqlalchemy_exception_handler", "level": {"icon": "❌", "name": "ERROR", "no": 40}, "line": 140, "message": "Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column users.recent_events does not exist\n[SQL: SELECT users.id, users.username, users.email, users.hashed_password, users.is_active, users.is_superuser, users.recent_events, users.created_at, users.updated_at \nFROM users \nWHERE users.username = $1::VARCHAR]\n[parameters: ('npastrami',)]\n(Background on this error at: https://sqlalche.me/e/20/f405)", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:45:04.722660+00:00", "timestamp": 1772055904.72266}}}
{"text": "2026-02-25 21:45:04.723 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 500 - 140.81ms\n", "record": {"elapsed": {"repr": "0:08:48.359918", "seconds": 528.359918}, "exception": null, "extra": {"request_id": "871ff6ae-d174-469f-b48c-501423ab9bd0", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 500, "duration_ms": 140.81, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 500 - 140.81ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:45:04.723589+00:00", "timestamp": 1772055904.723589}}}
{"text": "2026-02-25 21:47:49.436 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 377.65ms\n", "record": {"elapsed": {"repr": "0:11:33.072352", "seconds": 693.072352}, "exception": null, "extra": {"request_id": "12e4b579-60ae-41a6-a9c3-4bf727d0ef16", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 377.65, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 377.65ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:47:49.436023+00:00", "timestamp": 1772056069.436023}}}
{"text": "2026-02-25 21:47:49.939 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 9.16ms\n", "record": {"elapsed": {"repr": "0:11:33.575787", "seconds": 693.575787}, "exception": null, "extra": {"request_id": "61c72610-e855-4159-a814-0fcf233f1be4", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 9.16, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 9.16ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:47:49.939458+00:00", "timestamp": 1772056069.939458}}}
{"text": "2026-02-25 21:47:50.032 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 99.56ms\n", "record": {"elapsed": {"repr": "0:11:33.577686", "seconds": 693.577686}, "exception": null, "extra": {"request_id": "c67dbffc-4473-48ef-ad4c-22010acdd076", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 99.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 99.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:47:50.032012+00:00", "timestamp": 1772056070.032012}}}
{"text": "2026-02-25 21:47:50.218 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.68ms\n", "record": {"elapsed": {"repr": "0:11:33.855151", "seconds": 693.855151}, "exception": null, "extra": {"request_id": "6c69f01b-2b4a-4541-85e6-b04d2f9570fb", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.68, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.68ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:47:50.218822+00:00", "timestamp": 1772056070.218822}}}
{"text": "2026-02-25 21:47:50.413 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 20.57ms\n", "record": {"elapsed": {"repr": "0:11:34.050262", "seconds": 694.050262}, "exception": null, "extra": {"request_id": "12f65913-caf1-4a0c-b130-84fd4cede4d7", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 20.57, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 20.57ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:47:50.413933+00:00", "timestamp": 1772056070.413933}}}
{"text": "2026-02-25 21:51:40.051 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 314.56ms\n", "record": {"elapsed": {"repr": "0:15:23.596803", "seconds": 923.596803}, "exception": null, "extra": {"request_id": "d975442e-ea12-4cd0-aec6-aae599efa488", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 314.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 314.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:51:40.051129+00:00", "timestamp": 1772056300.051129}}}
{"text": "2026-02-25 21:51:40.176 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 5.26ms\n", "record": {"elapsed": {"repr": "0:15:23.722455", "seconds": 923.722455}, "exception": null, "extra": {"request_id": "540ee3ef-db59-4715-b9f2-4664f96109c3", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 5.26, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 5.26ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:51:40.176781+00:00", "timestamp": 1772056300.176781}}}
{"text": "2026-02-25 21:51:40.179 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 7.8ms\n", "record": {"elapsed": {"repr": "0:15:23.816113", "seconds": 923.816113}, "exception": null, "extra": {"request_id": "e0615ed0-4fab-4889-be9b-1d2f76fdf7e6", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 7.8, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 7.8ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:51:40.179784+00:00", "timestamp": 1772056300.179784}}}
{"text": "2026-02-25 21:51:40.259 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 2.84ms\n", "record": {"elapsed": {"repr": "0:15:23.805329", "seconds": 923.805329}, "exception": null, "extra": {"request_id": "3e633c50-02a2-4ef8-b5ff-28bfda3cf9af", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 2.84, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 2.84ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:51:40.259655+00:00", "timestamp": 1772056300.259655}}}
{"text": "2026-02-25 21:51:40.262 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 5.41ms\n", "record": {"elapsed": {"repr": "0:15:23.898603", "seconds": 923.898603}, "exception": null, "extra": {"request_id": "64a30fb1-aa19-4ace-954b-1fb347b05d0d", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 5.41, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 5.41ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:51:40.262274+00:00", "timestamp": 1772056300.262274}}}
{"text": "2026-02-25 21:53:08.362 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/3/control - 200 - 38.52ms\n", "record": {"elapsed": {"repr": "0:16:51.908193", "seconds": 1011.908193}, "exception": null, "extra": {"request_id": "3d5f38a1-0dfe-47f4-ad73-4e997761b409", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/3/control", "status_code": 200, "duration_ms": 38.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/3/control - 200 - 38.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:53:08.362519+00:00", "timestamp": 1772056388.362519}}}
{"text": "2026-02-25 21:53:08.825 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/2/control - 200 - 50.59ms\n", "record": {"elapsed": {"repr": "0:16:52.371641", "seconds": 1012.371641}, "exception": null, "extra": {"request_id": "98aa0540-8e0e-4bc4-be65-0715667e800c", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/2/control", "status_code": 200, "duration_ms": 50.59, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/2/control - 200 - 50.59ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:53:08.825967+00:00", "timestamp": 1772056388.825967}}}
{"text": "2026-02-25 21:53:09.459 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/1/control - 200 - 9.49ms\n", "record": {"elapsed": {"repr": "0:16:53.004862", "seconds": 1013.004862}, "exception": null, "extra": {"request_id": "4cfb3495-b109-4a02-8bd5-e95b8bfceb86", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/1/control", "status_code": 200, "duration_ms": 9.49, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/1/control - 200 - 9.49ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:53:09.459188+00:00", "timestamp": 1772056389.459188}}}
{"text": "2026-02-25 21:53:10.086 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/4/control - 200 - 8.97ms\n", "record": {"elapsed": {"repr": "0:16:53.632025", "seconds": 1013.632025}, "exception": null, "extra": {"request_id": "2ecbded3-c482-476d-817e-7311124b032a", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/4/control", "status_code": 200, "duration_ms": 8.97, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/4/control - 200 - 8.97ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:53:10.086351+00:00", "timestamp": 1772056390.086351}}}
{"text": "2026-02-25 21:53:10.810 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/4/control - 200 - 14.79ms\n", "record": {"elapsed": {"repr": "0:16:54.446442", "seconds": 1014.446442}, "exception": null, "extra": {"request_id": "5362566a-827f-4bbd-ba5c-4a0cc4d08090", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/4/control", "status_code": 200, "duration_ms": 14.79, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/4/control - 200 - 14.79ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:53:10.810113+00:00", "timestamp": 1772056390.810113}}}
{"text": "2026-02-25 21:59:14.091 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 371.13ms\n", "record": {"elapsed": {"repr": "0:22:57.728170", "seconds": 1377.72817}, "exception": null, "extra": {"request_id": "9e781438-fd16-4a4f-861b-b3c2c07791df", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 371.13, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 371.13ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:59:14.091841+00:00", "timestamp": 1772056754.091841}}}
{"text": "2026-02-25 21:59:14.169 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 3.99ms\n", "record": {"elapsed": {"repr": "0:22:57.806039", "seconds": 1377.806039}, "exception": null, "extra": {"request_id": "13594b0b-4ffa-4157-a97c-5f95a5a1d58a", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 3.99, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 3.99ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 21:59:14.169710+00:00", "timestamp": 1772056754.16971}}}
{"text": "2026-02-25 22:06:25.609 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/5/control - 200 - 9.72ms\n", "record": {"elapsed": {"repr": "0:30:09.155193", "seconds": 1809.155193}, "exception": null, "extra": {"request_id": "ea6d1b5f-e16a-4a22-a138-2691af28d4b7", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/instances/5/control", "status_code": 200, "duration_ms": 9.72, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/5/control - 200 - 9.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 22:06:25.609519+00:00", "timestamp": 1772057185.609519}}}
{"text": "2026-02-25 22:20:31.994 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 401 - 3.26ms\n", "record": {"elapsed": {"repr": "0:44:15.539891", "seconds": 2655.539891}, "exception": null, "extra": {"request_id": "8c46512e-5cde-4d58-8e11-040ec1cf4f48", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 401, "duration_ms": 3.26, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 401 - 3.26ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 22:20:31.994217+00:00", "timestamp": 1772058031.994217}}}
{"text": "2026-02-25 22:24:36.990 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.57ms\n", "record": {"elapsed": {"repr": "0:48:20.536162", "seconds": 2900.536162}, "exception": null, "extra": {"request_id": "0fb7ff39-85ff-4051-9404-09e2cd3a0a2e", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.57, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.57ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732170272800, "name": "MainThread"}, "time": {"repr": "2026-02-25 22:24:36.990488+00:00", "timestamp": 1772058276.990488}}}
{"text": "2026-02-26 00:26:03.067 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.409661", "seconds": 1.409661}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:26:03.067756+00:00", "timestamp": 1772065563.067756}}}
{"text": "2026-02-26 00:26:03.068 | INFO     | app.main:lifespan:27 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.410310", "seconds": 1.41031}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 27, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:26:03.068405+00:00", "timestamp": 1772065563.068405}}}
{"text": "2026-02-26 00:26:03.068 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.355323", "seconds": 1.355323}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:26:03.068624+00:00", "timestamp": 1772065563.068624}}}
{"text": "2026-02-26 00:26:03.069 | INFO     | app.main:lifespan:27 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.355820", "seconds": 1.35582}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 27, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:26:03.069121+00:00", "timestamp": 1772065563.069121}}}
{"text": "2026-02-26 00:26:03.213 | INFO     | app.main:lifespan:29 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.554908", "seconds": 1.554908}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 29, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:26:03.213003+00:00", "timestamp": 1772065563.213003}}}
{"text": "2026-02-26 00:26:03.213 | INFO     | app.main:lifespan:31 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.555845", "seconds": 1.555845}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 31, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:26:03.213940+00:00", "timestamp": 1772065563.21394}}}
{"text": "2026-02-26 00:26:03.214 | INFO     | app.main:lifespan:29 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.501264", "seconds": 1.501264}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 29, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:26:03.214565+00:00", "timestamp": 1772065563.214565}}}
{"text": "2026-02-26 00:26:03.215 | INFO     | app.main:lifespan:31 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.502032", "seconds": 1.502032}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 31, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:26:03.215333+00:00", "timestamp": 1772065563.215333}}}
{"text": "2026-02-26 00:30:23.948 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 372.87ms\n", "record": {"elapsed": {"repr": "0:04:22.290182", "seconds": 262.290182}, "exception": null, "extra": {"request_id": "281cca05-9f5e-4c32-a28a-4574bd471669", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 372.87, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 372.87ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:30:23.948277+00:00", "timestamp": 1772065823.948277}}}
{"text": "2026-02-26 00:30:24.137 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 8.86ms\n", "record": {"elapsed": {"repr": "0:04:22.479750", "seconds": 262.47975}, "exception": null, "extra": {"request_id": "6cd80133-cf19-4f46-aa73-6ad9f1f0fd9c", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 8.86, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 8.86ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:30:24.137845+00:00", "timestamp": 1772065824.137845}}}
{"text": "2026-02-26 00:30:24.206 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 71.32ms\n", "record": {"elapsed": {"repr": "0:04:22.493397", "seconds": 262.493397}, "exception": null, "extra": {"request_id": "d24fa9c1-7c70-43e9-9dba-bddf915192c8", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 71.32, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 71.32ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:30:24.206698+00:00", "timestamp": 1772065824.206698}}}
{"text": "2026-02-26 00:30:24.213 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.91ms\n", "record": {"elapsed": {"repr": "0:04:22.555476", "seconds": 262.555476}, "exception": null, "extra": {"request_id": "2e39d5fb-0ea4-49a5-97b3-a3355f57a17a", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.91, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.91ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:30:24.213571+00:00", "timestamp": 1772065824.213571}}}
{"text": "2026-02-26 00:30:24.293 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 4.23ms\n", "record": {"elapsed": {"repr": "0:04:22.579862", "seconds": 262.579862}, "exception": null, "extra": {"request_id": "3feaf9e0-ce41-4da3-bf86-e0448e9bf7c7", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 4.23, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 4.23ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:30:24.293163+00:00", "timestamp": 1772065824.293163}}}
{"text": "2026-02-26 00:36:42.511 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/5/control - 200 - 23.57ms\n", "record": {"elapsed": {"repr": "0:10:40.798562", "seconds": 640.798562}, "exception": null, "extra": {"request_id": "746aecef-e33d-462f-b5be-d2e981a77e92", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/instances/5/control", "status_code": 200, "duration_ms": 23.57, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/5/control - 200 - 23.57ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:36:42.511863+00:00", "timestamp": 1772066202.511863}}}
{"text": "2026-02-26 00:39:14.126 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.56ms\n", "record": {"elapsed": {"repr": "0:13:12.413026", "seconds": 792.413026}, "exception": null, "extra": {"request_id": "f56a8f60-e1b8-4239-ab41-088946f588ac", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:39:14.126327+00:00", "timestamp": 1772066354.126327}}}
{"text": "2026-02-26 00:43:50.500 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 315.85ms\n", "record": {"elapsed": {"repr": "0:17:48.786964", "seconds": 1068.786964}, "exception": null, "extra": {"request_id": "f6281ba5-4f72-4ce4-9a2c-ae2bff18c570", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 315.85, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 315.85ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:43:50.500265+00:00", "timestamp": 1772066630.500265}}}
{"text": "2026-02-26 00:43:50.580 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 4.33ms\n", "record": {"elapsed": {"repr": "0:17:48.867020", "seconds": 1068.86702}, "exception": null, "extra": {"request_id": "8b69ba3d-936b-4506-9413-6f58f9d6315f", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 4.33, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 4.33ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:43:50.580321+00:00", "timestamp": 1772066630.580321}}}
{"text": "2026-02-26 00:53:12.535 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/6/control - 200 - 12.18ms\n", "record": {"elapsed": {"repr": "0:27:10.822677", "seconds": 1630.822677}, "exception": null, "extra": {"request_id": "cab8bf97-a96c-4f7c-8749-da8dc8a64697", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/instances/6/control", "status_code": 200, "duration_ms": 12.18, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/6/control - 200 - 12.18ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 00:53:12.535978+00:00", "timestamp": 1772067192.535978}}}
{"text": "2026-02-26 01:31:59.545 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 1.42ms\n", "record": {"elapsed": {"repr": "1:05:57.832311", "seconds": 3957.832311}, "exception": null, "extra": {"request_id": "18f3850f-c49d-448c-bbf6-926c9ac3c266", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 1.42, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 1.42ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:31:59.545612+00:00", "timestamp": 1772069519.545612}}}
{"text": "2026-02-26 01:31:59.558 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.55ms\n", "record": {"elapsed": {"repr": "1:05:57.845064", "seconds": 3957.845064}, "exception": null, "extra": {"request_id": "449c5a5a-8297-46f4-bab9-217f3e5dbf7c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:31:59.558365+00:00", "timestamp": 1772069519.558365}}}
{"text": "2026-02-26 01:31:59.625 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 1.25ms\n", "record": {"elapsed": {"repr": "1:05:57.912263", "seconds": 3957.912263}, "exception": null, "extra": {"request_id": "da054b15-4e47-4b46-b829-443c7aae6742", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 1.25, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 1.25ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:31:59.625564+00:00", "timestamp": 1772069519.625564}}}
{"text": "2026-02-26 01:31:59.634 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.49ms\n", "record": {"elapsed": {"repr": "1:05:57.976785", "seconds": 3957.976785}, "exception": null, "extra": {"request_id": "3dfff40b-9c80-4c75-9a3a-51ad8ca6f723", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.49, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:31:59.634880+00:00", "timestamp": 1772069519.63488}}}
{"text": "2026-02-26 01:32:00.542 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.27ms\n", "record": {"elapsed": {"repr": "1:05:58.828943", "seconds": 3958.828943}, "exception": null, "extra": {"request_id": "c6f040cd-2ccf-4e17-b3ba-ed291cd2b448", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.27, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.27ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:32:00.542244+00:00", "timestamp": 1772069520.542244}}}
{"text": "2026-02-26 01:32:00.543 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.66ms\n", "record": {"elapsed": {"repr": "1:05:58.885030", "seconds": 3958.88503}, "exception": null, "extra": {"request_id": "e941d8de-a942-48d2-ad3f-65418ed2eec4", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.66, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.66ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:32:00.543125+00:00", "timestamp": 1772069520.543125}}}
{"text": "2026-02-26 01:32:00.548 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 7.81ms\n", "record": {"elapsed": {"repr": "1:05:58.834908", "seconds": 3958.834908}, "exception": null, "extra": {"request_id": "6579d054-20e4-4ed9-bc31-cdf58bc57d0f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 7.81, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 7.81ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:32:00.548209+00:00", "timestamp": 1772069520.548209}}}
{"text": "2026-02-26 01:32:00.549 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.81ms\n", "record": {"elapsed": {"repr": "1:05:58.891707", "seconds": 3958.891707}, "exception": null, "extra": {"request_id": "f457b13a-2b30-4e4f-a514-c53076287eb1", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.81, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.81ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:32:00.549802+00:00", "timestamp": 1772069520.549802}}}
{"text": "2026-02-26 01:42:05.280 | INFO     | app.main:lifespan:39 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "1:16:03.622643", "seconds": 4563.622643}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 39, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:05.280738+00:00", "timestamp": 1772070125.280738}}}
{"text": "2026-02-26 01:42:05.281 | INFO     | app.main:lifespan:42 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "1:16:03.623394", "seconds": 4563.623394}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 42, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:05.281489+00:00", "timestamp": 1772070125.281489}}}
{"text": "2026-02-26 01:42:05.284 | INFO     | app.main:lifespan:44 - ✅ Database closed\n", "record": {"elapsed": {"repr": "1:16:03.626032", "seconds": 4563.626032}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 44, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733436624928, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:05.284127+00:00", "timestamp": 1772070125.284127}}}
{"text": "2026-02-26 01:42:48.212 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.059245", "seconds": 1.059245}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:48.212076+00:00", "timestamp": 1772070168.212076}}}
{"text": "2026-02-26 01:42:48.212 | INFO     | app.main:lifespan:27 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.059802", "seconds": 1.059802}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 27, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:48.212633+00:00", "timestamp": 1772070168.212633}}}
{"text": "2026-02-26 01:42:48.212 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.133027", "seconds": 1.133027}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:48.212857+00:00", "timestamp": 1772070168.212857}}}
{"text": "2026-02-26 01:42:48.213 | INFO     | app.main:lifespan:27 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.133585", "seconds": 1.133585}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 27, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:48.213415+00:00", "timestamp": 1772070168.213415}}}
{"text": "2026-02-26 01:42:48.350 | INFO     | app.main:lifespan:29 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.197688", "seconds": 1.197688}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 29, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:48.350519+00:00", "timestamp": 1772070168.350519}}}
{"text": "2026-02-26 01:42:48.351 | INFO     | app.main:lifespan:31 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.198614", "seconds": 1.198614}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 31, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:48.351445+00:00", "timestamp": 1772070168.351445}}}
{"text": "2026-02-26 01:42:48.353 | INFO     | app.main:lifespan:29 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.273905", "seconds": 1.273905}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 29, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:48.353735+00:00", "timestamp": 1772070168.353735}}}
{"text": "2026-02-26 01:42:48.354 | INFO     | app.main:lifespan:31 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.274795", "seconds": 1.274795}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 31, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:42:48.354625+00:00", "timestamp": 1772070168.354625}}}
{"text": "2026-02-26 01:50:58.883 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 370.36ms\n", "record": {"elapsed": {"repr": "0:08:11.803810", "seconds": 491.80381}, "exception": null, "extra": {"request_id": "cf720ead-0e29-4847-bd82-b8a4bf303c64", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 370.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 370.36ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:50:58.883640+00:00", "timestamp": 1772070658.88364}}}
{"text": "2026-02-26 01:50:59.236 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 54.43ms\n", "record": {"elapsed": {"repr": "0:08:12.156211", "seconds": 492.156211}, "exception": null, "extra": {"request_id": "b74b0900-5ac6-41ef-8101-ef6f139b1b9a", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 54.43, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 54.43ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:50:59.236041+00:00", "timestamp": 1772070659.236041}}}
{"text": "2026-02-26 01:50:59.248 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 59.56ms\n", "record": {"elapsed": {"repr": "0:08:12.095879", "seconds": 492.095879}, "exception": null, "extra": {"request_id": "a8779e63-b23f-4c82-ba63-7464bb1f74fd", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 59.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 59.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:50:59.248710+00:00", "timestamp": 1772070659.24871}}}
{"text": "2026-02-26 01:50:59.299 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 108.32ms\n", "record": {"elapsed": {"repr": "0:08:12.219422", "seconds": 492.219422}, "exception": null, "extra": {"request_id": "e121b57a-b823-478a-afde-fa157187a638", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 108.32, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 108.32ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:50:59.299252+00:00", "timestamp": 1772070659.299252}}}
{"text": "2026-02-26 01:50:59.300 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 108.16ms\n", "record": {"elapsed": {"repr": "0:08:12.220267", "seconds": 492.220267}, "exception": null, "extra": {"request_id": "3131f63b-db3b-4151-9fdf-8eca5a7dc6a7", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 108.16, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 108.16ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:50:59.300097+00:00", "timestamp": 1772070659.300097}}}
{"text": "2026-02-26 01:52:04.393 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/6/control - 200 - 22.46ms\n", "record": {"elapsed": {"repr": "0:09:17.314113", "seconds": 557.314113}, "exception": null, "extra": {"request_id": "6148906c-9f8a-42f2-afe6-ca40687d1e9b", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/instances/6/control", "status_code": 200, "duration_ms": 22.46, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/6/control - 200 - 22.46ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:52:04.393943+00:00", "timestamp": 1772070724.393943}}}
{"text": "2026-02-26 01:53:28.140 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 303.09ms\n", "record": {"elapsed": {"repr": "0:10:40.987888", "seconds": 640.987888}, "exception": null, "extra": {"request_id": "1b8b333f-4761-4aba-96e2-cf8025dc8728", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 303.09, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 303.09ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:53:28.140719+00:00", "timestamp": 1772070808.140719}}}
{"text": "2026-02-26 01:53:28.306 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 5.26ms\n", "record": {"elapsed": {"repr": "0:10:41.153552", "seconds": 641.153552}, "exception": null, "extra": {"request_id": "de6dcd04-5378-4f74-ace0-70aa57df3fa8", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 5.26, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 5.26ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:53:28.306383+00:00", "timestamp": 1772070808.306383}}}
{"text": "2026-02-26 01:53:30.399 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 242.51ms\n", "record": {"elapsed": {"repr": "0:10:43.246998", "seconds": 643.246998}, "exception": null, "extra": {"request_id": "6ac90b8e-2bdc-40c9-8f35-71ac1ba423a5", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 242.51, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 242.51ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:53:30.399829+00:00", "timestamp": 1772070810.399829}}}
{"text": "2026-02-26 01:53:30.483 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 4.32ms\n", "record": {"elapsed": {"repr": "0:10:43.404071", "seconds": 643.404071}, "exception": null, "extra": {"request_id": "948e3a00-13b8-44c1-a6f7-4b05cde6b09b", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 4.32, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 4.32ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:53:30.483901+00:00", "timestamp": 1772070810.483901}}}
{"text": "2026-02-26 01:53:49.493 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/7/control - 200 - 8.51ms\n", "record": {"elapsed": {"repr": "0:11:02.413733", "seconds": 662.413733}, "exception": null, "extra": {"request_id": "d3662bdf-b614-48b1-bc02-8dd2ae17a2ee", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/instances/7/control", "status_code": 200, "duration_ms": 8.51, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/7/control - 200 - 8.51ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:53:49.493563+00:00", "timestamp": 1772070829.493563}}}
{"text": "2026-02-26 01:53:50.956 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/7/control - 200 - 8.24ms\n", "record": {"elapsed": {"repr": "0:11:03.877093", "seconds": 663.877093}, "exception": null, "extra": {"request_id": "242cb399-a868-4ff8-92ab-2b1701510fb5", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/instances/7/control", "status_code": 200, "duration_ms": 8.24, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/7/control - 200 - 8.24ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:53:50.956923+00:00", "timestamp": 1772070830.956923}}}
{"text": "2026-02-26 01:55:35.477 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/8/control - 200 - 47.8ms\n", "record": {"elapsed": {"repr": "0:12:48.397779", "seconds": 768.397779}, "exception": null, "extra": {"request_id": "644487e7-9a9e-4a0a-b8bf-4cdb30894c5f", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/instances/8/control", "status_code": 200, "duration_ms": 47.8, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/8/control - 200 - 47.8ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:55:35.477609+00:00", "timestamp": 1772070935.477609}}}
{"text": "2026-02-26 01:55:36.081 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/8/control - 200 - 7.97ms\n", "record": {"elapsed": {"repr": "0:12:49.001586", "seconds": 769.001586}, "exception": null, "extra": {"request_id": "2d9c8f0a-f4fc-4353-8e60-1044b42b34e8", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/instances/8/control", "status_code": 200, "duration_ms": 7.97, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/8/control - 200 - 7.97ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:55:36.081416+00:00", "timestamp": 1772070936.081416}}}
{"text": "2026-02-26 01:56:12.734 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 2.13ms\n", "record": {"elapsed": {"repr": "0:13:25.654404", "seconds": 805.654404}, "exception": null, "extra": {"request_id": "d74fe9ba-770f-426d-8685-83daa1baf179", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 2.13, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 2.13ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:12.734234+00:00", "timestamp": 1772070972.734234}}}
{"text": "2026-02-26 01:56:12.741 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 12.02ms\n", "record": {"elapsed": {"repr": "0:13:25.589018", "seconds": 805.589018}, "exception": null, "extra": {"request_id": "b1f5d012-e6a7-461d-981d-31ae07081aa2", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 12.02, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 12.02ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:12.741849+00:00", "timestamp": 1772070972.741849}}}
{"text": "2026-02-26 01:56:12.811 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 2.1ms\n", "record": {"elapsed": {"repr": "0:13:25.658985", "seconds": 805.658985}, "exception": null, "extra": {"request_id": "6dee626d-5c35-4ca1-9033-1fec63df1fc3", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 2.1, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 2.1ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:12.811816+00:00", "timestamp": 1772070972.811816}}}
{"text": "2026-02-26 01:56:12.825 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 4.69ms\n", "record": {"elapsed": {"repr": "0:13:25.672671", "seconds": 805.672671}, "exception": null, "extra": {"request_id": "11e73ebf-ddef-4279-8b06-35b489165845", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 4.69, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 4.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:12.825502+00:00", "timestamp": 1772070972.825502}}}
{"text": "2026-02-26 01:56:12.827 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 7.01ms\n", "record": {"elapsed": {"repr": "0:13:25.747862", "seconds": 805.747862}, "exception": null, "extra": {"request_id": "83134eeb-fb89-4933-8398-0875a37883c5", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 7.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 7.01ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:12.827692+00:00", "timestamp": 1772070972.827692}}}
{"text": "2026-02-26 01:56:12.890 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 2.77ms\n", "record": {"elapsed": {"repr": "0:13:25.738123", "seconds": 805.738123}, "exception": null, "extra": {"request_id": "70b92c76-5c32-47f2-bfb9-f5d0c6efeb2b", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 2.77, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 2.77ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:12.890954+00:00", "timestamp": 1772070972.890954}}}
{"text": "2026-02-26 01:56:12.907 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 4.12ms\n", "record": {"elapsed": {"repr": "0:13:25.827677", "seconds": 805.827677}, "exception": null, "extra": {"request_id": "8dc60352-be97-4d0a-99ad-73ed5336d84d", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 4.12, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 4.12ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:12.907507+00:00", "timestamp": 1772070972.907507}}}
{"text": "2026-02-26 01:56:12.966 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.82ms\n", "record": {"elapsed": {"repr": "0:13:25.886318", "seconds": 805.886318}, "exception": null, "extra": {"request_id": "7551161d-9727-4938-877b-c918cb893e16", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.82, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.82ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:12.966148+00:00", "timestamp": 1772070972.966148}}}
{"text": "2026-02-26 01:56:17.476 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 2.9ms\n", "record": {"elapsed": {"repr": "0:13:30.323976", "seconds": 810.323976}, "exception": null, "extra": {"request_id": "935c5669-b0d9-4891-b86a-706717293ad0", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 2.9, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 2.9ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:17.476807+00:00", "timestamp": 1772070977.476807}}}
{"text": "2026-02-26 01:56:21.093 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 326.72ms\n", "record": {"elapsed": {"repr": "0:13:34.013767", "seconds": 814.013767}, "exception": null, "extra": {"request_id": "2161eb25-cd2c-4bb5-bf57-93ec005e9a4f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 326.72, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 326.72ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:21.093597+00:00", "timestamp": 1772070981.093597}}}
{"text": "2026-02-26 01:56:21.213 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.83ms\n", "record": {"elapsed": {"repr": "0:13:34.060182", "seconds": 814.060182}, "exception": null, "extra": {"request_id": "c3ab4d92-8a48-42a8-8b6e-784b2558a307", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.83, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.83ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:21.213013+00:00", "timestamp": 1772070981.213013}}}
{"text": "2026-02-26 01:56:21.213 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 4.37ms\n", "record": {"elapsed": {"repr": "0:13:34.133852", "seconds": 814.133852}, "exception": null, "extra": {"request_id": "db4c7057-28d2-487e-8967-2c5fb9bed376", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 4.37, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 4.37ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:21.213682+00:00", "timestamp": 1772070981.213682}}}
{"text": "2026-02-26 01:56:21.294 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.93ms\n", "record": {"elapsed": {"repr": "0:13:34.141390", "seconds": 814.14139}, "exception": null, "extra": {"request_id": "30e3f8e0-840d-4d89-9885-9260fa0b89fb", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.93, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.93ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:21.294221+00:00", "timestamp": 1772070981.294221}}}
{"text": "2026-02-26 01:56:21.294 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 4.7ms\n", "record": {"elapsed": {"repr": "0:13:34.214610", "seconds": 814.21461}, "exception": null, "extra": {"request_id": "82813af3-6c97-488d-9667-1137066723fe", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 4.7, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 4.7ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:56:21.294440+00:00", "timestamp": 1772070981.29444}}}
{"text": "2026-02-26 01:57:13.401 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/terminal/auto/deploy\n", "record": {"elapsed": {"repr": "0:14:26.248599", "seconds": 866.248599}, "exception": null, "extra": {"request_id": "unknown", "user_id": "2", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "value_error", "loc": ["body", "markets", 0], "msg": "Value error, Market ticker cannot be empty", "input": "", "ctx": {"error": "Market ticker cannot be empty"}, "url": "https://errors.pydantic.dev/2.5/v/value_error"}, {"type": "value_error", "loc": ["body", "side_priority"], "msg": "Value error, side_priority must be one of: yes, no, expensive, cheap", "input": "none", "ctx": {"error": "side_priority must be one of: yes, no, expensive, cheap"}, "url": "https://errors.pydantic.dev/2.5/v/value_error"}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/terminal/auto/deploy", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:57:13.401430+00:00", "timestamp": 1772071033.40143}}}
{"text": "2026-02-26 01:57:13.402 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 422 - 260.23ms\n", "record": {"elapsed": {"repr": "0:14:26.249465", "seconds": 866.249465}, "exception": null, "extra": {"request_id": "14edecd7-8c06-4e8c-8976-9506deda24ee", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 422, "duration_ms": 260.23, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 422 - 260.23ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:57:13.402296+00:00", "timestamp": 1772071033.402296}}}
{"text": "2026-02-26 01:59:44.698 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 281.27ms\n", "record": {"elapsed": {"repr": "0:16:57.618401", "seconds": 1017.618401}, "exception": null, "extra": {"request_id": "4e010b5b-c9ea-4b95-afc2-1f8fd75aefcb", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 281.27, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 281.27ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:59:44.698231+00:00", "timestamp": 1772071184.698231}}}
{"text": "2026-02-26 01:59:44.857 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 6.79ms\n", "record": {"elapsed": {"repr": "0:16:57.704695", "seconds": 1017.704695}, "exception": null, "extra": {"request_id": "c7d9cfdd-a841-4f7a-b4b9-f401444b7dff", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 6.79, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 6.79ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 01:59:44.857526+00:00", "timestamp": 1772071184.857526}}}
{"text": "2026-02-26 02:05:14.666 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/9/jump - 200 - 11.43ms\n", "record": {"elapsed": {"repr": "0:22:27.513378", "seconds": 1347.513378}, "exception": null, "extra": {"request_id": "6b93510b-23fb-453e-a118-d03a4b694b9a", "user_id": "2", "method": "POST", "path": "/api/v1/terminal/auto/instances/9/jump", "status_code": 200, "duration_ms": 11.43, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/9/jump - 200 - 11.43ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:05:14.666209+00:00", "timestamp": 1772071514.666209}}}
{"text": "2026-02-26 02:09:41.904 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 2.66ms\n", "record": {"elapsed": {"repr": "0:26:54.824939", "seconds": 1614.824939}, "exception": null, "extra": {"request_id": "c221b8ac-0951-47e2-9f3e-0fc559b6e07c", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 2.66, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 2.66ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:09:41.904769+00:00", "timestamp": 1772071781.904769}}}
{"text": "2026-02-26 02:09:41.910 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 8.61ms\n", "record": {"elapsed": {"repr": "0:26:54.758134", "seconds": 1614.758134}, "exception": null, "extra": {"request_id": "35adaf30-3996-46a6-8ddb-cfba41c667ab", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 8.61, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 8.61ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:09:41.910965+00:00", "timestamp": 1772071781.910965}}}
{"text": "2026-02-26 02:09:41.981 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 2.09ms\n", "record": {"elapsed": {"repr": "0:26:54.828832", "seconds": 1614.828832}, "exception": null, "extra": {"request_id": "2d7f19ed-5632-4418-ab52-e7021f62a014", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 2.09, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 2.09ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:09:41.981663+00:00", "timestamp": 1772071781.981663}}}
{"text": "2026-02-26 02:09:42.001 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 5.1ms\n", "record": {"elapsed": {"repr": "0:26:54.848284", "seconds": 1614.848284}, "exception": null, "extra": {"request_id": "0939dd7b-d843-4762-9ad5-03ec1021e5e9", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 5.1, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 5.1ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:09:42.001115+00:00", "timestamp": 1772071782.001115}}}
{"text": "2026-02-26 02:09:43.340 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.85ms\n", "record": {"elapsed": {"repr": "0:26:56.261067", "seconds": 1616.261067}, "exception": null, "extra": {"request_id": "bcf44ca0-c3ea-4ada-8def-3a99de90bf79", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.85, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.85ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:09:43.340897+00:00", "timestamp": 1772071783.340897}}}
{"text": "2026-02-26 02:09:43.345 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 5.93ms\n", "record": {"elapsed": {"repr": "0:26:56.192777", "seconds": 1616.192777}, "exception": null, "extra": {"request_id": "13397db5-27cd-4efd-9d94-c092d5fd774b", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 5.93, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 5.93ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:09:43.345608+00:00", "timestamp": 1772071783.345608}}}
{"text": "2026-02-26 02:09:43.421 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.48ms\n", "record": {"elapsed": {"repr": "0:26:56.268520", "seconds": 1616.26852}, "exception": null, "extra": {"request_id": "7eafa0be-0714-41f5-8525-fea4dd252301", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:09:43.421351+00:00", "timestamp": 1772071783.421351}}}
{"text": "2026-02-26 02:09:43.438 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 4.62ms\n", "record": {"elapsed": {"repr": "0:26:56.358976", "seconds": 1616.358976}, "exception": null, "extra": {"request_id": "5e28fb96-131e-47e1-975d-e93a14535a14", "user_id": "2", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 4.62, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 4.62ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:09:43.438806+00:00", "timestamp": 1772071783.438806}}}
{"text": "2026-02-26 02:20:10.915 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.56ms\n", "record": {"elapsed": {"repr": "0:37:23.836152", "seconds": 2243.836152}, "exception": null, "extra": {"request_id": "1f6d515f-36c4-4b20-8720-62f98c2b3078", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.56ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 02:20:10.915982+00:00", "timestamp": 1772072410.915982}}}
{"text": "2026-02-26 03:31:47.092 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.78ms\n", "record": {"elapsed": {"repr": "1:48:59.939271", "seconds": 6539.939271}, "exception": null, "extra": {"request_id": "5fe46d5e-e817-4e45-91d8-4f9e68fa3ad2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.78, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.78ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:31:47.092102+00:00", "timestamp": 1772076707.092102}}}
{"text": "2026-02-26 03:31:47.093 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 1.55ms\n", "record": {"elapsed": {"repr": "1:49:00.013466", "seconds": 6540.013466}, "exception": null, "extra": {"request_id": "1f5606ee-79f8-4953-bee1-558147e11bae", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 1.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 1.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:31:47.093296+00:00", "timestamp": 1772076707.093296}}}
{"text": "2026-02-26 03:31:47.475 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.95ms\n", "record": {"elapsed": {"repr": "1:49:00.395302", "seconds": 6540.395302}, "exception": null, "extra": {"request_id": "350712bc-15d1-4dc7-a1da-f89858288647", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.95, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.95ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:31:47.475132+00:00", "timestamp": 1772076707.475132}}}
{"text": "2026-02-26 03:31:47.476 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 4.8ms\n", "record": {"elapsed": {"repr": "1:49:00.323305", "seconds": 6540.323305}, "exception": null, "extra": {"request_id": "bf4c39ee-303f-4dad-a29b-7e7137ef5fe9", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 4.8, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 4.8ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:31:47.476136+00:00", "timestamp": 1772076707.476136}}}
{"text": "2026-02-26 03:31:47.480 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 5.86ms\n", "record": {"elapsed": {"repr": "1:49:00.327432", "seconds": 6540.327432}, "exception": null, "extra": {"request_id": "d07e4431-0daa-462e-a9d9-9766863a9669", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 5.86, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 5.86ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:31:47.480263+00:00", "timestamp": 1772076707.480263}}}
{"text": "2026-02-26 03:31:47.480 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 5.89ms\n", "record": {"elapsed": {"repr": "1:49:00.401058", "seconds": 6540.401058}, "exception": null, "extra": {"request_id": "f8177e64-558b-4f4b-8a78-3c8a8e9b9350", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 5.89, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 5.89ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:31:47.480888+00:00", "timestamp": 1772076707.480888}}}
{"text": "2026-02-26 03:31:47.488 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 10.24ms\n", "record": {"elapsed": {"repr": "1:49:00.408333", "seconds": 6540.408333}, "exception": null, "extra": {"request_id": "fe506d7e-e4c0-4be2-93b2-1b057784de0b", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 10.24, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 10.24ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:31:47.488163+00:00", "timestamp": 1772076707.488163}}}
{"text": "2026-02-26 03:31:47.488 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 10.63ms\n", "record": {"elapsed": {"repr": "1:49:00.335739", "seconds": 6540.335739}, "exception": null, "extra": {"request_id": "d7d8adea-dab7-469c-8090-4718e7613d94", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 10.63, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 10.63ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:31:47.488570+00:00", "timestamp": 1772076707.48857}}}
{"text": "2026-02-26 03:32:24.201 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 1.73ms\n", "record": {"elapsed": {"repr": "1:49:37.121442", "seconds": 6577.121442}, "exception": null, "extra": {"request_id": "3df3fe5c-01ee-4d63-82cb-1ab3c7ef4b9f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 1.73, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 1.73ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:32:24.201272+00:00", "timestamp": 1772076744.201272}}}
{"text": "2026-02-26 03:32:24.207 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.6ms\n", "record": {"elapsed": {"repr": "1:49:37.054672", "seconds": 6577.054672}, "exception": null, "extra": {"request_id": "4441f5af-16a3-4973-aa3b-ce6053bf3df2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.6, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.6ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:32:24.207503+00:00", "timestamp": 1772076744.207503}}}
{"text": "2026-02-26 03:32:24.207 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.64ms\n", "record": {"elapsed": {"repr": "1:49:37.128143", "seconds": 6577.128143}, "exception": null, "extra": {"request_id": "9f464279-d04a-4ee7-b6c3-7ed3be8cf8ad", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.64, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.64ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:32:24.207973+00:00", "timestamp": 1772076744.207973}}}
{"text": "2026-02-26 03:32:24.208 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.23ms\n", "record": {"elapsed": {"repr": "1:49:37.056100", "seconds": 6577.0561}, "exception": null, "extra": {"request_id": "d4d5d9de-af67-4314-bbdb-5b658eeb8ce2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.23, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.23ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:32:24.208931+00:00", "timestamp": 1772076744.208931}}}
{"text": "2026-02-26 03:32:24.232 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.01ms\n", "record": {"elapsed": {"repr": "1:49:37.152470", "seconds": 6577.15247}, "exception": null, "extra": {"request_id": "7e34bf62-123f-4b48-9b77-ab5824acead2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.01ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:32:24.232300+00:00", "timestamp": 1772076744.2323}}}
{"text": "2026-02-26 03:32:24.236 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 1.7ms\n", "record": {"elapsed": {"repr": "1:49:37.083813", "seconds": 6577.083813}, "exception": null, "extra": {"request_id": "309a8faf-044e-46a6-96eb-4600272778fd", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 1.7, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 1.7ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:32:24.236644+00:00", "timestamp": 1772076744.236644}}}
{"text": "2026-02-26 03:32:24.237 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.94ms\n", "record": {"elapsed": {"repr": "1:49:37.084833", "seconds": 6577.084833}, "exception": null, "extra": {"request_id": "5d085ba7-3b08-4acc-8a0c-5bb4e77ef667", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.94, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.94ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:32:24.237664+00:00", "timestamp": 1772076744.237664}}}
{"text": "2026-02-26 03:32:24.238 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.58ms\n", "record": {"elapsed": {"repr": "1:49:37.158530", "seconds": 6577.15853}, "exception": null, "extra": {"request_id": "8fe35230-efa9-4b35-b94f-82d63ea09a9a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.58, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.58ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 03:32:24.238360+00:00", "timestamp": 1772076744.23836}}}
{"text": "2026-02-26 04:01:41.916 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "2:18:54.836588", "seconds": 8334.836588}, "exception": null, "extra": {"request_id": "bc1562e7-3106-4d56-8391-5135307e2aed", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 04:01:41.916418+00:00", "timestamp": 1772078501.916418}}}
{"text": "2026-02-26 06:20:57.600 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.45ms\n", "record": {"elapsed": {"repr": "4:38:10.520904", "seconds": 16690.520904}, "exception": null, "extra": {"request_id": "95202b6e-0593-44e9-8ec0-ced7b971581c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.45, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.45ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 06:20:57.600734+00:00", "timestamp": 1772086857.600734}}}
{"text": "2026-02-26 06:20:57.602 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.47ms\n", "record": {"elapsed": {"repr": "4:38:10.449290", "seconds": 16690.44929}, "exception": null, "extra": {"request_id": "8a520c8f-723d-4e5f-a54d-9d85a6e0716c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.47, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.47ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 06:20:57.602121+00:00", "timestamp": 1772086857.602121}}}
{"text": "2026-02-26 06:20:57.602 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 4.69ms\n", "record": {"elapsed": {"repr": "4:38:10.450142", "seconds": 16690.450142}, "exception": null, "extra": {"request_id": "a71e96a7-c558-4e26-9c40-1a6d236d55e9", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 4.69, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 4.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 06:20:57.602973+00:00", "timestamp": 1772086857.602973}}}
{"text": "2026-02-26 06:20:57.605 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 5.73ms\n", "record": {"elapsed": {"repr": "4:38:10.525560", "seconds": 16690.52556}, "exception": null, "extra": {"request_id": "a02ccae7-b5af-41c7-a40b-328c19fb6556", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 5.73, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 5.73ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 06:20:57.605390+00:00", "timestamp": 1772086857.60539}}}
{"text": "2026-02-26 06:20:57.633 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.87ms\n", "record": {"elapsed": {"repr": "4:38:10.480726", "seconds": 16690.480726}, "exception": null, "extra": {"request_id": "5e7c941d-a060-419f-b93b-7b97dea1e435", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.87, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.87ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 06:20:57.633557+00:00", "timestamp": 1772086857.633557}}}
{"text": "2026-02-26 06:20:57.633 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.05ms\n", "record": {"elapsed": {"repr": "4:38:10.553951", "seconds": 16690.553951}, "exception": null, "extra": {"request_id": "93a6856a-848a-4435-959d-82485ef964d8", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.05, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.05ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 06:20:57.633781+00:00", "timestamp": 1772086857.633781}}}
{"text": "2026-02-26 06:20:57.634 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.21ms\n", "record": {"elapsed": {"repr": "4:38:10.554860", "seconds": 16690.55486}, "exception": null, "extra": {"request_id": "cbc562e9-892a-4a50-a25f-52426d763d9b", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.21, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.21ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 06:20:57.634690+00:00", "timestamp": 1772086857.63469}}}
{"text": "2026-02-26 06:20:57.635 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.77ms\n", "record": {"elapsed": {"repr": "4:38:10.482644", "seconds": 16690.482644}, "exception": null, "extra": {"request_id": "5433657e-b87a-4c47-a5fd-7034c0d8621d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.77, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.77ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 06:20:57.635475+00:00", "timestamp": 1772086857.635475}}}
{"text": "2026-02-26 07:20:33.381 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.48ms\n", "record": {"elapsed": {"repr": "5:37:46.228175", "seconds": 20266.228175}, "exception": null, "extra": {"request_id": "add5d4cf-8a01-4899-b215-7b73b4c3d5f4", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:20:33.381006+00:00", "timestamp": 1772090433.381006}}}
{"text": "2026-02-26 07:20:33.384 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.28ms\n", "record": {"elapsed": {"repr": "5:37:46.304394", "seconds": 20266.304394}, "exception": null, "extra": {"request_id": "e84736bd-1b45-4ffb-a49c-a8a34ca906f9", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.28, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.28ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:20:33.384224+00:00", "timestamp": 1772090433.384224}}}
{"text": "2026-02-26 07:20:33.385 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 4.6ms\n", "record": {"elapsed": {"repr": "5:37:46.305592", "seconds": 20266.305592}, "exception": null, "extra": {"request_id": "1a571130-4cc3-4e93-abdb-96c6f5c2670f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 4.6, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 4.6ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:20:33.385422+00:00", "timestamp": 1772090433.385422}}}
{"text": "2026-02-26 07:20:33.391 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 10.32ms\n", "record": {"elapsed": {"repr": "5:37:46.311537", "seconds": 20266.311537}, "exception": null, "extra": {"request_id": "fbdbbe34-462d-4c2d-9b7f-16420e73d097", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 10.32, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 10.32ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:20:33.391367+00:00", "timestamp": 1772090433.391367}}}
{"text": "2026-02-26 07:20:33.417 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.99ms\n", "record": {"elapsed": {"repr": "5:37:46.337312", "seconds": 20266.337312}, "exception": null, "extra": {"request_id": "f0074c82-01a6-4f19-953e-ed6e7086fbd3", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.99, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.99ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:20:33.417142+00:00", "timestamp": 1772090433.417142}}}
{"text": "2026-02-26 07:20:33.418 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.95ms\n", "record": {"elapsed": {"repr": "5:37:46.265888", "seconds": 20266.265888}, "exception": null, "extra": {"request_id": "87aa4873-4606-423d-9fe6-2b8e6bf19f70", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.95, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.95ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:20:33.418719+00:00", "timestamp": 1772090433.418719}}}
{"text": "2026-02-26 07:20:33.419 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.21ms\n", "record": {"elapsed": {"repr": "5:37:46.339859", "seconds": 20266.339859}, "exception": null, "extra": {"request_id": "8675fecc-e183-48c8-b67e-7d56e49b8fe5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.21, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.21ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:20:33.419689+00:00", "timestamp": 1772090433.419689}}}
{"text": "2026-02-26 07:20:33.419 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.07ms\n", "record": {"elapsed": {"repr": "5:37:46.267135", "seconds": 20266.267135}, "exception": null, "extra": {"request_id": "b7f7691f-c582-4f28-9bdc-4a772cd1e950", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.07, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.07ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:20:33.419966+00:00", "timestamp": 1772090433.419966}}}
{"text": "2026-02-26 07:25:35.067 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.87ms\n", "record": {"elapsed": {"repr": "5:42:47.988106", "seconds": 20567.988106}, "exception": null, "extra": {"request_id": "8fb2fa02-01e8-43b8-8b2f-93b399ce64db", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.87, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.87ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:25:35.067936+00:00", "timestamp": 1772090735.067936}}}
{"text": "2026-02-26 07:25:35.073 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.61ms\n", "record": {"elapsed": {"repr": "5:42:47.920609", "seconds": 20567.920609}, "exception": null, "extra": {"request_id": "1fa8481e-9d74-4327-879a-6379429efeeb", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.61, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.61ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:25:35.073440+00:00", "timestamp": 1772090735.07344}}}
{"text": "2026-02-26 07:25:35.075 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 5.86ms\n", "record": {"elapsed": {"repr": "5:42:47.922473", "seconds": 20567.922473}, "exception": null, "extra": {"request_id": "f5161fd6-085b-4414-91c5-e1d1eec06fc9", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 5.86, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 5.86ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:25:35.075304+00:00", "timestamp": 1772090735.075304}}}
{"text": "2026-02-26 07:25:35.081 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 11.02ms\n", "record": {"elapsed": {"repr": "5:42:47.929164", "seconds": 20567.929164}, "exception": null, "extra": {"request_id": "dcb970df-335d-4ed3-a1ec-3ce0efb9baef", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 11.02, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 11.02ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:25:35.081995+00:00", "timestamp": 1772090735.081995}}}
{"text": "2026-02-26 07:25:35.099 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.53ms\n", "record": {"elapsed": {"repr": "5:42:48.019518", "seconds": 20568.019518}, "exception": null, "extra": {"request_id": "fa5d9c46-5358-4976-b0ea-1724b0764f88", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.53, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:25:35.099348+00:00", "timestamp": 1772090735.099348}}}
{"text": "2026-02-26 07:25:35.099 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.96ms\n", "record": {"elapsed": {"repr": "5:42:47.946472", "seconds": 20567.946472}, "exception": null, "extra": {"request_id": "1c7e43fe-cb20-49f8-8794-9ce923521d75", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.96, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.96ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:25:35.099303+00:00", "timestamp": 1772090735.099303}}}
{"text": "2026-02-26 07:25:35.100 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.79ms\n", "record": {"elapsed": {"repr": "5:42:48.020808", "seconds": 20568.020808}, "exception": null, "extra": {"request_id": "b9fd3c70-5d74-4968-bb8d-396ab81779ee", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.79, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.79ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:25:35.100638+00:00", "timestamp": 1772090735.100638}}}
{"text": "2026-02-26 07:25:35.100 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.12ms\n", "record": {"elapsed": {"repr": "5:42:47.947889", "seconds": 20567.947889}, "exception": null, "extra": {"request_id": "7688f772-47e0-4844-acd9-6b0c943c01ad", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.12, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.12ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:25:35.100720+00:00", "timestamp": 1772090735.10072}}}
{"text": "2026-02-26 07:41:30.018 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 1.2ms\n", "record": {"elapsed": {"repr": "5:58:42.865509", "seconds": 21522.865509}, "exception": null, "extra": {"request_id": "a776bf1e-a85b-4dbc-8f54-6cbe4c7c7d0e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 1.2, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 1.2ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:41:30.018340+00:00", "timestamp": 1772091690.01834}}}
{"text": "2026-02-26 07:41:30.019 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.74ms\n", "record": {"elapsed": {"repr": "5:58:42.939497", "seconds": 21522.939497}, "exception": null, "extra": {"request_id": "1cde978e-d2ae-4ff5-97b6-1c23d4e6621a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.74, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.74ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:41:30.019327+00:00", "timestamp": 1772091690.019327}}}
{"text": "2026-02-26 07:41:30.020 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.78ms\n", "record": {"elapsed": {"repr": "5:58:42.941137", "seconds": 21522.941137}, "exception": null, "extra": {"request_id": "36ef01b6-6893-4257-8204-e0a0772e3f71", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.78, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.78ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:41:30.020967+00:00", "timestamp": 1772091690.020967}}}
{"text": "2026-02-26 07:41:30.058 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.56ms\n", "record": {"elapsed": {"repr": "5:58:42.905615", "seconds": 21522.905615}, "exception": null, "extra": {"request_id": "9465536d-8b0e-4671-ac43-a27c4656133c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:41:30.058446+00:00", "timestamp": 1772091690.058446}}}
{"text": "2026-02-26 07:41:30.059 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.01ms\n", "record": {"elapsed": {"repr": "5:58:42.979539", "seconds": 21522.979539}, "exception": null, "extra": {"request_id": "76646f43-3e2f-445b-b578-c5da284c8a28", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.01ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:41:30.059369+00:00", "timestamp": 1772091690.059369}}}
{"text": "2026-02-26 07:41:30.060 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.94ms\n", "record": {"elapsed": {"repr": "5:58:42.907603", "seconds": 21522.907603}, "exception": null, "extra": {"request_id": "cb1097f6-c76e-400e-8322-908383dc033e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.94, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.94ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:41:30.060434+00:00", "timestamp": 1772091690.060434}}}
{"text": "2026-02-26 07:41:30.060 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.23ms\n", "record": {"elapsed": {"repr": "5:58:42.980661", "seconds": 21522.980661}, "exception": null, "extra": {"request_id": "edf64d5a-5b93-4ade-ba6d-d9ff9d8d94e5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.23, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.23ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:41:30.060491+00:00", "timestamp": 1772091690.060491}}}
{"text": "2026-02-26 07:41:30.085 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.09ms\n", "record": {"elapsed": {"repr": "5:58:43.005708", "seconds": 21523.005708}, "exception": null, "extra": {"request_id": "c07b4bff-2571-4e5f-874e-195588ed176c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.09, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.09ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:41:30.085538+00:00", "timestamp": 1772091690.085538}}}
{"text": "2026-02-26 07:47:40.484 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "6:04:53.404433", "seconds": 21893.404433}, "exception": null, "extra": {"request_id": "3fce0bb7-32b2-4975-bc07-1834b6e1ffcb", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 07:47:40.484263+00:00", "timestamp": 1772092060.484263}}}
{"text": "2026-02-26 08:08:06.348 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.38ms\n", "record": {"elapsed": {"repr": "6:25:19.268983", "seconds": 23119.268983}, "exception": null, "extra": {"request_id": "6f718130-4368-4e5f-a1cb-289065b9fd70", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.38, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.38ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:08:06.348813+00:00", "timestamp": 1772093286.348813}}}
{"text": "2026-02-26 08:22:05.916 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.17ms\n", "record": {"elapsed": {"repr": "6:39:18.836801", "seconds": 23958.836801}, "exception": null, "extra": {"request_id": "705822d0-0ee7-4216-87e8-f0733a5cde03", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.17, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.17ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:22:05.916631+00:00", "timestamp": 1772094125.916631}}}
{"text": "2026-02-26 08:22:05.918 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.08ms\n", "record": {"elapsed": {"repr": "6:39:18.765468", "seconds": 23958.765468}, "exception": null, "extra": {"request_id": "faca4c5e-c3ce-4551-9fb0-0de7361950e2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.08, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.08ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:22:05.918299+00:00", "timestamp": 1772094125.918299}}}
{"text": "2026-02-26 08:22:05.919 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.56ms\n", "record": {"elapsed": {"repr": "6:39:18.766901", "seconds": 23958.766901}, "exception": null, "extra": {"request_id": "b51fa955-4ac0-4643-a482-9ea79600ea90", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:22:05.919732+00:00", "timestamp": 1772094125.919732}}}
{"text": "2026-02-26 08:22:05.921 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 4.48ms\n", "record": {"elapsed": {"repr": "6:39:18.768672", "seconds": 23958.768672}, "exception": null, "extra": {"request_id": "c2b91ca0-b75c-43b1-9ac6-aaeebf11b19e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 4.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 4.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:22:05.921503+00:00", "timestamp": 1772094125.921503}}}
{"text": "2026-02-26 08:22:05.954 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.53ms\n", "record": {"elapsed": {"repr": "6:39:18.874653", "seconds": 23958.874653}, "exception": null, "extra": {"request_id": "da24531b-c33b-4c51-bd9e-4cb055fe1a2f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.53, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:22:05.954483+00:00", "timestamp": 1772094125.954483}}}
{"text": "2026-02-26 08:22:05.960 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 4.42ms\n", "record": {"elapsed": {"repr": "6:39:18.807533", "seconds": 23958.807533}, "exception": null, "extra": {"request_id": "85ea8b0c-0424-4e6d-91b1-349d86d54b6e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 4.42, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 4.42ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:22:05.960364+00:00", "timestamp": 1772094125.960364}}}
{"text": "2026-02-26 08:22:05.962 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.91ms\n", "record": {"elapsed": {"repr": "6:39:18.809334", "seconds": 23958.809334}, "exception": null, "extra": {"request_id": "46553aaa-7f50-4875-bf67-66f73234f953", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.91, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.91ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:22:05.962165+00:00", "timestamp": 1772094125.962165}}}
{"text": "2026-02-26 08:22:05.963 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.6ms\n", "record": {"elapsed": {"repr": "6:39:18.810191", "seconds": 23958.810191}, "exception": null, "extra": {"request_id": "d7549b78-b94e-4f72-a1ff-2f797d103135", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.6, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.6ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:22:05.963022+00:00", "timestamp": 1772094125.963022}}}
{"text": "2026-02-26 08:47:40.431 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.47ms\n", "record": {"elapsed": {"repr": "7:04:53.351516", "seconds": 25493.351516}, "exception": null, "extra": {"request_id": "d4875a8d-eb06-489d-a26d-f34c25c70528", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.47, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.47ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:47:40.431346+00:00", "timestamp": 1772095660.431346}}}
{"text": "2026-02-26 08:47:40.433 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 4.95ms\n", "record": {"elapsed": {"repr": "7:04:53.280917", "seconds": 25493.280917}, "exception": null, "extra": {"request_id": "aa960234-f204-42e4-8e6a-2075c11e620f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 4.95, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 4.95ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:47:40.433748+00:00", "timestamp": 1772095660.433748}}}
{"text": "2026-02-26 08:47:40.437 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 5.52ms\n", "record": {"elapsed": {"repr": "7:04:53.284649", "seconds": 25493.284649}, "exception": null, "extra": {"request_id": "5bb202e7-1dc1-44db-93d4-b23c7d51c21d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 5.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 5.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:47:40.437480+00:00", "timestamp": 1772095660.43748}}}
{"text": "2026-02-26 08:47:40.438 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 6.55ms\n", "record": {"elapsed": {"repr": "7:04:53.285792", "seconds": 25493.285792}, "exception": null, "extra": {"request_id": "baa0364a-11a4-4d55-829c-787e56bcb067", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 6.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 6.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:47:40.438623+00:00", "timestamp": 1772095660.438623}}}
{"text": "2026-02-26 08:47:40.482 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.64ms\n", "record": {"elapsed": {"repr": "7:04:53.402956", "seconds": 25493.402956}, "exception": null, "extra": {"request_id": "3e6a311c-9cc4-4c09-bea9-d63a4bab2651", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.64, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.64ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:47:40.482786+00:00", "timestamp": 1772095660.482786}}}
{"text": "2026-02-26 08:47:40.484 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.16ms\n", "record": {"elapsed": {"repr": "7:04:53.332087", "seconds": 25493.332087}, "exception": null, "extra": {"request_id": "fbece58a-5a60-4d79-a36b-14df8972d829", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.16, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.16ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:47:40.484918+00:00", "timestamp": 1772095660.484918}}}
{"text": "2026-02-26 08:47:40.486 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 6.36ms\n", "record": {"elapsed": {"repr": "7:04:53.333401", "seconds": 25493.333401}, "exception": null, "extra": {"request_id": "f2dc3872-d331-47d8-8a77-eb721c50d9e0", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 6.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 6.36ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:47:40.486232+00:00", "timestamp": 1772095660.486232}}}
{"text": "2026-02-26 08:47:40.487 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 5.57ms\n", "record": {"elapsed": {"repr": "7:04:53.407173", "seconds": 25493.407173}, "exception": null, "extra": {"request_id": "f8c8082c-2613-413d-bac2-04f44aba82eb", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 5.57, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 5.57ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 08:47:40.487003+00:00", "timestamp": 1772095660.487003}}}
{"text": "2026-02-26 10:05:46.886 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.48ms\n", "record": {"elapsed": {"repr": "8:22:59.807153", "seconds": 30179.807153}, "exception": null, "extra": {"request_id": "48380c84-0854-4f53-8144-b48799d9c394", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 10:05:46.886983+00:00", "timestamp": 1772100346.886983}}}
{"text": "2026-02-26 10:18:14.176 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.56ms\n", "record": {"elapsed": {"repr": "8:35:27.097047", "seconds": 30927.097047}, "exception": null, "extra": {"request_id": "d99ef95a-4c56-4afe-b867-7410a82136bb", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.56ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 10:18:14.176877+00:00", "timestamp": 1772101094.176877}}}
{"text": "2026-02-26 11:45:21.791 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "10:02:34.711929", "seconds": 36154.711929}, "exception": null, "extra": {"request_id": "16c625f7-3833-4796-9285-fe2ae85e1924", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 11:45:21.791759+00:00", "timestamp": 1772106321.791759}}}
{"text": "2026-02-26 14:07:59.871 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.49ms\n", "record": {"elapsed": {"repr": "12:25:12.791462", "seconds": 44712.791462}, "exception": null, "extra": {"request_id": "0b84d34b-0a91-482c-a6df-018d47e84983", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.49, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:07:59.871292+00:00", "timestamp": 1772114879.871292}}}
{"text": "2026-02-26 14:07:59.874 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.55ms\n", "record": {"elapsed": {"repr": "12:25:12.721652", "seconds": 44712.721652}, "exception": null, "extra": {"request_id": "4e1958ab-f73a-4997-bd69-0364e8641c44", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:07:59.874483+00:00", "timestamp": 1772114879.874483}}}
{"text": "2026-02-26 14:07:59.876 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.62ms\n", "record": {"elapsed": {"repr": "12:25:12.723425", "seconds": 44712.723425}, "exception": null, "extra": {"request_id": "b42de508-b719-4bc9-899d-583074c38b70", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.62, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.62ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:07:59.876256+00:00", "timestamp": 1772114879.876256}}}
{"text": "2026-02-26 14:07:59.891 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.4ms\n", "record": {"elapsed": {"repr": "12:25:12.739051", "seconds": 44712.739051}, "exception": null, "extra": {"request_id": "ae763103-16c7-4d7b-9674-389e87a63ecb", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.4, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.4ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:07:59.891882+00:00", "timestamp": 1772114879.891882}}}
{"text": "2026-02-26 14:07:59.894 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.75ms\n", "record": {"elapsed": {"repr": "12:25:12.814926", "seconds": 44712.814926}, "exception": null, "extra": {"request_id": "1df69832-6118-46ec-8c22-b3f6e2e5d961", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.75, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:07:59.894756+00:00", "timestamp": 1772114879.894756}}}
{"text": "2026-02-26 14:07:59.896 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.9ms\n", "record": {"elapsed": {"repr": "12:25:12.816202", "seconds": 44712.816202}, "exception": null, "extra": {"request_id": "ca1a946c-e012-4fc6-a7a3-0ac12ac9d4d9", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.9, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.9ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:07:59.896032+00:00", "timestamp": 1772114879.896032}}}
{"text": "2026-02-26 14:07:59.896 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 2.55ms\n", "record": {"elapsed": {"repr": "12:25:12.743603", "seconds": 44712.743603}, "exception": null, "extra": {"request_id": "f521c2d7-bd8d-43ee-b2f7-c306fca8d421", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 2.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 2.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:07:59.896434+00:00", "timestamp": 1772114879.896434}}}
{"text": "2026-02-26 14:08:00.200 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 1.43ms\n", "record": {"elapsed": {"repr": "12:25:13.047659", "seconds": 44713.047659}, "exception": null, "extra": {"request_id": "5e0a6951-ac83-4a4b-8daf-003f008532f4", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 1.43, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 1.43ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:08:00.200490+00:00", "timestamp": 1772114880.20049}}}
{"text": "2026-02-26 14:22:35.416 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "12:39:48.336698", "seconds": 45588.336698}, "exception": null, "extra": {"request_id": "5a331d65-5d0d-43b2-861d-c81556ab7257", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:22:35.416528+00:00", "timestamp": 1772115755.416528}}}
{"text": "2026-02-26 14:25:37.150 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 1.61ms\n", "record": {"elapsed": {"repr": "12:42:50.071154", "seconds": 45770.071154}, "exception": null, "extra": {"request_id": "3073e4fb-4ba5-4883-90c0-6dcf01a84439", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 1.61, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 1.61ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:25:37.150984+00:00", "timestamp": 1772115937.150984}}}
{"text": "2026-02-26 14:25:37.154 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.9ms\n", "record": {"elapsed": {"repr": "12:42:50.001245", "seconds": 45770.001245}, "exception": null, "extra": {"request_id": "8493f378-9af5-4220-a4b2-11d8177ff3ea", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.9, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.9ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:25:37.154076+00:00", "timestamp": 1772115937.154076}}}
{"text": "2026-02-26 14:25:37.160 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.45ms\n", "record": {"elapsed": {"repr": "12:42:50.081021", "seconds": 45770.081021}, "exception": null, "extra": {"request_id": "8ca653a1-a6c7-446a-8a0f-23cf73b3e0a7", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.45, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.45ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:25:37.160851+00:00", "timestamp": 1772115937.160851}}}
{"text": "2026-02-26 14:25:37.163 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.52ms\n", "record": {"elapsed": {"repr": "12:42:50.010898", "seconds": 45770.010898}, "exception": null, "extra": {"request_id": "30d8383f-a402-4d02-863b-01cb35cdeb67", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:25:37.163729+00:00", "timestamp": 1772115937.163729}}}
{"text": "2026-02-26 14:25:37.204 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 4.15ms\n", "record": {"elapsed": {"repr": "12:42:50.124906", "seconds": 45770.124906}, "exception": null, "extra": {"request_id": "c0352226-e929-4802-98ac-bf6f655a4f91", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 4.15, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 4.15ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:25:37.204736+00:00", "timestamp": 1772115937.204736}}}
{"text": "2026-02-26 14:25:37.206 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.14ms\n", "record": {"elapsed": {"repr": "12:42:50.053494", "seconds": 45770.053494}, "exception": null, "extra": {"request_id": "0f9ade78-ce8c-44bd-a456-4020a20aeac7", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.14, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.14ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:25:37.206325+00:00", "timestamp": 1772115937.206325}}}
{"text": "2026-02-26 14:25:37.207 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 4.09ms\n", "record": {"elapsed": {"repr": "12:42:50.054579", "seconds": 45770.054579}, "exception": null, "extra": {"request_id": "fa82659e-142b-4f53-9574-18cf53804299", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 4.09, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 4.09ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:25:37.207410+00:00", "timestamp": 1772115937.20741}}}
{"text": "2026-02-26 14:25:37.207 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 4.14ms\n", "record": {"elapsed": {"repr": "12:42:50.127936", "seconds": 45770.127936}, "exception": null, "extra": {"request_id": "10c266ae-7665-4052-b7fe-9131c7a5687e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 4.14, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:148.0) Gecko/20100101 Firefox/148.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 4.14ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 14:25:37.207766+00:00", "timestamp": 1772115937.207766}}}
{"text": "2026-02-26 15:44:38.780 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.56ms\n", "record": {"elapsed": {"repr": "14:01:51.627365", "seconds": 50511.627365}, "exception": null, "extra": {"request_id": "57a1c17b-72b1-44f5-9b4c-a31847b971fa", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 15:44:38.780196+00:00", "timestamp": 1772120678.780196}}}
{"text": "2026-02-26 15:44:39.161 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "14:01:52.081625", "seconds": 50512.081625}, "exception": null, "extra": {"request_id": "1d6cfb58-140c-453d-96bf-019a40fd0c81", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 15:44:39.161455+00:00", "timestamp": 1772120679.161455}}}
{"text": "2026-02-26 17:55:39.181 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "16:12:52.102000", "seconds": 58372.102}, "exception": null, "extra": {"request_id": "2932980f-d024-402a-84b9-168437bf2d35", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 17:55:39.181830+00:00", "timestamp": 1772128539.18183}}}
{"text": "2026-02-26 18:21:00.184 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.37ms\n", "record": {"elapsed": {"repr": "16:38:13.104767", "seconds": 59893.104767}, "exception": null, "extra": {"request_id": "b4b27a19-4d10-4b3a-a58b-000241e4cd71", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.37, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.37ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 18:21:00.184597+00:00", "timestamp": 1772130060.184597}}}
{"text": "2026-02-26 19:40:34.033 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "17:57:46.953668", "seconds": 64666.953668}, "exception": null, "extra": {"request_id": "1ef16d27-9a32-4d06-8c30-9428d07b4d46", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 19:40:34.033498+00:00", "timestamp": 1772134834.033498}}}
{"text": "2026-02-26 20:55:48.775 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.58ms\n", "record": {"elapsed": {"repr": "19:13:01.695609", "seconds": 69181.695609}, "exception": null, "extra": {"request_id": "4038c382-aefa-405d-bb0b-53ac1a44fd1e", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.58, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.58ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 20:55:48.775439+00:00", "timestamp": 1772139348.775439}}}
{"text": "2026-02-26 21:16:48.311 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.57ms\n", "record": {"elapsed": {"repr": "19:34:01.231173", "seconds": 70441.231173}, "exception": null, "extra": {"request_id": "49c5f90a-7431-43e4-982c-67a2ef17f161", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.57, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.57ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 21:16:48.311003+00:00", "timestamp": 1772140608.311003}}}
{"text": "2026-02-26 22:13:25.481 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "20:30:38.328613", "seconds": 73838.328613}, "exception": null, "extra": {"request_id": "b7f76a29-fafb-41df-a2bd-40e8d2591616", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-26 22:13:25.481444+00:00", "timestamp": 1772144005.481444}}}
{"text": "2026-02-27 00:51:33.867 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.39ms\n", "record": {"elapsed": {"repr": "23:08:46.787725", "seconds": 83326.787725}, "exception": null, "extra": {"request_id": "5dd3ddb1-f008-4cd7-879a-b37d1351aa66", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.39, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.39ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 00:51:33.867555+00:00", "timestamp": 1772153493.867555}}}
{"text": "2026-02-27 01:58:46.785 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "1 day, 0:15:59.705812", "seconds": 87359.705812}, "exception": null, "extra": {"request_id": "d81e6213-5c36-4511-bb51-339135c01605", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 01:58:46.785642+00:00", "timestamp": 1772157526.785642}}}
{"text": "2026-02-27 03:39:13.255 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.56ms\n", "record": {"elapsed": {"repr": "1 day, 1:56:26.175360", "seconds": 93386.17536}, "exception": null, "extra": {"request_id": "34284f3e-7c1b-4ccd-bce0-eb56493bace6", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.56ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 03:39:13.255190+00:00", "timestamp": 1772163553.25519}}}
{"text": "2026-02-27 03:39:21.314 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "1 day, 1:56:34.161199", "seconds": 93394.161199}, "exception": null, "extra": {"request_id": "ba3fcac5-d19d-43b4-90ae-c5198376604d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 03:39:21.314030+00:00", "timestamp": 1772163561.31403}}}
{"text": "2026-02-27 04:05:59.992 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "1 day, 2:23:12.912588", "seconds": 94992.912588}, "exception": null, "extra": {"request_id": "c3a5c6fd-c7fe-4617-a912-cb57a7c89264", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 04:05:59.992418+00:00", "timestamp": 1772165159.992418}}}
{"text": "2026-02-27 07:03:08.226 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "1 day, 5:20:21.146236", "seconds": 105621.146236}, "exception": null, "extra": {"request_id": "1e48addf-3a1a-4137-a935-5c000b814ef7", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 07:03:08.226066+00:00", "timestamp": 1772175788.226066}}}
{"text": "2026-02-27 07:14:21.121 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "1 day, 5:31:34.041523", "seconds": 106294.041523}, "exception": null, "extra": {"request_id": "a7be8215-9ec0-4be6-b46f-b4e6fe812334", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 07:14:21.121353+00:00", "timestamp": 1772176461.121353}}}
{"text": "2026-02-27 07:27:57.292 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "1 day, 5:45:10.212963", "seconds": 107110.212963}, "exception": null, "extra": {"request_id": "3ff7023f-fb01-437a-abbb-9df6e86a7172", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 07:27:57.292793+00:00", "timestamp": 1772177277.292793}}}
{"text": "2026-02-27 08:14:56.141 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "1 day, 6:32:08.988952", "seconds": 109928.988952}, "exception": null, "extra": {"request_id": "a43cf127-2dee-4ef0-8fd8-fe25d039d50f", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 08:14:56.141783+00:00", "timestamp": 1772180096.141783}}}
{"text": "2026-02-27 08:41:08.291 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.45ms\n", "record": {"elapsed": {"repr": "1 day, 6:58:21.138966", "seconds": 111501.138966}, "exception": null, "extra": {"request_id": "531a4d23-4dfd-443f-8129-e06e4572bda2", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 08:41:08.291797+00:00", "timestamp": 1772181668.291797}}}
{"text": "2026-02-27 12:11:54.716 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "1 day, 10:29:07.636925", "seconds": 124147.636925}, "exception": null, "extra": {"request_id": "1bfe7f51-9177-4e44-b0c5-1a49ed5c8984", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 12:11:54.716755+00:00", "timestamp": 1772194314.716755}}}
{"text": "2026-02-27 12:47:23.577 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "1 day, 11:04:36.497704", "seconds": 126276.497704}, "exception": null, "extra": {"request_id": "30fdde62-15ec-4340-8733-1952c5f4b709", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 12:47:23.577534+00:00", "timestamp": 1772196443.577534}}}
{"text": "2026-02-27 15:53:45.614 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.38ms\n", "record": {"elapsed": {"repr": "1 day, 14:10:58.461982", "seconds": 137458.461982}, "exception": null, "extra": {"request_id": "9d68768a-4556-43dd-8bec-fe4e95ab3341", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.38, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.38ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 15:53:45.614813+00:00", "timestamp": 1772207625.614813}}}
{"text": "2026-02-27 17:21:40.998 | INFO     | app.main:log_requests:103 - GET / - 404 - 0.44ms\n", "record": {"elapsed": {"repr": "1 day, 15:38:53.919018", "seconds": 142733.919018}, "exception": null, "extra": {"request_id": "d3c53a74-9fcc-4d47-bd97-649e5503741f", "user_id": "anonymous", "method": "GET", "path": "/", "status_code": 404, "duration_ms": 0.44, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/120.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET / - 404 - 0.44ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 17:21:40.998848+00:00", "timestamp": 1772212900.998848}}}
{"text": "2026-02-27 17:32:13.635 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.56ms\n", "record": {"elapsed": {"repr": "1 day, 15:49:26.555806", "seconds": 143366.555806}, "exception": null, "extra": {"request_id": "c23432aa-61b4-49cb-9544-5f57c9a9458e", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.56ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 17:32:13.635636+00:00", "timestamp": 1772213533.635636}}}
{"text": "2026-02-27 19:06:23.039 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "1 day, 17:23:35.960001", "seconds": 149015.960001}, "exception": null, "extra": {"request_id": "dd7abfef-0bb8-4391-a582-ba22cb7cf34d", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 19:06:23.039831+00:00", "timestamp": 1772219183.039831}}}
{"text": "2026-02-27 19:09:40.068 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "1 day, 17:26:52.988641", "seconds": 149212.988641}, "exception": null, "extra": {"request_id": "1614d97e-ac94-4d44-8410-bbe22fcf488f", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 19:09:40.068471+00:00", "timestamp": 1772219380.068471}}}
{"text": "2026-02-27 20:41:18.744 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "1 day, 18:58:31.591904", "seconds": 154711.591904}, "exception": null, "extra": {"request_id": "1ff50ea3-d72e-4053-80d0-441f9c9ba4a8", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-27 20:41:18.744735+00:00", "timestamp": 1772224878.744735}}}
{"text": "2026-02-28 01:17:16.419 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.59ms\n", "record": {"elapsed": {"repr": "1 day, 23:34:29.339558", "seconds": 171269.339558}, "exception": null, "extra": {"request_id": "e36dd1f8-9f70-4e7e-a1da-9ae602614f39", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.59, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.59ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 01:17:16.419388+00:00", "timestamp": 1772241436.419388}}}
{"text": "2026-02-28 05:13:15.240 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "2 days, 3:30:28.160794", "seconds": 185428.160794}, "exception": null, "extra": {"request_id": "b4e88eea-6c44-4205-a470-3e3e936b2316", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 05:13:15.240624+00:00", "timestamp": 1772255595.240624}}}
{"text": "2026-02-28 08:45:56.243 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 287.26ms\n", "record": {"elapsed": {"repr": "2 days, 7:03:09.090561", "seconds": 198189.090561}, "exception": null, "extra": {"request_id": "9ee10db5-3cc8-4c5b-bfdb-910c83e6100e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 287.26, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 287.26ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 08:45:56.243392+00:00", "timestamp": 1772268356.243392}}}
{"text": "2026-02-28 08:45:56.373 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 37.9ms\n", "record": {"elapsed": {"repr": "2 days, 7:03:09.220956", "seconds": 198189.220956}, "exception": null, "extra": {"request_id": "8d4093d7-f81a-4726-8aed-d531b0893b91", "user_id": "4", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 37.9, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 37.9ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 08:45:56.373787+00:00", "timestamp": 1772268356.373787}}}
{"text": "2026-02-28 08:45:56.396 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 59.95ms\n", "record": {"elapsed": {"repr": "2 days, 7:03:09.243858", "seconds": 198189.243858}, "exception": null, "extra": {"request_id": "cd05eb9b-a3e3-4305-b421-6ed788458e3b", "user_id": "4", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 59.95, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 59.95ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 08:45:56.396689+00:00", "timestamp": 1772268356.396689}}}
{"text": "2026-02-28 08:45:56.417 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.5ms\n", "record": {"elapsed": {"repr": "2 days, 7:03:09.264608", "seconds": 198189.264608}, "exception": null, "extra": {"request_id": "9fee571d-05f7-4a12-b567-b2ea8afe8f9e", "user_id": "4", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.5, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.5ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 08:45:56.417439+00:00", "timestamp": 1772268356.417439}}}
{"text": "2026-02-28 08:45:56.448 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 3.32ms\n", "record": {"elapsed": {"repr": "2 days, 7:03:09.296059", "seconds": 198189.296059}, "exception": null, "extra": {"request_id": "6657ebf7-5f78-48d9-a15a-7f1745c8a706", "user_id": "4", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 3.32, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 3.32ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 08:45:56.448890+00:00", "timestamp": 1772268356.44889}}}
{"text": "2026-02-28 08:45:58.319 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 1.83ms\n", "record": {"elapsed": {"repr": "2 days, 7:03:11.166311", "seconds": 198191.166311}, "exception": null, "extra": {"request_id": "c168a7e2-9a04-4210-b098-c952379c35b2", "user_id": "4", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 1.83, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 1.83ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 08:45:58.319142+00:00", "timestamp": 1772268358.319142}}}
{"text": "2026-02-28 08:45:58.338 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 1.7ms\n", "record": {"elapsed": {"repr": "2 days, 7:03:11.259144", "seconds": 198191.259144}, "exception": null, "extra": {"request_id": "3125aadd-3bb7-454b-812a-e0ba26168d08", "user_id": "4", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 1.7, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 1.7ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 08:45:58.338974+00:00", "timestamp": 1772268358.338974}}}
{"text": "2026-02-28 14:02:33.812 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.66ms\n", "record": {"elapsed": {"repr": "2 days, 12:19:46.659889", "seconds": 217186.659889}, "exception": null, "extra": {"request_id": "5cecc452-257c-4d3f-ae6f-46e4a22c512e", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.66, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.66ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 14:02:33.812720+00:00", "timestamp": 1772287353.81272}}}
{"text": "2026-02-28 18:16:42.135 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "2 days, 16:33:54.982232", "seconds": 232434.982232}, "exception": null, "extra": {"request_id": "7c9cbbfd-2434-4365-8131-bf9b9016cccf", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 18:16:42.135063+00:00", "timestamp": 1772302602.135063}}}
{"text": "2026-02-28 21:19:51.633 | INFO     | app.main:log_requests:103 - GET /api/v1 - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:04.480209", "seconds": 243424.480209}, "exception": null, "extra": {"request_id": "aea21cce-a1bf-4e11-b986-7008daec0beb", "user_id": "anonymous", "method": "GET", "path": "/api/v1", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1 - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:19:51.633040+00:00", "timestamp": 1772313591.63304}}}
{"text": "2026-02-28 21:19:51.809 | INFO     | app.main:log_requests:103 - GET /api/v1/ - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:04.656376", "seconds": 243424.656376}, "exception": null, "extra": {"request_id": "51961f2c-7b1e-42de-8e87-b2dc03fa24c2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/ - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:19:51.809207+00:00", "timestamp": 1772313591.809207}}}
{"text": "2026-02-28 21:19:51.971 | INFO     | app.main:log_requests:103 - GET /api/v1/docs - 200 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:04.818418", "seconds": 243424.818418}, "exception": null, "extra": {"request_id": "90e7112c-c44c-4dc5-a59c-4a343ad2fa22", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs", "status_code": 200, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs - 200 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:19:51.971249+00:00", "timestamp": 1772313591.971249}}}
{"text": "2026-02-28 21:19:52.108 | INFO     | app.main:log_requests:103 - GET /api/v1/redoc - 200 - 0.3ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:04.955867", "seconds": 243424.955867}, "exception": null, "extra": {"request_id": "0eaf24a0-1716-4e1c-b894-fd0c39b9ee4b", "user_id": "anonymous", "method": "GET", "path": "/api/v1/redoc", "status_code": 200, "duration_ms": 0.3, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/redoc - 200 - 0.3ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:19:52.108698+00:00", "timestamp": 1772313592.108698}}}
{"text": "2026-02-28 21:19:52.276 | INFO     | app.main:log_requests:103 - GET /api/v1/openapi.json - 200 - 34.01ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:05.123834", "seconds": 243425.123834}, "exception": null, "extra": {"request_id": "e99d8a63-e660-4181-8a7c-1895b74ab086", "user_id": "anonymous", "method": "GET", "path": "/api/v1/openapi.json", "status_code": 200, "duration_ms": 34.01, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/openapi.json - 200 - 34.01ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:19:52.276665+00:00", "timestamp": 1772313592.276665}}}
{"text": "2026-02-28 21:19:58.553 | INFO     | app.main:log_requests:103 - GET /api/v1/v1 - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:11.473500", "seconds": 243431.4735}, "exception": null, "extra": {"request_id": "bace3ad9-3a85-4afe-a58a-b4ece320ce24", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1 - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:19:58.553330+00:00", "timestamp": 1772313598.55333}}}
{"text": "2026-02-28 21:19:58.723 | INFO     | app.main:log_requests:103 - GET /api/v1/v2 - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:11.644121", "seconds": 243431.644121}, "exception": null, "extra": {"request_id": "50d3dfc0-f368-484c-9e1c-4d0c6feb6f0d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v2", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v2 - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:19:58.723951+00:00", "timestamp": 1772313598.723951}}}
{"text": "2026-02-28 21:19:59.184 | INFO     | app.main:log_requests:103 - GET /api/v1/swagger - 404 - 0.37ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:12.104847", "seconds": 243432.104847}, "exception": null, "extra": {"request_id": "c7fe3b0d-1f59-479f-bdc9-ee6fc509c47c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/swagger", "status_code": 404, "duration_ms": 0.37, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/swagger - 404 - 0.37ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:19:59.184677+00:00", "timestamp": 1772313599.184677}}}
{"text": "2026-02-28 21:20:00.027 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/register - 405 - 0.32ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:12.874795", "seconds": 243432.874795}, "exception": null, "extra": {"request_id": "501706d1-2675-429b-ae5a-a06c2f292fea", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/register", "status_code": 405, "duration_ms": 0.32, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/register - 405 - 0.32ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:00.027626+00:00", "timestamp": 1772313600.027626}}}
{"text": "2026-02-28 21:20:00.185 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/login - 405 - 0.32ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:13.105570", "seconds": 243433.10557}, "exception": null, "extra": {"request_id": "8e77b03e-ee13-4eb2-b6be-50ab08a205f3", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.32, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/login - 405 - 0.32ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:00.185400+00:00", "timestamp": 1772313600.1854}}}
{"text": "2026-02-28 21:20:00.330 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/verify-2fa - 404 - 0.4ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:13.251032", "seconds": 243433.251032}, "exception": null, "extra": {"request_id": "3d3c6e84-f439-45ed-af8e-c82f4617506c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/verify-2fa", "status_code": 404, "duration_ms": 0.4, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/verify-2fa - 404 - 0.4ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:00.330862+00:00", "timestamp": 1772313600.330862}}}
{"text": "2026-02-28 21:20:00.457 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal - 404 - 0.39ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:13.304591", "seconds": 243433.304591}, "exception": null, "extra": {"request_id": "61736e47-1f49-4d32-93b0-64fb166b56f8", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal", "status_code": 404, "duration_ms": 0.39, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal - 404 - 0.39ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:00.457422+00:00", "timestamp": 1772313600.457422}}}
{"text": "2026-02-28 21:20:00.594 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 403 - 0.55ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:13.441686", "seconds": 243433.441686}, "exception": null, "extra": {"request_id": "dd355124-79fb-4c4f-8773-0753c952ca95", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 403, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 403 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:00.594517+00:00", "timestamp": 1772313600.594517}}}
{"text": "2026-02-28 21:20:00.730 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/deploy - 405 - 0.37ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:13.577408", "seconds": 243433.577408}, "exception": null, "extra": {"request_id": "1e1ab7a2-ba25-487b-8a84-f536515483e2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/deploy", "status_code": 405, "duration_ms": 0.37, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/deploy - 405 - 0.37ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:00.730239+00:00", "timestamp": 1772313600.730239}}}
{"text": "2026-02-28 21:20:00.876 | INFO     | app.main:log_requests:103 - GET /api/v1/syndicate - 404 - 0.39ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:13.724088", "seconds": 243433.724088}, "exception": null, "extra": {"request_id": "30e41c4e-c186-4f59-afdd-0921a2130ecc", "user_id": "anonymous", "method": "GET", "path": "/api/v1/syndicate", "status_code": 404, "duration_ms": 0.39, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/syndicate - 404 - 0.39ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:00.876919+00:00", "timestamp": 1772313600.876919}}}
{"text": "2026-02-28 21:20:01.015 | INFO     | app.main:log_requests:103 - GET /api/v1/syndicate/schedule/games - 405 - 0.37ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:13.862458", "seconds": 243433.862458}, "exception": null, "extra": {"request_id": "17fe5f03-6f28-48c0-b2e4-3e4d8622ac43", "user_id": "anonymous", "method": "GET", "path": "/api/v1/syndicate/schedule/games", "status_code": 405, "duration_ms": 0.37, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/syndicate/schedule/games - 405 - 0.37ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:01.015289+00:00", "timestamp": 1772313601.015289}}}
{"text": "2026-02-28 21:20:01.150 | INFO     | app.main:log_requests:103 - GET /api/v1/syndicate/schedule/pending - 200 - 1.56ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:13.998025", "seconds": 243433.998025}, "exception": null, "extra": {"request_id": "339bf190-d8a6-4804-8fcb-19d8e78bfd91", "user_id": "anonymous", "method": "GET", "path": "/api/v1/syndicate/schedule/pending", "status_code": 200, "duration_ms": 1.56, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/syndicate/schedule/pending - 200 - 1.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:01.150856+00:00", "timestamp": 1772313601.150856}}}
{"text": "2026-02-28 21:20:01.296 | INFO     | app.main:log_requests:103 - GET /api/v1/syndicate/schedule/active - 200 - 1.46ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:14.143996", "seconds": 243434.143996}, "exception": null, "extra": {"request_id": "d1769220-5843-481f-ae80-94a7478c56de", "user_id": "anonymous", "method": "GET", "path": "/api/v1/syndicate/schedule/active", "status_code": 200, "duration_ms": 1.46, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/syndicate/schedule/active - 200 - 1.46ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:01.296827+00:00", "timestamp": 1772313601.296827}}}
{"text": "2026-02-28 21:20:03.267 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/login - 405 - 0.34ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:16.114569", "seconds": 243436.114569}, "exception": null, "extra": {"request_id": "e7dd7c63-e59b-4f27-b9fa-50145430661f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.34, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/login - 405 - 0.34ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:03.267400+00:00", "timestamp": 1772313603.2674}}}
{"text": "2026-02-28 21:20:03.409 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/login\n", "record": {"elapsed": {"repr": "2 days, 19:37:16.256378", "seconds": 243436.256378}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "missing", "loc": ["body"], "msg": "Field required", "input": null, "url": "https://errors.pydantic.dev/2.5/v/missing"}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/login", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:03.409209+00:00", "timestamp": 1772313603.409209}}}
{"text": "2026-02-28 21:20:03.409 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 422 - 1.66ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:16.257044", "seconds": 243436.257044}, "exception": null, "extra": {"request_id": "0708a948-2923-4275-9f9c-ef54265c833c", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 422, "duration_ms": 1.66, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 422 - 1.66ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:03.409875+00:00", "timestamp": 1772313603.409875}}}
{"text": "2026-02-28 21:20:03.541 | INFO     | app.main:log_requests:103 - PUT /api/v1/auth/login - 405 - 0.35ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:16.388211", "seconds": 243436.388211}, "exception": null, "extra": {"request_id": "77df9277-1a88-45ae-9521-bb0f5a0d9b37", "user_id": "anonymous", "method": "PUT", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.35, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PUT /api/v1/auth/login - 405 - 0.35ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:03.541042+00:00", "timestamp": 1772313603.541042}}}
{"text": "2026-02-28 21:20:03.689 | INFO     | app.main:log_requests:103 - DELETE /api/v1/auth/login - 405 - 0.35ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:16.537030", "seconds": 243436.53703}, "exception": null, "extra": {"request_id": "997f465b-1db8-4989-bdb9-e9ac6b6c0d5a", "user_id": "anonymous", "method": "DELETE", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.35, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "DELETE /api/v1/auth/login - 405 - 0.35ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:03.689861+00:00", "timestamp": 1772313603.689861}}}
{"text": "2026-02-28 21:20:03.836 | INFO     | app.main:log_requests:103 - PATCH /api/v1/auth/login - 405 - 0.35ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:16.756996", "seconds": 243436.756996}, "exception": null, "extra": {"request_id": "542fbe66-bb7a-430e-8dbb-62f7b5a00b16", "user_id": "anonymous", "method": "PATCH", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.35, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PATCH /api/v1/auth/login - 405 - 0.35ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:03.836826+00:00", "timestamp": 1772313603.836826}}}
{"text": "2026-02-28 21:20:04.097 | INFO     | app.main:log_requests:103 - HEAD /api/v1/auth/login - 405 - 0.47ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:16.944563", "seconds": 243436.944563}, "exception": null, "extra": {"request_id": "ee6c2792-013e-496a-9b25-35c1fcc0fd07", "user_id": "anonymous", "method": "HEAD", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.47, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "HEAD /api/v1/auth/login - 405 - 0.47ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:04.097394+00:00", "timestamp": 1772313604.097394}}}
{"text": "2026-02-28 21:20:04.240 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/register - 405 - 0.46ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:17.087567", "seconds": 243437.087567}, "exception": null, "extra": {"request_id": "a4803949-d676-46e9-b759-72f6efae8d20", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/register", "status_code": 405, "duration_ms": 0.46, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/register - 405 - 0.46ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:04.240398+00:00", "timestamp": 1772313604.240398}}}
{"text": "2026-02-28 21:20:04.408 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/register\n", "record": {"elapsed": {"repr": "2 days, 19:37:17.255250", "seconds": 243437.25525}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "missing", "loc": ["body"], "msg": "Field required", "input": null, "url": "https://errors.pydantic.dev/2.5/v/missing"}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/register", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:04.408081+00:00", "timestamp": 1772313604.408081}}}
{"text": "2026-02-28 21:20:04.408 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 422 - 2.2ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:17.256122", "seconds": 243437.256122}, "exception": null, "extra": {"request_id": "5859d346-892e-494c-b19d-bc0f96ed3054", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 422, "duration_ms": 2.2, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 422 - 2.2ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:04.408953+00:00", "timestamp": 1772313604.408953}}}
{"text": "2026-02-28 21:20:04.593 | INFO     | app.main:log_requests:103 - PUT /api/v1/auth/register - 405 - 0.48ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:17.513324", "seconds": 243437.513324}, "exception": null, "extra": {"request_id": "2fe4eabd-7b6e-4c7f-a613-9d132794eb0b", "user_id": "anonymous", "method": "PUT", "path": "/api/v1/auth/register", "status_code": 405, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PUT /api/v1/auth/register - 405 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:04.593154+00:00", "timestamp": 1772313604.593154}}}
{"text": "2026-02-28 21:20:04.737 | INFO     | app.main:log_requests:103 - DELETE /api/v1/auth/register - 405 - 0.46ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:17.584544", "seconds": 243437.584544}, "exception": null, "extra": {"request_id": "80410b97-d3f0-4389-bca4-5a9168a5d91c", "user_id": "anonymous", "method": "DELETE", "path": "/api/v1/auth/register", "status_code": 405, "duration_ms": 0.46, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "DELETE /api/v1/auth/register - 405 - 0.46ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:04.737375+00:00", "timestamp": 1772313604.737375}}}
{"text": "2026-02-28 21:20:04.865 | INFO     | app.main:log_requests:103 - PATCH /api/v1/auth/register - 405 - 0.44ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:17.786025", "seconds": 243437.786025}, "exception": null, "extra": {"request_id": "eb54f72f-567c-4cc4-9bea-3e7ab75db08c", "user_id": "anonymous", "method": "PATCH", "path": "/api/v1/auth/register", "status_code": 405, "duration_ms": 0.44, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PATCH /api/v1/auth/register - 405 - 0.44ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:04.865855+00:00", "timestamp": 1772313604.865855}}}
{"text": "2026-02-28 21:20:05.234 | INFO     | app.main:log_requests:103 - HEAD /api/v1/auth/register - 405 - 0.44ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:18.155099", "seconds": 243438.155099}, "exception": null, "extra": {"request_id": "1b9e2142-e9b0-40e0-85cf-f7f38fec3f38", "user_id": "anonymous", "method": "HEAD", "path": "/api/v1/auth/register", "status_code": 405, "duration_ms": 0.44, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "HEAD /api/v1/auth/register - 405 - 0.44ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:05.234929+00:00", "timestamp": 1772313605.234929}}}
{"text": "2026-02-28 21:20:05.378 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/verify-2fa - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:18.225899", "seconds": 243438.225899}, "exception": null, "extra": {"request_id": "6c32e23d-9afd-491e-87fa-2fa52d609bfa", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/verify-2fa", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/verify-2fa - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:05.378730+00:00", "timestamp": 1772313605.37873}}}
{"text": "2026-02-28 21:20:05.521 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/verify-2fa - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:18.368841", "seconds": 243438.368841}, "exception": null, "extra": {"request_id": "f2dac540-71c5-4703-9291-c87efefc4463", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/verify-2fa", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/verify-2fa - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:05.521672+00:00", "timestamp": 1772313605.521672}}}
{"text": "2026-02-28 21:20:05.672 | INFO     | app.main:log_requests:103 - PUT /api/v1/auth/verify-2fa - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:18.592675", "seconds": 243438.592675}, "exception": null, "extra": {"request_id": "7780b59d-4b7c-468d-82d8-03bba685a8be", "user_id": "anonymous", "method": "PUT", "path": "/api/v1/auth/verify-2fa", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PUT /api/v1/auth/verify-2fa - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:05.672505+00:00", "timestamp": 1772313605.672505}}}
{"text": "2026-02-28 21:20:05.825 | INFO     | app.main:log_requests:103 - DELETE /api/v1/auth/verify-2fa - 404 - 0.59ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:18.745700", "seconds": 243438.7457}, "exception": null, "extra": {"request_id": "9ed9fef6-7f75-4d1b-a46b-7a6efd294c7d", "user_id": "anonymous", "method": "DELETE", "path": "/api/v1/auth/verify-2fa", "status_code": 404, "duration_ms": 0.59, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "DELETE /api/v1/auth/verify-2fa - 404 - 0.59ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:05.825530+00:00", "timestamp": 1772313605.82553}}}
{"text": "2026-02-28 21:20:05.960 | INFO     | app.main:log_requests:103 - PATCH /api/v1/auth/verify-2fa - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:18.880542", "seconds": 243438.880542}, "exception": null, "extra": {"request_id": "f54681a2-e9bd-4fcc-a4e1-ac21125d8792", "user_id": "anonymous", "method": "PATCH", "path": "/api/v1/auth/verify-2fa", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PATCH /api/v1/auth/verify-2fa - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:05.960372+00:00", "timestamp": 1772313605.960372}}}
{"text": "2026-02-28 21:20:06.228 | INFO     | app.main:log_requests:103 - HEAD /api/v1/auth/verify-2fa - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:19.149097", "seconds": 243439.149097}, "exception": null, "extra": {"request_id": "d64daa90-f65d-4427-b86f-8dce3e3500a6", "user_id": "anonymous", "method": "HEAD", "path": "/api/v1/auth/verify-2fa", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "HEAD /api/v1/auth/verify-2fa - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:06.228927+00:00", "timestamp": 1772313606.228927}}}
{"text": "2026-02-28 21:20:06.359 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 403 - 0.91ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:19.207092", "seconds": 243439.207092}, "exception": null, "extra": {"request_id": "860512b6-324e-4399-88ec-98a23eaf0ac5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 403, "duration_ms": 0.91, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 403 - 0.91ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:06.359923+00:00", "timestamp": 1772313606.359923}}}
{"text": "2026-02-28 21:20:06.555 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances - 405 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:19.475753", "seconds": 243439.475753}, "exception": null, "extra": {"request_id": "60145735-4e32-4bdf-9633-549901f6c1f1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/instances", "status_code": 405, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances - 405 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:06.555583+00:00", "timestamp": 1772313606.555583}}}
{"text": "2026-02-28 21:20:06.692 | INFO     | app.main:log_requests:103 - PUT /api/v1/terminal/auto/instances - 405 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:19.613119", "seconds": 243439.613119}, "exception": null, "extra": {"request_id": "04eb4787-b31a-4628-9214-04072c2fce50", "user_id": "anonymous", "method": "PUT", "path": "/api/v1/terminal/auto/instances", "status_code": 405, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PUT /api/v1/terminal/auto/instances - 405 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:06.692949+00:00", "timestamp": 1772313606.692949}}}
{"text": "2026-02-28 21:20:06.831 | INFO     | app.main:log_requests:103 - DELETE /api/v1/terminal/auto/instances - 405 - 0.43ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:19.751588", "seconds": 243439.751588}, "exception": null, "extra": {"request_id": "78903ead-569c-45d6-9ce3-f283f8ff0579", "user_id": "anonymous", "method": "DELETE", "path": "/api/v1/terminal/auto/instances", "status_code": 405, "duration_ms": 0.43, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "DELETE /api/v1/terminal/auto/instances - 405 - 0.43ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:06.831418+00:00", "timestamp": 1772313606.831418}}}
{"text": "2026-02-28 21:20:06.966 | INFO     | app.main:log_requests:103 - PATCH /api/v1/terminal/auto/instances - 405 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:19.886844", "seconds": 243439.886844}, "exception": null, "extra": {"request_id": "01c692c6-b05e-44bc-b35d-fb34bb2be4b7", "user_id": "anonymous", "method": "PATCH", "path": "/api/v1/terminal/auto/instances", "status_code": 405, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PATCH /api/v1/terminal/auto/instances - 405 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:06.966674+00:00", "timestamp": 1772313606.966674}}}
{"text": "2026-02-28 21:20:07.213 | INFO     | app.main:log_requests:103 - HEAD /api/v1/terminal/auto/instances - 405 - 0.46ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:20.060191", "seconds": 243440.060191}, "exception": null, "extra": {"request_id": "66a4a6bd-27d6-4785-a23f-08b2d56ef7f3", "user_id": "anonymous", "method": "HEAD", "path": "/api/v1/terminal/auto/instances", "status_code": 405, "duration_ms": 0.46, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "HEAD /api/v1/terminal/auto/instances - 405 - 0.46ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:07.213022+00:00", "timestamp": 1772313607.213022}}}
{"text": "2026-02-28 21:20:07.360 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/deploy - 405 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:20.207631", "seconds": 243440.207631}, "exception": null, "extra": {"request_id": "4c9a3310-5a8b-492b-98e2-1509913f7883", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/deploy", "status_code": 405, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/deploy - 405 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:07.360462+00:00", "timestamp": 1772313607.360462}}}
{"text": "2026-02-28 21:20:07.516 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 403 - 1.4ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:20.436450", "seconds": 243440.43645}, "exception": null, "extra": {"request_id": "e4bf4412-8ea2-4c7e-bc51-602633d4c1fd", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 403, "duration_ms": 1.4, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 403 - 1.4ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:07.516280+00:00", "timestamp": 1772313607.51628}}}
{"text": "2026-02-28 21:20:07.646 | INFO     | app.main:log_requests:103 - PUT /api/v1/terminal/auto/deploy - 405 - 0.47ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:20.566524", "seconds": 243440.566524}, "exception": null, "extra": {"request_id": "a0667de0-9c66-4910-a40e-13457ca91619", "user_id": "anonymous", "method": "PUT", "path": "/api/v1/terminal/auto/deploy", "status_code": 405, "duration_ms": 0.47, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PUT /api/v1/terminal/auto/deploy - 405 - 0.47ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:07.646354+00:00", "timestamp": 1772313607.646354}}}
{"text": "2026-02-28 21:20:07.787 | INFO     | app.main:log_requests:103 - DELETE /api/v1/terminal/auto/deploy - 405 - 1.12ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:20.634663", "seconds": 243440.634663}, "exception": null, "extra": {"request_id": "580293cc-a2af-405b-8293-24886dede738", "user_id": "anonymous", "method": "DELETE", "path": "/api/v1/terminal/auto/deploy", "status_code": 405, "duration_ms": 1.12, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "DELETE /api/v1/terminal/auto/deploy - 405 - 1.12ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:07.787494+00:00", "timestamp": 1772313607.787494}}}
{"text": "2026-02-28 21:20:07.954 | INFO     | app.main:log_requests:103 - PATCH /api/v1/terminal/auto/deploy - 405 - 0.41ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:20.802121", "seconds": 243440.802121}, "exception": null, "extra": {"request_id": "cef13d85-4971-4836-be63-524befc1c930", "user_id": "anonymous", "method": "PATCH", "path": "/api/v1/terminal/auto/deploy", "status_code": 405, "duration_ms": 0.41, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PATCH /api/v1/terminal/auto/deploy - 405 - 0.41ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:07.954952+00:00", "timestamp": 1772313607.954952}}}
{"text": "2026-02-28 21:20:08.236 | INFO     | app.main:log_requests:103 - HEAD /api/v1/terminal/auto/deploy - 405 - 0.44ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:21.083867", "seconds": 243441.083867}, "exception": null, "extra": {"request_id": "85f8d658-c1e5-49a4-a031-90f441efb2f4", "user_id": "anonymous", "method": "HEAD", "path": "/api/v1/terminal/auto/deploy", "status_code": 405, "duration_ms": 0.44, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "HEAD /api/v1/terminal/auto/deploy - 405 - 0.44ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:08.236698+00:00", "timestamp": 1772313608.236698}}}
{"text": "2026-02-28 21:20:08.368 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/logout - 405 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:21.215522", "seconds": 243441.215522}, "exception": null, "extra": {"request_id": "aacf1994-3c0b-4af7-bf5b-443222a08a6d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/logout", "status_code": 405, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/logout - 405 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:08.368353+00:00", "timestamp": 1772313608.368353}}}
{"text": "2026-02-28 21:20:08.520 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 403 - 0.73ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:21.440371", "seconds": 243441.440371}, "exception": null, "extra": {"request_id": "cbaaa84b-a393-4c20-acef-a5f76f5139e1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 403, "duration_ms": 0.73, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 403 - 0.73ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:08.520201+00:00", "timestamp": 1772313608.520201}}}
{"text": "2026-02-28 21:20:08.679 | INFO     | app.main:log_requests:103 - PUT /api/v1/terminal/auto/logout - 405 - 0.44ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:21.600096", "seconds": 243441.600096}, "exception": null, "extra": {"request_id": "55db8938-4501-4fca-8eba-5957db31e3bf", "user_id": "anonymous", "method": "PUT", "path": "/api/v1/terminal/auto/logout", "status_code": 405, "duration_ms": 0.44, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PUT /api/v1/terminal/auto/logout - 405 - 0.44ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:08.679926+00:00", "timestamp": 1772313608.679926}}}
{"text": "2026-02-28 21:20:08.826 | INFO     | app.main:log_requests:103 - DELETE /api/v1/terminal/auto/logout - 405 - 0.47ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:21.746302", "seconds": 243441.746302}, "exception": null, "extra": {"request_id": "fd248524-3bd3-4fa0-891c-7f1f6d62df68", "user_id": "anonymous", "method": "DELETE", "path": "/api/v1/terminal/auto/logout", "status_code": 405, "duration_ms": 0.47, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "DELETE /api/v1/terminal/auto/logout - 405 - 0.47ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:08.826132+00:00", "timestamp": 1772313608.826132}}}
{"text": "2026-02-28 21:20:08.963 | INFO     | app.main:log_requests:103 - PATCH /api/v1/terminal/auto/logout - 405 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:21.883205", "seconds": 243441.883205}, "exception": null, "extra": {"request_id": "8d9dedeb-b3e3-4cf3-bfa0-d13452507bff", "user_id": "anonymous", "method": "PATCH", "path": "/api/v1/terminal/auto/logout", "status_code": 405, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PATCH /api/v1/terminal/auto/logout - 405 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:08.963035+00:00", "timestamp": 1772313608.963035}}}
{"text": "2026-02-28 21:20:09.212 | INFO     | app.main:log_requests:103 - HEAD /api/v1/terminal/auto/logout - 405 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:22.132892", "seconds": 243442.132892}, "exception": null, "extra": {"request_id": "2bcc60ed-0578-4077-99d0-7b8798a87e22", "user_id": "anonymous", "method": "HEAD", "path": "/api/v1/terminal/auto/logout", "status_code": 405, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "HEAD /api/v1/terminal/auto/logout - 405 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:09.212722+00:00", "timestamp": 1772313609.212722}}}
{"text": "2026-02-28 21:20:09.369 | INFO     | app.main:log_requests:103 - GET /api/v1/syndicate/schedule/games - 405 - 0.47ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:22.289474", "seconds": 243442.289474}, "exception": null, "extra": {"request_id": "a8dce8f2-e67c-4a95-8ed8-75a9dc7d67b6", "user_id": "anonymous", "method": "GET", "path": "/api/v1/syndicate/schedule/games", "status_code": 405, "duration_ms": 0.47, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/syndicate/schedule/games - 405 - 0.47ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:09.369304+00:00", "timestamp": 1772313609.369304}}}
{"text": "2026-02-28 21:20:09.528 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/syndicate/schedule/games\n", "record": {"elapsed": {"repr": "2 days, 19:37:22.448536", "seconds": 243442.448536}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "missing", "loc": ["body"], "msg": "Field required", "input": null, "url": "https://errors.pydantic.dev/2.5/v/missing"}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/syndicate/schedule/games", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:09.528366+00:00", "timestamp": 1772313609.528366}}}
{"text": "2026-02-28 21:20:09.529 | INFO     | app.main:log_requests:103 - POST /api/v1/syndicate/schedule/games - 422 - 2.09ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:22.449379", "seconds": 243442.449379}, "exception": null, "extra": {"request_id": "0cd36729-aae1-4b34-a1cc-0ed6c10d07bb", "user_id": "anonymous", "method": "POST", "path": "/api/v1/syndicate/schedule/games", "status_code": 422, "duration_ms": 2.09, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/syndicate/schedule/games - 422 - 2.09ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:09.529209+00:00", "timestamp": 1772313609.529209}}}
{"text": "2026-02-28 21:20:09.669 | INFO     | app.main:log_requests:103 - PUT /api/v1/syndicate/schedule/games - 405 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:22.589619", "seconds": 243442.589619}, "exception": null, "extra": {"request_id": "8e7ccfdb-48ae-415a-97c6-3ed50bab805e", "user_id": "anonymous", "method": "PUT", "path": "/api/v1/syndicate/schedule/games", "status_code": 405, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PUT /api/v1/syndicate/schedule/games - 405 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:09.669449+00:00", "timestamp": 1772313609.669449}}}
{"text": "2026-02-28 21:20:09.817 | INFO     | app.main:log_requests:103 - DELETE /api/v1/syndicate/schedule/games - 405 - 0.47ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:22.737610", "seconds": 243442.73761}, "exception": null, "extra": {"request_id": "0fbcd125-44c9-4b42-a826-208d4171ce83", "user_id": "anonymous", "method": "DELETE", "path": "/api/v1/syndicate/schedule/games", "status_code": 405, "duration_ms": 0.47, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "DELETE /api/v1/syndicate/schedule/games - 405 - 0.47ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:09.817440+00:00", "timestamp": 1772313609.81744}}}
{"text": "2026-02-28 21:20:09.981 | INFO     | app.main:log_requests:103 - PATCH /api/v1/syndicate/schedule/games - 405 - 0.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:22.901572", "seconds": 243442.901572}, "exception": null, "extra": {"request_id": "237580d7-4dbf-44f1-9524-d90cf10fa72a", "user_id": "anonymous", "method": "PATCH", "path": "/api/v1/syndicate/schedule/games", "status_code": 405, "duration_ms": 0.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PATCH /api/v1/syndicate/schedule/games - 405 - 0.45ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:09.981402+00:00", "timestamp": 1772313609.981402}}}
{"text": "2026-02-28 21:20:10.254 | INFO     | app.main:log_requests:103 - HEAD /api/v1/syndicate/schedule/games - 405 - 0.47ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:23.101312", "seconds": 243443.101312}, "exception": null, "extra": {"request_id": "5a73bf78-530b-4e6b-8b93-19e089964193", "user_id": "anonymous", "method": "HEAD", "path": "/api/v1/syndicate/schedule/games", "status_code": 405, "duration_ms": 0.47, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "HEAD /api/v1/syndicate/schedule/games - 405 - 0.47ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:10.254143+00:00", "timestamp": 1772313610.254143}}}
{"text": "2026-02-28 21:20:10.381 | INFO     | app.main:log_requests:103 - GET /api/v1/syndicate/schedule/pending - 200 - 2.22ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:23.228538", "seconds": 243443.228538}, "exception": null, "extra": {"request_id": "3daf83a4-bb99-45b2-9e72-72feb9820144", "user_id": "anonymous", "method": "GET", "path": "/api/v1/syndicate/schedule/pending", "status_code": 200, "duration_ms": 2.22, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/syndicate/schedule/pending - 200 - 2.22ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:10.381369+00:00", "timestamp": 1772313610.381369}}}
{"text": "2026-02-28 21:20:10.519 | INFO     | app.main:log_requests:103 - POST /api/v1/syndicate/schedule/pending - 405 - 0.53ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:23.366545", "seconds": 243443.366545}, "exception": null, "extra": {"request_id": "2c64c394-1974-482f-93c9-d8bd36888e46", "user_id": "anonymous", "method": "POST", "path": "/api/v1/syndicate/schedule/pending", "status_code": 405, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/syndicate/schedule/pending - 405 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:10.519376+00:00", "timestamp": 1772313610.519376}}}
{"text": "2026-02-28 21:20:10.647 | INFO     | app.main:log_requests:103 - PUT /api/v1/syndicate/schedule/pending - 405 - 0.48ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:23.494391", "seconds": 243443.494391}, "exception": null, "extra": {"request_id": "f80017f1-6fd9-426d-ba75-c9baf47775f1", "user_id": "anonymous", "method": "PUT", "path": "/api/v1/syndicate/schedule/pending", "status_code": 405, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PUT /api/v1/syndicate/schedule/pending - 405 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:10.647222+00:00", "timestamp": 1772313610.647222}}}
{"text": "2026-02-28 21:20:10.789 | INFO     | app.main:log_requests:103 - DELETE /api/v1/syndicate/schedule/pending - 405 - 0.44ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:23.637052", "seconds": 243443.637052}, "exception": null, "extra": {"request_id": "49e16abe-82a3-4b5f-9e37-ba28d190b2c2", "user_id": "anonymous", "method": "DELETE", "path": "/api/v1/syndicate/schedule/pending", "status_code": 405, "duration_ms": 0.44, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "DELETE /api/v1/syndicate/schedule/pending - 405 - 0.44ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:10.789883+00:00", "timestamp": 1772313610.789883}}}
{"text": "2026-02-28 21:20:10.931 | INFO     | app.main:log_requests:103 - PATCH /api/v1/syndicate/schedule/pending - 405 - 0.48ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:23.778748", "seconds": 243443.778748}, "exception": null, "extra": {"request_id": "1ab84417-765c-4db9-8e4d-009a4a497fc2", "user_id": "anonymous", "method": "PATCH", "path": "/api/v1/syndicate/schedule/pending", "status_code": 405, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PATCH /api/v1/syndicate/schedule/pending - 405 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:10.931579+00:00", "timestamp": 1772313610.931579}}}
{"text": "2026-02-28 21:20:11.183 | INFO     | app.main:log_requests:103 - HEAD /api/v1/syndicate/schedule/pending - 405 - 0.4ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:24.031096", "seconds": 243444.031096}, "exception": null, "extra": {"request_id": "88666310-120d-471e-8a77-f782f2348951", "user_id": "anonymous", "method": "HEAD", "path": "/api/v1/syndicate/schedule/pending", "status_code": 405, "duration_ms": 0.4, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "HEAD /api/v1/syndicate/schedule/pending - 405 - 0.4ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:11.183927+00:00", "timestamp": 1772313611.183927}}}
{"text": "2026-02-28 21:20:32.474 | INFO     | app.main:log_requests:103 - GET /api/v1/docs - 200 - 0.38ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:45.394924", "seconds": 243465.394924}, "exception": null, "extra": {"request_id": "3e075356-9d81-4032-b26b-eb4edd335fc5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs", "status_code": 200, "duration_ms": 0.38, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs - 200 - 0.38ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:32.474754+00:00", "timestamp": 1772313632.474754}}}
{"text": "2026-02-28 21:20:32.666 | INFO     | app.main:log_requests:103 - GET /api/v1/openapi.json - 200 - 1.34ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:45.514123", "seconds": 243465.514123}, "exception": null, "extra": {"request_id": "969243e3-b509-4df5-8faa-0de5e7535933", "user_id": "anonymous", "method": "GET", "path": "/api/v1/openapi.json", "status_code": 200, "duration_ms": 1.34, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/openapi.json - 200 - 1.34ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:32.666954+00:00", "timestamp": 1772313632.666954}}}
{"text": "2026-02-28 21:20:33.942 | INFO     | app.main:log_requests:103 - GET /api/v1/syndicate/schedule/pending - 200 - 2.09ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:46.862204", "seconds": 243466.862204}, "exception": null, "extra": {"request_id": "b5eaa4c4-132a-4bbb-9f3e-c96ca0adcb42", "user_id": "anonymous", "method": "GET", "path": "/api/v1/syndicate/schedule/pending", "status_code": 200, "duration_ms": 2.09, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/syndicate/schedule/pending - 200 - 2.09ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:33.942034+00:00", "timestamp": 1772313633.942034}}}
{"text": "2026-02-28 21:20:34.086 | INFO     | app.main:log_requests:103 - GET /api/v1/syndicate/schedule/active - 200 - 1.87ms\n", "record": {"elapsed": {"repr": "2 days, 19:37:47.006408", "seconds": 243467.006408}, "exception": null, "extra": {"request_id": "53496c9d-cb96-4cde-a5dc-84f145b2d43f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/syndicate/schedule/active", "status_code": 200, "duration_ms": 1.87, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/syndicate/schedule/active - 200 - 1.87ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:20:34.086238+00:00", "timestamp": 1772313634.086238}}}
{"text": "2026-02-28 21:21:05.440 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:18.287927", "seconds": 243498.287927}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:05.440758+00:00", "timestamp": 1772313665.440758}}}
{"text": "2026-02-28 21:21:05.441 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.4ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:18.288588", "seconds": 243498.288588}, "exception": null, "extra": {"request_id": "8d2852cc-725e-4a70-855c-9aa23aeb7511", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.4, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.4ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:05.441419+00:00", "timestamp": 1772313665.441419}}}
{"text": "2026-02-28 21:21:05.629 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:18.476759", "seconds": 243498.476759}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:05.629590+00:00", "timestamp": 1772313665.62959}}}
{"text": "2026-02-28 21:21:05.630 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 3.45ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:18.477363", "seconds": 243498.477363}, "exception": null, "extra": {"request_id": "94817180-518f-4fbc-ba32-1ba2d73e3566", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 3.45, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 3.45ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:05.630194+00:00", "timestamp": 1772313665.630194}}}
{"text": "2026-02-28 21:21:05.810 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:18.657229", "seconds": 243498.657229}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:05.810060+00:00", "timestamp": 1772313665.81006}}}
{"text": "2026-02-28 21:21:05.810 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 3.94ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:18.657999", "seconds": 243498.657999}, "exception": null, "extra": {"request_id": "e435989a-140d-4547-8d16-2f380b0ce815", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 3.94, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 3.94ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:05.810830+00:00", "timestamp": 1772313665.81083}}}
{"text": "2026-02-28 21:21:06.007 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:18.854917", "seconds": 243498.854917}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.007748+00:00", "timestamp": 1772313666.007748}}}
{"text": "2026-02-28 21:21:06.008 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 3.26ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:18.855528", "seconds": 243498.855528}, "exception": null, "extra": {"request_id": "8411b403-8c99-4f94-862c-d02bce0b7d57", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 3.26, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 3.26ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.008359+00:00", "timestamp": 1772313666.008359}}}
{"text": "2026-02-28 21:21:06.197 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.044536", "seconds": 243499.044536}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.197367+00:00", "timestamp": 1772313666.197367}}}
{"text": "2026-02-28 21:21:06.197 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 3.06ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.045160", "seconds": 243499.04516}, "exception": null, "extra": {"request_id": "fd48bdfb-7778-49a3-ae3b-443cead0b1e7", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 3.06, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 3.06ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.197991+00:00", "timestamp": 1772313666.197991}}}
{"text": "2026-02-28 21:21:06.387 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.308167", "seconds": 243499.308167}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.387997+00:00", "timestamp": 1772313666.387997}}}
{"text": "2026-02-28 21:21:06.390 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 5.48ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.310500", "seconds": 243499.3105}, "exception": null, "extra": {"request_id": "df0d8b7e-0206-419f-a8fc-97f0c0b0be9b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 5.48, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 5.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.390330+00:00", "timestamp": 1772313666.39033}}}
{"text": "2026-02-28 21:21:06.566 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.486389", "seconds": 243499.486389}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.566219+00:00", "timestamp": 1772313666.566219}}}
{"text": "2026-02-28 21:21:06.567 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 6.44ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.487348", "seconds": 243499.487348}, "exception": null, "extra": {"request_id": "1259c2b1-8033-4c42-b5d1-482ecc6af2c6", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 6.44, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 6.44ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.567178+00:00", "timestamp": 1772313666.567178}}}
{"text": "2026-02-28 21:21:06.779 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.699663", "seconds": 243499.699663}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.779493+00:00", "timestamp": 1772313666.779493}}}
{"text": "2026-02-28 21:21:06.780 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.49ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.700546", "seconds": 243499.700546}, "exception": null, "extra": {"request_id": "d96b74a0-8811-4ba3-9b87-f324ad248cc9", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.780376+00:00", "timestamp": 1772313666.780376}}}
{"text": "2026-02-28 21:21:06.940 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.860932", "seconds": 243499.860932}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.940762+00:00", "timestamp": 1772313666.940762}}}
{"text": "2026-02-28 21:21:06.941 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.75ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.861854", "seconds": 243499.861854}, "exception": null, "extra": {"request_id": "3c4b9ae3-8d38-4d36-877c-646694580847", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.75, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:06.941684+00:00", "timestamp": 1772313666.941684}}}
{"text": "2026-02-28 21:21:07.119 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.966398", "seconds": 243499.966398}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:07.119229+00:00", "timestamp": 1772313667.119229}}}
{"text": "2026-02-28 21:21:07.120 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.72ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:19.967339", "seconds": 243499.967339}, "exception": null, "extra": {"request_id": "f6d748e1-d4a4-4e78-b9f7-e639f7076190", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.72, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:07.120170+00:00", "timestamp": 1772313667.12017}}}
{"text": "2026-02-28 21:21:19.938 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:32.785203", "seconds": 243512.785203}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:19.938034+00:00", "timestamp": 1772313679.938034}}}
{"text": "2026-02-28 21:21:19.939 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.42ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:32.786236", "seconds": 243512.786236}, "exception": null, "extra": {"request_id": "1c67954f-fb4d-4d22-9d2e-4fc644e18b5b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.42, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.42ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:19.939067+00:00", "timestamp": 1772313679.939067}}}
{"text": "2026-02-28 21:21:20.153 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.073341", "seconds": 243513.073341}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.153171+00:00", "timestamp": 1772313680.153171}}}
{"text": "2026-02-28 21:21:20.154 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.43ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.074181", "seconds": 243513.074181}, "exception": null, "extra": {"request_id": "b7122b42-c1c3-4db0-a5cd-df468d1510fc", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.43, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.43ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.154011+00:00", "timestamp": 1772313680.154011}}}
{"text": "2026-02-28 21:21:20.349 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.270057", "seconds": 243513.270057}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.349887+00:00", "timestamp": 1772313680.349887}}}
{"text": "2026-02-28 21:21:20.350 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 5.49ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.271091", "seconds": 243513.271091}, "exception": null, "extra": {"request_id": "06cdb084-0639-456b-9870-f1f6a7bcd177", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 5.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 5.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.350921+00:00", "timestamp": 1772313680.350921}}}
{"text": "2026-02-28 21:21:20.543 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.463709", "seconds": 243513.463709}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.543539+00:00", "timestamp": 1772313680.543539}}}
{"text": "2026-02-28 21:21:20.544 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 6.37ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.464715", "seconds": 243513.464715}, "exception": null, "extra": {"request_id": "67b057b3-a940-4b94-9112-e9dc3ec4360b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 6.37, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 6.37ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.544545+00:00", "timestamp": 1772313680.544545}}}
{"text": "2026-02-28 21:21:20.729 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.649594", "seconds": 243513.649594}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.729424+00:00", "timestamp": 1772313680.729424}}}
{"text": "2026-02-28 21:21:20.730 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.65ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.650676", "seconds": 243513.650676}, "exception": null, "extra": {"request_id": "d998c809-4b18-44e2-b926-bfa285832b62", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.65, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.65ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.730506+00:00", "timestamp": 1772313680.730506}}}
{"text": "2026-02-28 21:21:20.936 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.783903", "seconds": 243513.783903}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.936734+00:00", "timestamp": 1772313680.936734}}}
{"text": "2026-02-28 21:21:20.937 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.46ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.784778", "seconds": 243513.784778}, "exception": null, "extra": {"request_id": "9977d912-73c2-43ee-bf47-9b7f31a418bd", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.46, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.46ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:20.937609+00:00", "timestamp": 1772313680.937609}}}
{"text": "2026-02-28 21:21:21.150 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.997405", "seconds": 243513.997405}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.150236+00:00", "timestamp": 1772313681.150236}}}
{"text": "2026-02-28 21:21:21.151 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.44ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:33.998304", "seconds": 243513.998304}, "exception": null, "extra": {"request_id": "e5aec051-3464-473b-891d-96876d2769d2", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.44, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.44ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.151135+00:00", "timestamp": 1772313681.151135}}}
{"text": "2026-02-28 21:21:21.343 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:34.190988", "seconds": 243514.190988}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.343819+00:00", "timestamp": 1772313681.343819}}}
{"text": "2026-02-28 21:21:21.344 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.46ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:34.191882", "seconds": 243514.191882}, "exception": null, "extra": {"request_id": "23e9d6d7-32c4-415f-b2ca-05b58e93c612", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.46, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.46ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.344713+00:00", "timestamp": 1772313681.344713}}}
{"text": "2026-02-28 21:21:21.549 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:34.469454", "seconds": 243514.469454}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.549284+00:00", "timestamp": 1772313681.549284}}}
{"text": "2026-02-28 21:21:21.550 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.39ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:34.470446", "seconds": 243514.470446}, "exception": null, "extra": {"request_id": "0a7fb2f5-4a35-463e-85d6-3e73daae63a7", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.39, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.39ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.550276+00:00", "timestamp": 1772313681.550276}}}
{"text": "2026-02-28 21:21:21.739 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:34.660166", "seconds": 243514.660166}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.739996+00:00", "timestamp": 1772313681.739996}}}
{"text": "2026-02-28 21:21:21.740 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.2ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:34.661018", "seconds": 243514.661018}, "exception": null, "extra": {"request_id": "edcf6eaa-d34b-48b8-8f8c-23cc49becb4e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.2, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.2ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.740848+00:00", "timestamp": 1772313681.740848}}}
{"text": "2026-02-28 21:21:21.937 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:34.857912", "seconds": 243514.857912}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.937742+00:00", "timestamp": 1772313681.937742}}}
{"text": "2026-02-28 21:21:21.938 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.29ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:34.858797", "seconds": 243514.858797}, "exception": null, "extra": {"request_id": "9f431017-c4fb-4d39-ab4d-02ccbbff69ea", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.29, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.29ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:21.938627+00:00", "timestamp": 1772313681.938627}}}
{"text": "2026-02-28 21:21:22.118 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.038202", "seconds": 243515.038202}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.118032+00:00", "timestamp": 1772313682.118032}}}
{"text": "2026-02-28 21:21:22.118 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 3.97ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.038996", "seconds": 243515.038996}, "exception": null, "extra": {"request_id": "dad7efb6-0cca-41ea-83da-603c11a8c305", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 3.97, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 3.97ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.118826+00:00", "timestamp": 1772313682.118826}}}
{"text": "2026-02-28 21:21:22.323 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.243535", "seconds": 243515.243535}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.323365+00:00", "timestamp": 1772313682.323365}}}
{"text": "2026-02-28 21:21:22.324 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.19ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.244377", "seconds": 243515.244377}, "exception": null, "extra": {"request_id": "bc657c97-68ec-4214-badd-aeb07603e32e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.19, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.19ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.324207+00:00", "timestamp": 1772313682.324207}}}
{"text": "2026-02-28 21:21:22.501 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.421275", "seconds": 243515.421275}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.501105+00:00", "timestamp": 1772313682.501105}}}
{"text": "2026-02-28 21:21:22.501 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.16ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.422114", "seconds": 243515.422114}, "exception": null, "extra": {"request_id": "c56fb3bb-941d-45f2-a9ab-1f2e09069f13", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.16, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.16ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.501944+00:00", "timestamp": 1772313682.501944}}}
{"text": "2026-02-28 21:21:22.685 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.605425", "seconds": 243515.605425}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.685255+00:00", "timestamp": 1772313682.685255}}}
{"text": "2026-02-28 21:21:22.686 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.15ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.606253", "seconds": 243515.606253}, "exception": null, "extra": {"request_id": "f62352ec-f1fc-406d-aa42-ce2f2243554e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.15, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.15ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.686083+00:00", "timestamp": 1772313682.686083}}}
{"text": "2026-02-28 21:21:22.887 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.807187", "seconds": 243515.807187}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.887017+00:00", "timestamp": 1772313682.887017}}}
{"text": "2026-02-28 21:21:22.887 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.06ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.808025", "seconds": 243515.808025}, "exception": null, "extra": {"request_id": "be6a2b2e-c312-4f97-8226-51294292e151", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.06, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.06ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:22.887855+00:00", "timestamp": 1772313682.887855}}}
{"text": "2026-02-28 21:21:23.071 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.991410", "seconds": 243515.99141}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:23.071240+00:00", "timestamp": 1772313683.07124}}}
{"text": "2026-02-28 21:21:23.072 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.57ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:35.992247", "seconds": 243515.992247}, "exception": null, "extra": {"request_id": "d8b70b0f-f643-44b1-b9c1-f6f0113803ce", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.57, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.57ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:23.072077+00:00", "timestamp": 1772313683.072077}}}
{"text": "2026-02-28 21:21:23.286 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:36.206199", "seconds": 243516.206199}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:23.286029+00:00", "timestamp": 1772313683.286029}}}
{"text": "2026-02-28 21:21:23.286 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.48ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:36.207036", "seconds": 243516.207036}, "exception": null, "extra": {"request_id": "b3c3cfed-fb79-43c1-9218-77a09cd65357", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.48, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:23.286866+00:00", "timestamp": 1772313683.286866}}}
{"text": "2026-02-28 21:21:23.475 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:36.395842", "seconds": 243516.395842}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:23.475672+00:00", "timestamp": 1772313683.475672}}}
{"text": "2026-02-28 21:21:23.476 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.02ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:36.396681", "seconds": 243516.396681}, "exception": null, "extra": {"request_id": "01b7e239-b2a5-43ff-acd2-ba89a47490e1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.02, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.02ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:23.476511+00:00", "timestamp": 1772313683.476511}}}
{"text": "2026-02-28 21:21:23.637 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "2 days, 19:38:36.557523", "seconds": 243516.557523}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:23.637353+00:00", "timestamp": 1772313683.637353}}}
{"text": "2026-02-28 21:21:23.638 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 3.86ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:36.558343", "seconds": 243516.558343}, "exception": null, "extra": {"request_id": "6f15d69a-c33b-46fa-8997-5a0996ced723", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 3.86, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 3.86ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:23.638173+00:00", "timestamp": 1772313683.638173}}}
{"text": "2026-02-28 21:21:24.927 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/register\n", "record": {"elapsed": {"repr": "2 days, 19:38:37.848086", "seconds": 243517.848086}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "json_invalid", "loc": ["body", 72], "msg": "JSON decode error", "input": {}, "ctx": {"error": "Invalid \\escape"}}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/register", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:24.927916+00:00", "timestamp": 1772313684.927916}}}
{"text": "2026-02-28 21:21:24.928 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 422 - 1.79ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:37.848873", "seconds": 243517.848873}, "exception": null, "extra": {"request_id": "ddeea38d-0d2e-49fb-bfa9-3de098ae0d5f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 422, "duration_ms": 1.79, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 422 - 1.79ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:24.928703+00:00", "timestamp": 1772313684.928703}}}
{"text": "2026-02-28 21:21:25.137 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/register\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.058003", "seconds": 243518.058003}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "json_invalid", "loc": ["body", 72], "msg": "JSON decode error", "input": {}, "ctx": {"error": "Invalid \\escape"}}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/register", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:25.137833+00:00", "timestamp": 1772313685.137833}}}
{"text": "2026-02-28 21:21:25.138 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 422 - 1.75ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.058793", "seconds": 243518.058793}, "exception": null, "extra": {"request_id": "4d9e868e-4fe9-4dc7-a2b1-704dc5386f81", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 422, "duration_ms": 1.75, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 422 - 1.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:25.138623+00:00", "timestamp": 1772313685.138623}}}
{"text": "2026-02-28 21:21:25.352 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/register\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.272781", "seconds": 243518.272781}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "json_invalid", "loc": ["body", 72], "msg": "JSON decode error", "input": {}, "ctx": {"error": "Invalid \\escape"}}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/register", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:25.352611+00:00", "timestamp": 1772313685.352611}}}
{"text": "2026-02-28 21:21:25.353 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 422 - 1.75ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.273581", "seconds": 243518.273581}, "exception": null, "extra": {"request_id": "b076244e-5cda-42b9-bb5b-d7eb2720aff2", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 422, "duration_ms": 1.75, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 422 - 1.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:25.353411+00:00", "timestamp": 1772313685.353411}}}
{"text": "2026-02-28 21:21:25.548 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/register\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.468809", "seconds": 243518.468809}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "json_invalid", "loc": ["body", 72], "msg": "JSON decode error", "input": {}, "ctx": {"error": "Invalid \\escape"}}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/register", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:25.548639+00:00", "timestamp": 1772313685.548639}}}
{"text": "2026-02-28 21:21:25.549 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 422 - 1.75ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.469599", "seconds": 243518.469599}, "exception": null, "extra": {"request_id": "5d2273e1-5867-469b-aff3-e48bf89e1af8", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 422, "duration_ms": 1.75, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 422 - 1.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:25.549429+00:00", "timestamp": 1772313685.549429}}}
{"text": "2026-02-28 21:21:25.760 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/register\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.680461", "seconds": 243518.680461}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "json_invalid", "loc": ["body", 72], "msg": "JSON decode error", "input": {}, "ctx": {"error": "Invalid \\escape"}}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/register", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:25.760291+00:00", "timestamp": 1772313685.760291}}}
{"text": "2026-02-28 21:21:25.761 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 422 - 1.73ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.681248", "seconds": 243518.681248}, "exception": null, "extra": {"request_id": "9bb6d116-df02-4a03-aa52-1396912d343e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 422, "duration_ms": 1.73, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 422 - 1.73ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:25.761078+00:00", "timestamp": 1772313685.761078}}}
{"text": "2026-02-28 21:21:26.023 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/register\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.943814", "seconds": 243518.943814}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "json_invalid", "loc": ["body", 72], "msg": "JSON decode error", "input": {}, "ctx": {"error": "Invalid \\escape"}}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/register", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:26.023644+00:00", "timestamp": 1772313686.023644}}}
{"text": "2026-02-28 21:21:26.024 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 422 - 1.9ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:38.944693", "seconds": 243518.944693}, "exception": null, "extra": {"request_id": "d5a9f826-a538-4b71-be74-e7aa1126dd83", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 422, "duration_ms": 1.9, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 422 - 1.9ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:26.024523+00:00", "timestamp": 1772313686.024523}}}
{"text": "2026-02-28 21:21:26.237 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/register\n", "record": {"elapsed": {"repr": "2 days, 19:38:39.085104", "seconds": 243519.085104}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "json_invalid", "loc": ["body", 72], "msg": "JSON decode error", "input": {}, "ctx": {"error": "Invalid \\escape"}}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/register", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:26.237935+00:00", "timestamp": 1772313686.237935}}}
{"text": "2026-02-28 21:21:26.238 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 422 - 2.07ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:39.086093", "seconds": 243519.086093}, "exception": null, "extra": {"request_id": "a6d971d5-4b5e-4526-b40f-3b7bfb414669", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 422, "duration_ms": 2.07, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 422 - 2.07ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:26.238924+00:00", "timestamp": 1772313686.238924}}}
{"text": "2026-02-28 21:21:26.446 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/register\n", "record": {"elapsed": {"repr": "2 days, 19:38:39.293880", "seconds": 243519.29388}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "json_invalid", "loc": ["body", 72], "msg": "JSON decode error", "input": {}, "ctx": {"error": "Invalid \\escape"}}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/register", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:26.446711+00:00", "timestamp": 1772313686.446711}}}
{"text": "2026-02-28 21:21:26.447 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 422 - 2.03ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:39.294745", "seconds": 243519.294745}, "exception": null, "extra": {"request_id": "6814b9d7-85a0-4129-adc0-1818af1ab621", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 422, "duration_ms": 2.03, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 422 - 2.03ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:26.447576+00:00", "timestamp": 1772313686.447576}}}
{"text": "2026-02-28 21:21:39.715 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 201 - 352.99ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:52.562884", "seconds": 243532.562884}, "exception": null, "extra": {"request_id": "87681790-7bbe-46c2-ad72-2beea9757ff9", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 201, "duration_ms": 352.99, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 201 - 352.99ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:39.715715+00:00", "timestamp": 1772313699.715715}}}
{"text": "2026-02-28 21:21:40.223 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 201 - 290.48ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:53.070944", "seconds": 243533.070944}, "exception": null, "extra": {"request_id": "bea5c672-cc9c-46d9-9c9c-6b7baa38a6d9", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 201, "duration_ms": 290.48, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 201 - 290.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:40.223775+00:00", "timestamp": 1772313700.223775}}}
{"text": "2026-02-28 21:21:40.726 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 201 - 290.26ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:53.573378", "seconds": 243533.573378}, "exception": null, "extra": {"request_id": "0802c561-f8cc-462f-b40d-5841d348c05e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 201, "duration_ms": 290.26, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 201 - 290.26ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:40.726209+00:00", "timestamp": 1772313700.726209}}}
{"text": "2026-02-28 21:21:41.222 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 201 - 290.28ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:54.069357", "seconds": 243534.069357}, "exception": null, "extra": {"request_id": "41ea9214-d509-4759-8685-13ad336fb752", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 201, "duration_ms": 290.28, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 201 - 290.28ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:41.222188+00:00", "timestamp": 1772313701.222188}}}
{"text": "2026-02-28 21:21:41.719 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 201 - 290.25ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:54.566174", "seconds": 243534.566174}, "exception": null, "extra": {"request_id": "751fc87d-6a86-4e71-85e3-697d71cbc1aa", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 201, "duration_ms": 290.25, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 201 - 290.25ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:41.719005+00:00", "timestamp": 1772313701.719005}}}
{"text": "2026-02-28 21:21:42.222 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/register - 201 - 291.4ms\n", "record": {"elapsed": {"repr": "2 days, 19:38:55.069335", "seconds": 243535.069335}, "exception": null, "extra": {"request_id": "938ae2d1-73a6-42e6-bc19-8bf7fc4bf4a6", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/register", "status_code": 201, "duration_ms": 291.4, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/register - 201 - 291.4ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:21:42.222166+00:00", "timestamp": 1772313702.222166}}}
{"text": "2026-02-28 21:27:52.105 | INFO     | app.main:log_requests:103 - GET /api/v1/docs - 200 - 0.39ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:05.025969", "seconds": 243905.025969}, "exception": null, "extra": {"request_id": "28b15685-5554-45e5-8306-ff8746ef8b9a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs", "status_code": 200, "duration_ms": 0.39, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs - 200 - 0.39ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:27:52.105799+00:00", "timestamp": 1772314072.105799}}}
{"text": "2026-02-28 21:27:52.161 | INFO     | app.main:log_requests:103 - GET /api/v1/docs - 200 - 0.36ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:05.081440", "seconds": 243905.08144}, "exception": null, "extra": {"request_id": "f53ec97d-0504-418b-8780-3063f963c03b", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs", "status_code": 200, "duration_ms": 0.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs - 200 - 0.36ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:27:52.161270+00:00", "timestamp": 1772314072.16127}}}
{"text": "2026-02-28 21:27:52.445 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/openapi.json - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:05.365689", "seconds": 243905.365689}, "exception": null, "extra": {"request_id": "21482044-d070-4d13-9465-6c7fd3e642cf", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/openapi.json", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/openapi.json - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:27:52.445519+00:00", "timestamp": 1772314072.445519}}}
{"text": "2026-02-28 21:27:52.490 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/openapi.json - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:05.410587", "seconds": 243905.410587}, "exception": null, "extra": {"request_id": "f83735dc-fdd6-415c-aa02-39a4ba51a983", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/openapi.json", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/openapi.json - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:27:52.490417+00:00", "timestamp": 1772314072.490417}}}
{"text": "2026-02-28 21:27:54.237 | INFO     | app.main:log_requests:103 - GET /api/v1/redoc - 200 - 0.32ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:07.157785", "seconds": 243907.157785}, "exception": null, "extra": {"request_id": "8840917a-853a-4851-a748-ad147fb68d58", "user_id": "anonymous", "method": "GET", "path": "/api/v1/redoc", "status_code": 200, "duration_ms": 0.32, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/redoc - 200 - 0.32ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:27:54.237615+00:00", "timestamp": 1772314074.237615}}}
{"text": "2026-02-28 21:27:54.309 | INFO     | app.main:log_requests:103 - GET /api/v1/redoc - 200 - 0.28ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:07.229496", "seconds": 243907.229496}, "exception": null, "extra": {"request_id": "85eaa7f0-1343-4bd9-9b40-b483e8ed5ff2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/redoc", "status_code": 200, "duration_ms": 0.28, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/redoc - 200 - 0.28ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:27:54.309326+00:00", "timestamp": 1772314074.309326}}}
{"text": "2026-02-28 21:27:58.651 | INFO     | app.main:log_requests:103 - GET /api/v1/redoc - 200 - 0.31ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:11.571568", "seconds": 243911.571568}, "exception": null, "extra": {"request_id": "4b2138e8-d0e2-498a-80d9-338cce73e30a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/redoc", "status_code": 200, "duration_ms": 0.31, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/redoc - 200 - 0.31ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:27:58.651398+00:00", "timestamp": 1772314078.651398}}}
{"text": "2026-02-28 21:27:59.157 | INFO     | app.main:log_requests:103 - GET /api/v1/redoc - 200 - 0.3ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:12.077786", "seconds": 243912.077786}, "exception": null, "extra": {"request_id": "74f50ddc-6053-480c-9d93-096a8f59e896", "user_id": "anonymous", "method": "GET", "path": "/api/v1/redoc", "status_code": 200, "duration_ms": 0.3, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/redoc - 200 - 0.3ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:27:59.157616+00:00", "timestamp": 1772314079.157616}}}
{"text": "2026-02-28 21:28:15.905 | INFO     | app.main:log_requests:103 - GET /api/v1/openapi.json - 200 - 35.3ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:28.825399", "seconds": 243928.825399}, "exception": null, "extra": {"request_id": "68013ea9-26e2-494d-b9ea-06d242c27197", "user_id": "anonymous", "method": "GET", "path": "/api/v1/openapi.json", "status_code": 200, "duration_ms": 35.3, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/openapi.json - 200 - 35.3ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:28:15.905229+00:00", "timestamp": 1772314095.905229}}}
{"text": "2026-02-28 21:28:15.960 | INFO     | app.main:log_requests:103 - GET /api/v1/openapi.json - 200 - 1.09ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:28.808131", "seconds": 243928.808131}, "exception": null, "extra": {"request_id": "f617d4fb-3222-4cf4-ab54-051ebc586218", "user_id": "anonymous", "method": "GET", "path": "/api/v1/openapi.json", "status_code": 200, "duration_ms": 1.09, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/openapi.json - 200 - 1.09ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:28:15.960962+00:00", "timestamp": 1772314095.960962}}}
{"text": "2026-02-28 21:28:35.515 | INFO     | app.main:log_requests:103 - GET /api/v1/docs - 200 - 0.37ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:48.435633", "seconds": 243948.435633}, "exception": null, "extra": {"request_id": "0f0e01ec-9d80-457a-a510-959c1b238071", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs", "status_code": 200, "duration_ms": 0.37, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs - 200 - 0.37ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:28:35.515463+00:00", "timestamp": 1772314115.515463}}}
{"text": "2026-02-28 21:28:35.686 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/openapi.json - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "2 days, 19:45:48.606844", "seconds": 243948.606844}, "exception": null, "extra": {"request_id": "4cd8e628-0f52-4c85-b3e1-74e2362f181c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/openapi.json", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/openapi.json - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734160404512, "name": "MainThread"}, "time": {"repr": "2026-02-28 21:28:35.686674+00:00", "timestamp": 1772314115.686674}}}
{"text": "2026-02-28 22:17:51.410 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.046278", "seconds": 1.046278}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:17:51.410443+00:00", "timestamp": 1772317071.410443}}}
{"text": "2026-02-28 22:17:51.410 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.106620", "seconds": 1.10662}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:17:51.410316+00:00", "timestamp": 1772317071.410316}}}
{"text": "2026-02-28 22:17:51.411 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.046861", "seconds": 1.046861}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:17:51.411026+00:00", "timestamp": 1772317071.411026}}}
{"text": "2026-02-28 22:17:51.411 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.107332", "seconds": 1.107332}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:17:51.411028+00:00", "timestamp": 1772317071.411028}}}
{"text": "2026-02-28 22:17:51.551 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.187488", "seconds": 1.187488}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:17:51.551653+00:00", "timestamp": 1772317071.551653}}}
{"text": "2026-02-28 22:17:51.551 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.247957", "seconds": 1.247957}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:17:51.551653+00:00", "timestamp": 1772317071.551653}}}
{"text": "2026-02-28 22:17:51.552 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.188315", "seconds": 1.188315}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:17:51.552480+00:00", "timestamp": 1772317071.55248}}}
{"text": "2026-02-28 22:17:51.552 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.248833", "seconds": 1.248833}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:17:51.552529+00:00", "timestamp": 1772317071.552529}}}
{"text": "2026-02-28 22:21:55.546 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 360.68ms\n", "record": {"elapsed": {"repr": "0:04:05.182317", "seconds": 245.182317}, "exception": null, "extra": {"request_id": "ed84db6f-1fec-411d-aaed-bfae513ec378", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 360.68, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 360.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:21:55.546482+00:00", "timestamp": 1772317315.546482}}}
{"text": "2026-02-28 22:21:55.634 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 8.44ms\n", "record": {"elapsed": {"repr": "0:04:05.270804", "seconds": 245.270804}, "exception": null, "extra": {"request_id": "d8e31efe-6d5d-4a6b-9fd3-9292fc3bc8a2", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 8.44, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 8.44ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:21:55.634969+00:00", "timestamp": 1772317315.634969}}}
{"text": "2026-02-28 22:21:55.686 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.98ms\n", "record": {"elapsed": {"repr": "0:04:05.322369", "seconds": 245.322369}, "exception": null, "extra": {"request_id": "2c967a32-8851-4fa8-b2ea-4fa3b8355c1f", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.98, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.98ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:21:55.686534+00:00", "timestamp": 1772317315.686534}}}
{"text": "2026-02-28 22:21:55.715 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 73.52ms\n", "record": {"elapsed": {"repr": "0:04:05.411494", "seconds": 245.411494}, "exception": null, "extra": {"request_id": "beddac19-6863-40f9-9c51-f1f7a95aa649", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 73.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 73.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:21:55.715190+00:00", "timestamp": 1772317315.71519}}}
{"text": "2026-02-28 22:21:55.782 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 21.36ms\n", "record": {"elapsed": {"repr": "0:04:05.418265", "seconds": 245.418265}, "exception": null, "extra": {"request_id": "a6a313a0-62e1-4551-a936-a27a273815be", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 21.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 21.36ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:21:55.782430+00:00", "timestamp": 1772317315.78243}}}
{"text": "2026-02-28 22:21:57.241 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 1.86ms\n", "record": {"elapsed": {"repr": "0:04:06.937520", "seconds": 246.93752}, "exception": null, "extra": {"request_id": "1ddf6fb7-3b61-43e1-9977-e3dfe5d39d2e", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 1.86, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 1.86ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:21:57.241216+00:00", "timestamp": 1772317317.241216}}}
{"text": "2026-02-28 22:22:01.892 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials. 2 attempt(s) remaining.\n", "record": {"elapsed": {"repr": "0:04:11.588646", "seconds": 251.588646}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials. 2 attempt(s) remaining.", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:22:01.892342+00:00", "timestamp": 1772317321.892342}}}
{"text": "2026-02-28 22:22:01.893 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 293.35ms\n", "record": {"elapsed": {"repr": "0:04:11.589339", "seconds": 251.589339}, "exception": null, "extra": {"request_id": "191bb48b-3689-4587-9ca2-334ed745f82c", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 293.35, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 293.35ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:22:01.893035+00:00", "timestamp": 1772317321.893035}}}
{"text": "2026-02-28 22:23:47.849 | INFO     | app.main:log_requests:103 - GET /api/v1/docs - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "0:05:57.546089", "seconds": 357.546089}, "exception": null, "extra": {"request_id": "9cb09f2e-6f26-424c-aa19-d14593770a70", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:23:47.849785+00:00", "timestamp": 1772317427.849785}}}
{"text": "2026-02-28 22:23:48.024 | INFO     | app.main:log_requests:103 - GET /api/v1/redoc - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "0:05:57.720616", "seconds": 357.720616}, "exception": null, "extra": {"request_id": "c618ac5b-84cc-41b4-b202-63531e38d964", "user_id": "anonymous", "method": "GET", "path": "/api/v1/redoc", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/redoc - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:23:48.024312+00:00", "timestamp": 1772317428.024312}}}
{"text": "2026-02-28 22:23:48.200 | INFO     | app.main:log_requests:103 - GET /api/v1/openapi.json - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "0:05:57.896623", "seconds": 357.896623}, "exception": null, "extra": {"request_id": "95453484-6f41-4bef-b590-8fdfbdfaea0a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/openapi.json", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/openapi.json - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:23:48.200319+00:00", "timestamp": 1772317428.200319}}}
{"text": "2026-02-28 22:23:48.357 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/docs - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "0:05:58.053530", "seconds": 358.05353}, "exception": null, "extra": {"request_id": "e351d4b4-309a-49ee-b5e3-f535d1da3146", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/docs", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/docs - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:23:48.357226+00:00", "timestamp": 1772317428.357226}}}
{"text": "2026-02-28 22:23:48.519 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/openapi.json - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "0:05:58.215831", "seconds": 358.215831}, "exception": null, "extra": {"request_id": "6f44ab2a-2a8d-41cf-9594-770074310dfc", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/openapi.json", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/openapi.json - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:23:48.519527+00:00", "timestamp": 1772317428.519527}}}
{"text": "2026-02-28 22:24:01.774 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "0:06:11.410086", "seconds": 371.410086}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:01.774251+00:00", "timestamp": 1772317441.774251}}}
{"text": "2026-02-28 22:24:01.774 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.07ms\n", "record": {"elapsed": {"repr": "0:06:11.410788", "seconds": 371.410788}, "exception": null, "extra": {"request_id": "d80ab562-8b33-45bd-b176-ed270f69d122", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.07, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.07ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:01.774953+00:00", "timestamp": 1772317441.774953}}}
{"text": "2026-02-28 22:24:01.981 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/auth/login - 404 - 0.36ms\n", "record": {"elapsed": {"repr": "0:06:11.677653", "seconds": 371.677653}, "exception": null, "extra": {"request_id": "8c283ca5-0cba-4943-95db-f35f1fdf1693", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/auth/login", "status_code": 404, "duration_ms": 0.36, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/auth/login - 404 - 0.36ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:01.981349+00:00", "timestamp": 1772317441.981349}}}
{"text": "2026-02-28 22:24:05.607 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "0:06:15.304185", "seconds": 375.304185}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:05.607881+00:00", "timestamp": 1772317445.607881}}}
{"text": "2026-02-28 22:24:05.608 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 3.77ms\n", "record": {"elapsed": {"repr": "0:06:15.304837", "seconds": 375.304837}, "exception": null, "extra": {"request_id": "a02ca87c-7a67-4dec-9a8b-efdbd30f57d8", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 3.77, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 3.77ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:05.608533+00:00", "timestamp": 1772317445.608533}}}
{"text": "2026-02-28 22:24:05.831 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "0:06:15.528279", "seconds": 375.528279}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:05.831975+00:00", "timestamp": 1772317445.831975}}}
{"text": "2026-02-28 22:24:05.832 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.95ms\n", "record": {"elapsed": {"repr": "0:06:15.529154", "seconds": 375.529154}, "exception": null, "extra": {"request_id": "27dda04e-7be3-488d-8c01-f0bc07513cb6", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.95, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.95ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:05.832850+00:00", "timestamp": 1772317445.83285}}}
{"text": "2026-02-28 22:24:06.032 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "0:06:15.729264", "seconds": 375.729264}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.032960+00:00", "timestamp": 1772317446.03296}}}
{"text": "2026-02-28 22:24:06.033 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 5.22ms\n", "record": {"elapsed": {"repr": "0:06:15.730154", "seconds": 375.730154}, "exception": null, "extra": {"request_id": "bcd4e01e-6966-44e3-a324-9e742e8b1ed5", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 5.22, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 5.22ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.033850+00:00", "timestamp": 1772317446.03385}}}
{"text": "2026-02-28 22:24:06.230 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "0:06:15.927075", "seconds": 375.927075}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.230771+00:00", "timestamp": 1772317446.230771}}}
{"text": "2026-02-28 22:24:06.231 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 5.3ms\n", "record": {"elapsed": {"repr": "0:06:15.927963", "seconds": 375.927963}, "exception": null, "extra": {"request_id": "faf31d5b-6d44-4779-8c07-99221d018f95", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 5.3, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 5.3ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.231659+00:00", "timestamp": 1772317446.231659}}}
{"text": "2026-02-28 22:24:06.423 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "0:06:16.119674", "seconds": 376.119674}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.423370+00:00", "timestamp": 1772317446.42337}}}
{"text": "2026-02-28 22:24:06.424 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.77ms\n", "record": {"elapsed": {"repr": "0:06:16.120543", "seconds": 376.120543}, "exception": null, "extra": {"request_id": "bd39e413-7cb7-4520-8725-2cea6533da11", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.77, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.77ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.424239+00:00", "timestamp": 1772317446.424239}}}
{"text": "2026-02-28 22:24:06.604 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 429 - 1.53ms\n", "record": {"elapsed": {"repr": "0:06:16.301021", "seconds": 376.301021}, "exception": null, "extra": {"request_id": "f4a9c9b4-e28f-4361-8324-dbdef1c5d451", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 429, "duration_ms": 1.53, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 429 - 1.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.604717+00:00", "timestamp": 1772317446.604717}}}
{"text": "2026-02-28 22:24:06.785 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "0:06:16.421131", "seconds": 376.421131}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.785296+00:00", "timestamp": 1772317446.785296}}}
{"text": "2026-02-28 22:24:06.786 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 5.52ms\n", "record": {"elapsed": {"repr": "0:06:16.422083", "seconds": 376.422083}, "exception": null, "extra": {"request_id": "3a10a807-ef5a-4680-a1e8-9e1ef97865dc", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 5.52, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 5.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.786248+00:00", "timestamp": 1772317446.786248}}}
{"text": "2026-02-28 22:24:06.937 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials\n", "record": {"elapsed": {"repr": "0:06:16.573713", "seconds": 376.573713}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.937878+00:00", "timestamp": 1772317446.937878}}}
{"text": "2026-02-28 22:24:06.938 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 4.2ms\n", "record": {"elapsed": {"repr": "0:06:16.574583", "seconds": 376.574583}, "exception": null, "extra": {"request_id": "931022d3-0675-4909-8897-b5f8b6240489", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 4.2, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 4.2ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:24:06.938748+00:00", "timestamp": 1772317446.938748}}}
{"text": "2026-02-28 22:25:02.192 | INFO     | app.main:log_requests:103 - HEAD /api/v1/auth/login - 405 - 0.32ms\n", "record": {"elapsed": {"repr": "0:07:11.888866", "seconds": 431.888866}, "exception": null, "extra": {"request_id": "53fcfb83-8575-45d0-a017-43584ab78d46", "user_id": "anonymous", "method": "HEAD", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.32, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "HEAD /api/v1/auth/login - 405 - 0.32ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:02.192562+00:00", "timestamp": 1772317502.192562}}}
{"text": "2026-02-28 22:25:14.061 | INFO     | app.main:log_requests:103 - PUT /api/v1/auth/login - 405 - 0.49ms\n", "record": {"elapsed": {"repr": "0:07:23.757342", "seconds": 443.757342}, "exception": null, "extra": {"request_id": "fe2e535e-eb8a-40c6-8217-c7780680184d", "user_id": "anonymous", "method": "PUT", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "PUT /api/v1/auth/login - 405 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:14.061038+00:00", "timestamp": 1772317514.061038}}}
{"text": "2026-02-28 22:25:14.207 | INFO     | app.main:log_requests:103 - DELETE /api/v1/auth/login - 405 - 0.42ms\n", "record": {"elapsed": {"repr": "0:07:23.903932", "seconds": 443.903932}, "exception": null, "extra": {"request_id": "0f69425e-1ee0-4683-82cd-3a7c97c97b6b", "user_id": "anonymous", "method": "DELETE", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.42, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "DELETE /api/v1/auth/login - 405 - 0.42ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:14.207628+00:00", "timestamp": 1772317514.207628}}}
{"text": "2026-02-28 22:25:20.550 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/auth/login\n", "record": {"elapsed": {"repr": "0:07:30.186778", "seconds": 450.186778}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "value_error", "loc": ["body", "username"], "msg": "Value error, Invalid characters or patterns detected", "input": "<script>alert(1)</script>", "ctx": {"error": "Invalid characters or patterns detected"}, "url": "https://errors.pydantic.dev/2.5/v/value_error"}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/auth/login", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:20.550943+00:00", "timestamp": 1772317520.550943}}}
{"text": "2026-02-28 22:25:20.551 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 422 - 2.31ms\n", "record": {"elapsed": {"repr": "0:07:30.187662", "seconds": 450.187662}, "exception": null, "extra": {"request_id": "f8e772ff-ef9b-4561-a54c-0fb9617ad0e7", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 422, "duration_ms": 2.31, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 422 - 2.31ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:20.551827+00:00", "timestamp": 1772317520.551827}}}
{"text": "2026-02-28 22:25:20.698 | INFO     | app.main:log_requests:103 - GET /api/v1/<script>alert(1)</script> - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "0:07:30.334602", "seconds": 450.334602}, "exception": null, "extra": {"request_id": "9373d2d5-2bc9-4c60-a0f0-340e7bebabf0", "user_id": "anonymous", "method": "GET", "path": "/api/v1/<script>alert(1)</script>", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/<script>alert(1)</script> - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:20.698767+00:00", "timestamp": 1772317520.698767}}}
{"text": "2026-02-28 22:25:23.660 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 403 - 0.74ms\n", "record": {"elapsed": {"repr": "0:07:33.356895", "seconds": 453.356895}, "exception": null, "extra": {"request_id": "5378dfbc-cdb7-44e6-befb-12400df0c161", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 403, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 403 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:23.660591+00:00", "timestamp": 1772317523.660591}}}
{"text": "2026-02-28 22:25:23.800 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.38ms\n", "record": {"elapsed": {"repr": "0:07:33.435986", "seconds": 453.435986}, "exception": null, "extra": {"request_id": "6d1158ce-cfd4-4753-8bac-ddec307d09dc", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.38, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.38ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:23.800151+00:00", "timestamp": 1772317523.800151}}}
{"text": "2026-02-28 22:25:23.964 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.33ms\n", "record": {"elapsed": {"repr": "0:07:33.660505", "seconds": 453.660505}, "exception": null, "extra": {"request_id": "037bfd6e-fc5c-406d-8581-e9ab7c621a48", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.33, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.33ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:23.964201+00:00", "timestamp": 1772317523.964201}}}
{"text": "2026-02-28 22:25:26.844 | INFO     | app.main:log_requests:103 - GET /ws/terminal/1 - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "0:07:36.479976", "seconds": 456.479976}, "exception": null, "extra": {"request_id": "f4f313ac-419f-451f-a873-c20321dc4a3e", "user_id": "anonymous", "method": "GET", "path": "/ws/terminal/1", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /ws/terminal/1 - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 22:25:26.844141+00:00", "timestamp": 1772317526.844141}}}
{"text": "2026-02-28 23:07:07.415 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 329.3ms\n", "record": {"elapsed": {"repr": "0:49:17.051536", "seconds": 2957.051536}, "exception": null, "extra": {"request_id": "59962bdb-a0b9-4b56-99d0-c5a3677fe36a", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 329.3, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 329.3ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:07:07.415701+00:00", "timestamp": 1772320027.415701}}}
{"text": "2026-02-28 23:07:07.556 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 5.01ms\n", "record": {"elapsed": {"repr": "0:49:17.192244", "seconds": 2957.192244}, "exception": null, "extra": {"request_id": "e0db1ab2-06e6-4868-9217-6c6bcf34ebf1", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 5.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 5.01ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:07:07.556409+00:00", "timestamp": 1772320027.556409}}}
{"text": "2026-02-28 23:07:07.561 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 8.94ms\n", "record": {"elapsed": {"repr": "0:49:17.257794", "seconds": 2957.257794}, "exception": null, "extra": {"request_id": "8f9780e4-0779-46fd-9c95-81122b5c7937", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 8.94, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 8.94ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:07:07.561490+00:00", "timestamp": 1772320027.56149}}}
{"text": "2026-02-28 23:07:08.831 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 1.84ms\n", "record": {"elapsed": {"repr": "0:49:18.527987", "seconds": 2958.527987}, "exception": null, "extra": {"request_id": "a5e5b817-ca79-4e03-a71d-1c181fdd7c0d", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 1.84, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 1.84ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:07:08.831683+00:00", "timestamp": 1772320028.831683}}}
{"text": "2026-02-28 23:07:08.851 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 1.77ms\n", "record": {"elapsed": {"repr": "0:49:18.547482", "seconds": 2958.547482}, "exception": null, "extra": {"request_id": "6e2611f6-70dd-4930-aacf-2bda0903748f", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 1.77, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 1.77ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:07:08.851178+00:00", "timestamp": 1772320028.851178}}}
{"text": "2026-02-28 23:07:13.621 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials. 2 attempt(s) remaining.\n", "record": {"elapsed": {"repr": "0:49:23.257459", "seconds": 2963.257459}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials. 2 attempt(s) remaining.", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:07:13.621624+00:00", "timestamp": 1772320033.621624}}}
{"text": "2026-02-28 23:07:13.622 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 317.05ms\n", "record": {"elapsed": {"repr": "0:49:23.258149", "seconds": 2963.258149}, "exception": null, "extra": {"request_id": "46e3704b-d509-4908-afea-4f8796b3515b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 317.05, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 317.05ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:07:13.622314+00:00", "timestamp": 1772320033.622314}}}
{"text": "2026-02-28 23:10:33.537 | INFO     | app.main:log_requests:103 - GET /api/v1/docs - 404 - 0.5ms\n", "record": {"elapsed": {"repr": "0:52:43.173461", "seconds": 3163.173461}, "exception": null, "extra": {"request_id": "75372ad2-60b2-46d7-87c9-50a3f0f74c3d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs", "status_code": 404, "duration_ms": 0.5, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs - 404 - 0.5ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:10:33.537626+00:00", "timestamp": 1772320233.537626}}}
{"text": "2026-02-28 23:10:36.160 | INFO     | app.main:log_requests:103 - GET /api/v1/openapi.json - 404 - 0.5ms\n", "record": {"elapsed": {"repr": "0:52:45.796323", "seconds": 3165.796323}, "exception": null, "extra": {"request_id": "8c9d751d-17ae-4728-8c07-a76ff1f8665a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/openapi.json", "status_code": 404, "duration_ms": 0.5, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/openapi.json - 404 - 0.5ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:10:36.160488+00:00", "timestamp": 1772320236.160488}}}
{"text": "2026-02-28 23:10:37.536 | INFO     | app.main:log_requests:103 - GET /api/v1/redoc - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "0:52:47.172086", "seconds": 3167.172086}, "exception": null, "extra": {"request_id": "4eb1cd3b-5ba7-4c34-8b87-5be0c58d063d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/redoc", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/redoc - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:10:37.536251+00:00", "timestamp": 1772320237.536251}}}
{"text": "2026-02-28 23:42:16.736 | INFO     | app.main:log_requests:103 - GET /api/v1/docs - 404 - 0.48ms\n", "record": {"elapsed": {"repr": "1:24:26.432788", "seconds": 5066.432788}, "exception": null, "extra": {"request_id": "be038a9f-fe58-48b8-a1af-4ecc7cfd9846", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs", "status_code": 404, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs - 404 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:42:16.736484+00:00", "timestamp": 1772322136.736484}}}
{"text": "2026-02-28 23:42:17.843 | INFO     | app.main:log_requests:103 - GET /api/v1/openapi.json - 404 - 0.51ms\n", "record": {"elapsed": {"repr": "1:24:27.539477", "seconds": 5067.539477}, "exception": null, "extra": {"request_id": "21b4f02a-a21f-4d29-8f9f-7e35ac5bc102", "user_id": "anonymous", "method": "GET", "path": "/api/v1/openapi.json", "status_code": 404, "duration_ms": 0.51, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/openapi.json - 404 - 0.51ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:42:17.843173+00:00", "timestamp": 1772322137.843173}}}
{"text": "2026-02-28 23:42:18.948 | INFO     | app.main:log_requests:103 - GET /api/v1/redoc - 404 - 0.48ms\n", "record": {"elapsed": {"repr": "1:24:28.644904", "seconds": 5068.644904}, "exception": null, "extra": {"request_id": "978bdfd7-b69b-4881-9166-7b351e8c0b40", "user_id": "anonymous", "method": "GET", "path": "/api/v1/redoc", "status_code": 404, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/redoc - 404 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:42:18.948600+00:00", "timestamp": 1772322138.9486}}}
{"text": "2026-02-28 23:42:25.750 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/login - 405 - 0.42ms\n", "record": {"elapsed": {"repr": "1:24:35.446893", "seconds": 5075.446893}, "exception": null, "extra": {"request_id": "74ba7117-4904-4e9e-a90f-cd51ec0f7c08", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/login", "status_code": 405, "duration_ms": 0.42, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/login - 405 - 0.42ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:42:25.750589+00:00", "timestamp": 1772322145.750589}}}
{"text": "2026-02-28 23:42:26.826 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/auth/login - 404 - 0.48ms\n", "record": {"elapsed": {"repr": "1:24:36.522584", "seconds": 5076.522584}, "exception": null, "extra": {"request_id": "2f7fb086-6aa5-4c5a-929e-7fd373b437b9", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/auth/login", "status_code": 404, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "curl/8.5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/auth/login - 404 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:42:26.826280+00:00", "timestamp": 1772322146.82628}}}
{"text": "2026-02-28 23:43:10.893 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 328.44ms\n", "record": {"elapsed": {"repr": "1:25:20.590027", "seconds": 5120.590027}, "exception": null, "extra": {"request_id": "39cc785b-65ab-41e5-aa9a-9377d5651d0f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 328.44, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 328.44ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:43:10.893723+00:00", "timestamp": 1772322190.893723}}}
{"text": "2026-02-28 23:43:10.962 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 4.01ms\n", "record": {"elapsed": {"repr": "1:25:20.658917", "seconds": 5120.658917}, "exception": null, "extra": {"request_id": "1be3e7b7-7345-44cd-acc3-2131a71e99fe", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 4.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 4.01ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:43:10.962613+00:00", "timestamp": 1772322190.962613}}}
{"text": "2026-02-28 23:43:10.969 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 4.27ms\n", "record": {"elapsed": {"repr": "1:25:20.605642", "seconds": 5120.605642}, "exception": null, "extra": {"request_id": "fb89c264-3f39-4a31-b48f-a83e2c8001b9", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 4.27, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 4.27ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:43:10.969807+00:00", "timestamp": 1772322190.969807}}}
{"text": "2026-02-28 23:43:12.032 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 1.66ms\n", "record": {"elapsed": {"repr": "1:25:21.668500", "seconds": 5121.6685}, "exception": null, "extra": {"request_id": "aef3a108-24b1-4748-958e-1cdce85c6dda", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 1.66, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 1.66ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:43:12.032665+00:00", "timestamp": 1772322192.032665}}}
{"text": "2026-02-28 23:55:00.781 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 323.05ms\n", "record": {"elapsed": {"repr": "1:37:10.477713", "seconds": 5830.477713}, "exception": null, "extra": {"request_id": "a0d70bac-ae9a-4eab-8a5e-14594cc997d3", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 323.05, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 323.05ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:55:00.781409+00:00", "timestamp": 1772322900.781409}}}
{"text": "2026-02-28 23:55:00.845 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 6.25ms\n", "record": {"elapsed": {"repr": "1:37:10.541830", "seconds": 5830.54183}, "exception": null, "extra": {"request_id": "9414831f-4b89-421a-81ce-f8e0502a3762", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 6.25, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 6.25ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:55:00.845526+00:00", "timestamp": 1772322900.845526}}}
{"text": "2026-02-28 23:55:00.844 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 2.51ms\n", "record": {"elapsed": {"repr": "1:37:10.480738", "seconds": 5830.480738}, "exception": null, "extra": {"request_id": "b7b7f018-58fd-43a5-aa86-5731ae93143b", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 2.51, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 2.51ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:55:00.844903+00:00", "timestamp": 1772322900.844903}}}
{"text": "2026-02-28 23:55:02.112 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 1.61ms\n", "record": {"elapsed": {"repr": "1:37:11.748344", "seconds": 5831.748344}, "exception": null, "extra": {"request_id": "ffcdd9ca-602e-4672-ba80-114d0752bbb5", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 1.61, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 1.61ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-02-28 23:55:02.112509+00:00", "timestamp": 1772322902.112509}}}
{"text": "2026-03-01 03:21:58.953 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "5:04:08.649781", "seconds": 18248.649781}, "exception": null, "extra": {"request_id": "dc0b1ad3-eb12-4fc1-a1d2-bdbe1c418e90", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-01 03:21:58.953477+00:00", "timestamp": 1772335318.953477}}}
{"text": "2026-03-01 13:08:54.187 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.48ms\n", "record": {"elapsed": {"repr": "14:51:03.884097", "seconds": 53463.884097}, "exception": null, "extra": {"request_id": "ff388b1a-dc6e-4811-ad80-1f6609bb44cb", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-01 13:08:54.187793+00:00", "timestamp": 1772370534.187793}}}
{"text": "2026-03-02 00:12:04.765 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.35ms\n", "record": {"elapsed": {"repr": "1 day, 1:54:14.462238", "seconds": 93254.462238}, "exception": null, "extra": {"request_id": "19884fed-6f43-4358-9297-b83b43e91d0a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.35, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.35ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-02 00:12:04.765934+00:00", "timestamp": 1772410324.765934}}}
{"text": "2026-03-02 00:12:05.320 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.35ms\n", "record": {"elapsed": {"repr": "1 day, 1:54:15.017066", "seconds": 93255.017066}, "exception": null, "extra": {"request_id": "1b0f7af7-19ae-48a8-8ddb-a799a86331a5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.35, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.35ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-02 00:12:05.320762+00:00", "timestamp": 1772410325.320762}}}
{"text": "2026-03-02 19:55:16.664 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.47ms\n", "record": {"elapsed": {"repr": "1 day, 21:37:26.360632", "seconds": 164246.360632}, "exception": null, "extra": {"request_id": "eb429f19-8c35-4bf6-82b4-0e8ed129be8e", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.47, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.47ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-02 19:55:16.664328+00:00", "timestamp": 1772481316.664328}}}
{"text": "2026-03-02 20:57:42.483 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.5ms\n", "record": {"elapsed": {"repr": "1 day, 22:39:52.179873", "seconds": 167992.179873}, "exception": null, "extra": {"request_id": "51fbad11-b7af-4c54-b831-26859d825343", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.5, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.5ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-02 20:57:42.483569+00:00", "timestamp": 1772485062.483569}}}
{"text": "2026-03-03 02:52:31.620 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.48ms\n", "record": {"elapsed": {"repr": "2 days, 4:34:41.256828", "seconds": 189281.256828}, "exception": null, "extra": {"request_id": "587dbf3d-3c41-4e11-abe8-aef4121187c5", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-03 02:52:31.620993+00:00", "timestamp": 1772506351.620993}}}
{"text": "2026-03-03 09:13:03.468 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.34ms\n", "record": {"elapsed": {"repr": "2 days, 10:55:13.104778", "seconds": 212113.104778}, "exception": null, "extra": {"request_id": "e56c8bff-3674-4050-a4ab-8adafca4357c", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.34, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.34ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-03 09:13:03.468943+00:00", "timestamp": 1772529183.468943}}}
{"text": "2026-03-03 11:11:47.143 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.51ms\n", "record": {"elapsed": {"repr": "2 days, 12:53:56.839398", "seconds": 219236.839398}, "exception": null, "extra": {"request_id": "6788f0c3-6425-44f0-a387-9aae5666fd84", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.51, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.51ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-03 11:11:47.143094+00:00", "timestamp": 1772536307.143094}}}
{"text": "2026-03-03 12:50:05.730 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.34ms\n", "record": {"elapsed": {"repr": "2 days, 14:32:15.426677", "seconds": 225135.426677}, "exception": null, "extra": {"request_id": "8ea0be75-ad88-4ca7-869d-f44d2df4c9e4", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.34, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.34ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-03 12:50:05.730373+00:00", "timestamp": 1772542205.730373}}}
{"text": "2026-03-03 15:40:25.052 | INFO     | app.main:log_requests:103 - GET /.git/HEAD - 404 - 0.35ms\n", "record": {"elapsed": {"repr": "2 days, 17:22:34.749207", "seconds": 235354.749207}, "exception": null, "extra": {"request_id": "11315bed-b70d-4435-a34f-5f1431f1c139", "user_id": "anonymous", "method": "GET", "path": "/.git/HEAD", "status_code": 404, "duration_ms": 0.35, "ip": "172.18.0.1", "user_agent": "Fuzz Faster U Fool v2.1.0-dev"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /.git/HEAD - 404 - 0.35ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-03 15:40:25.052903+00:00", "timestamp": 1772552425.052903}}}
{"text": "2026-03-03 23:00:11.917 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.48ms\n", "record": {"elapsed": {"repr": "3 days, 0:42:21.613489", "seconds": 261741.613489}, "exception": null, "extra": {"request_id": "7320e120-88d6-4d47-aa55-a967afff720c", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-03 23:00:11.917185+00:00", "timestamp": 1772578811.917185}}}
{"text": "2026-03-04 02:02:24.952 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.5ms\n", "record": {"elapsed": {"repr": "3 days, 3:44:34.648903", "seconds": 272674.648903}, "exception": null, "extra": {"request_id": "c9cf2afe-7d90-4ddb-94e3-c48cc32432d2", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.5, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.5ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-04 02:02:24.952599+00:00", "timestamp": 1772589744.952599}}}
{"text": "2026-03-04 02:59:51.126 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.5ms\n", "record": {"elapsed": {"repr": "3 days, 4:42:00.823002", "seconds": 276120.823002}, "exception": null, "extra": {"request_id": "29cb3a98-8b11-4ff6-a8b0-7dfb36fec9d1", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.5, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.5ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-04 02:59:51.126698+00:00", "timestamp": 1772593191.126698}}}
{"text": "2026-03-04 02:59:51.147 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "3 days, 4:42:00.843508", "seconds": 276120.843508}, "exception": null, "extra": {"request_id": "a5ffa05b-7751-4aae-b2f3-c8aa9da8cd3c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-04 02:59:51.147204+00:00", "timestamp": 1772593191.147204}}}
{"text": "2026-03-04 02:59:54.183 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "3 days, 4:42:03.819401", "seconds": 276123.819401}, "exception": null, "extra": {"request_id": "8a924592-850b-4a60-8f26-49aedb252410", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-04 02:59:54.183566+00:00", "timestamp": 1772593194.183566}}}
{"text": "2026-03-04 05:33:12.204 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.34ms\n", "record": {"elapsed": {"repr": "3 days, 7:15:21.900501", "seconds": 285321.900501}, "exception": null, "extra": {"request_id": "96786b84-a4ec-4998-ac3a-8139274668fe", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.34, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.34ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-04 05:33:12.204197+00:00", "timestamp": 1772602392.204197}}}
{"text": "2026-03-04 06:35:57.136 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.46ms\n", "record": {"elapsed": {"repr": "3 days, 8:18:06.832902", "seconds": 289086.832902}, "exception": null, "extra": {"request_id": "12dc3524-ee4a-4070-8d49-25e88f2a77c6", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.46, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.46ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-04 06:35:57.136598+00:00", "timestamp": 1772606157.136598}}}
{"text": "2026-03-04 18:20:50.250 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.33ms\n", "record": {"elapsed": {"repr": "3 days, 20:02:59.946575", "seconds": 331379.946575}, "exception": null, "extra": {"request_id": "84f6c936-b80f-48b5-b835-1d206c9ab9b7", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.33, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.33ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-04 18:20:50.250271+00:00", "timestamp": 1772648450.250271}}}
{"text": "2026-03-04 22:34:28.487 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.35ms\n", "record": {"elapsed": {"repr": "4 days, 0:16:38.184282", "seconds": 346598.184282}, "exception": null, "extra": {"request_id": "734422dd-8fae-4407-98dd-b81b1c96bf0d", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.35, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.35ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-04 22:34:28.487978+00:00", "timestamp": 1772663668.487978}}}
{"text": "2026-03-04 22:53:44.018 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.46ms\n", "record": {"elapsed": {"repr": "4 days, 0:35:53.714787", "seconds": 347753.714787}, "exception": null, "extra": {"request_id": "496c2de5-0dfb-4070-94d2-571d79879482", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.46, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.46ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-04 22:53:44.018483+00:00", "timestamp": 1772664824.018483}}}
{"text": "2026-03-05 06:38:00.185 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.36ms\n", "record": {"elapsed": {"repr": "4 days, 8:20:09.881614", "seconds": 375609.881614}, "exception": null, "extra": {"request_id": "459a8892-476d-459a-97bc-1cf2608475c2", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.36ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-05 06:38:00.185310+00:00", "timestamp": 1772692680.18531}}}
{"text": "2026-03-05 08:37:06.835 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.51ms\n", "record": {"elapsed": {"repr": "4 days, 10:19:16.531878", "seconds": 382756.531878}, "exception": null, "extra": {"request_id": "b5fc44ff-ff58-4a49-9a3f-2240ca775742", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.51, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.51ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-05 08:37:06.835574+00:00", "timestamp": 1772699826.835574}}}
{"text": "2026-03-05 13:21:17.201 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.46ms\n", "record": {"elapsed": {"repr": "4 days, 15:03:26.837639", "seconds": 399806.837639}, "exception": null, "extra": {"request_id": "5b978898-4ba3-4610-9f92-d1936f8bda19", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.46, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.46ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-05 13:21:17.201804+00:00", "timestamp": 1772716877.201804}}}
{"text": "2026-03-05 20:37:32.692 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.36ms\n", "record": {"elapsed": {"repr": "4 days, 22:19:42.388389", "seconds": 425982.388389}, "exception": null, "extra": {"request_id": "07e6b876-4edb-44a5-81a6-4de8d05cf65c", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.36ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-05 20:37:32.692085+00:00", "timestamp": 1772743052.692085}}}
{"text": "2026-03-06 12:37:46.805 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.36ms\n", "record": {"elapsed": {"repr": "5 days, 14:19:56.501956", "seconds": 483596.501956}, "exception": null, "extra": {"request_id": "b39c9bdf-60d3-402b-9f78-6cb5dfce7c46", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.36ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-06 12:37:46.805652+00:00", "timestamp": 1772800666.805652}}}
{"text": "2026-03-06 12:38:01.382 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.35ms\n", "record": {"elapsed": {"repr": "5 days, 14:20:11.018139", "seconds": 483611.018139}, "exception": null, "extra": {"request_id": "4b4ea3c5-159b-4272-a860-4e938406aea7", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.35, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.35ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-06 12:38:01.382304+00:00", "timestamp": 1772800681.382304}}}
{"text": "2026-03-06 15:28:20.795 | INFO     | app.main:log_requests:103 - POST /api/v1 - 404 - 0.36ms\n", "record": {"elapsed": {"repr": "5 days, 17:10:30.491827", "seconds": 493830.491827}, "exception": null, "extra": {"request_id": "a73237a7-1bb9-412e-a122-73f3d0fcff8e", "user_id": "anonymous", "method": "POST", "path": "/api/v1", "status_code": 404, "duration_ms": 0.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1 - 404 - 0.36ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-06 15:28:20.795523+00:00", "timestamp": 1772810900.795523}}}
{"text": "2026-03-07 03:42:34.298 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.36ms\n", "record": {"elapsed": {"repr": "6 days, 5:24:43.994322", "seconds": 537883.994322}, "exception": null, "extra": {"request_id": "f9a89e89-a22f-41bb-bd1d-617c91dc0c72", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.36ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-07 03:42:34.298018+00:00", "timestamp": 1772854954.298018}}}
{"text": "2026-03-07 18:40:55.312 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.48ms\n", "record": {"elapsed": {"repr": "6 days, 20:23:05.008846", "seconds": 591785.008846}, "exception": null, "extra": {"request_id": "2a5a3fbf-4bf1-4c26-8ed3-cfd4434bea30", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-07 18:40:55.312542+00:00", "timestamp": 1772908855.312542}}}
{"text": "2026-03-07 18:40:55.383 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.47ms\n", "record": {"elapsed": {"repr": "6 days, 20:23:05.080233", "seconds": 591785.080233}, "exception": null, "extra": {"request_id": "2394e6ac-e478-46f7-9310-9aebf7f9e72e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.47, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.47ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-07 18:40:55.383929+00:00", "timestamp": 1772908855.383929}}}
{"text": "2026-03-07 23:34:58.574 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "7 days, 1:17:08.270987", "seconds": 609428.270987}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:34:58.574683+00:00", "timestamp": 1772926498.574683}}}
{"text": "2026-03-07 23:34:58.579 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "7 days, 1:17:08.214950", "seconds": 609428.21495}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:34:58.579115+00:00", "timestamp": 1772926498.579115}}}
{"text": "2026-03-07 23:34:58.597 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "7 days, 1:17:08.233572", "seconds": 609428.233572}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:34:58.597737+00:00", "timestamp": 1772926498.597737}}}
{"text": "2026-03-07 23:34:58.627 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "7 days, 1:17:08.323633", "seconds": 609428.323633}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:34:58.627329+00:00", "timestamp": 1772926498.627329}}}
{"text": "2026-03-07 23:34:58.683 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "7 days, 1:17:08.318939", "seconds": 609428.318939}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:34:58.683104+00:00", "timestamp": 1772926498.683104}}}
{"text": "2026-03-07 23:34:58.699 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "7 days, 1:17:08.395331", "seconds": 609428.395331}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735870402592, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:34:58.699027+00:00", "timestamp": 1772926498.699027}}}
{"text": "2026-03-07 23:44:02.674 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.850515", "seconds": 1.850515}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:44:02.674952+00:00", "timestamp": 1772927042.674952}}}
{"text": "2026-03-07 23:44:02.676 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.818807", "seconds": 1.818807}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:44:02.676513+00:00", "timestamp": 1772927042.676513}}}
{"text": "2026-03-07 23:44:02.678 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.853678", "seconds": 1.853678}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:44:02.678115+00:00", "timestamp": 1772927042.678115}}}
{"text": "2026-03-07 23:44:02.678 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.820414", "seconds": 1.820414}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:44:02.678120+00:00", "timestamp": 1772927042.67812}}}
{"text": "2026-03-07 23:44:02.884 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:02.060416", "seconds": 2.060416}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:44:02.884853+00:00", "timestamp": 1772927042.884853}}}
{"text": "2026-03-07 23:44:02.885 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:02.027329", "seconds": 2.027329}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:44:02.885035+00:00", "timestamp": 1772927042.885035}}}
{"text": "2026-03-07 23:44:02.885 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:02.061330", "seconds": 2.06133}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:44:02.885767+00:00", "timestamp": 1772927042.885767}}}
{"text": "2026-03-07 23:44:02.885 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:02.028147", "seconds": 2.028147}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:44:02.885853+00:00", "timestamp": 1772927042.885853}}}
{"text": "2026-03-07 23:46:02.036 | INFO     | app.main:log_requests:103 - GET /docs - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "0:02:01.178578", "seconds": 121.178578}, "exception": null, "extra": {"request_id": "36802620-516a-49a0-94db-d733e36adf66", "user_id": "anonymous", "method": "GET", "path": "/docs", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /docs - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-07 23:46:02.036284+00:00", "timestamp": 1772927162.036284}}}
{"text": "2026-03-08 00:04:45.771 | ERROR    | app.core.exceptions:sqlalchemy_exception_handler:140 - Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column users.subscription_tier does not exist\n[SQL: SELECT users.id, users.username, users.email, users.hashed_password, users.is_active, users.is_superuser, users.failed_login_attempts, users.recent_events, users.subscription_tier, users.stripe_customer_id, users.stripe_subscription_id, users.referral_code, users.referred_by, users.session_ttl_hours, users.created_at, users.updated_at \nFROM users \nWHERE users.username = $1::VARCHAR]\n[parameters: ('npastrami',)]\n(Background on this error at: https://sqlalche.me/e/20/f405)\n", "record": {"elapsed": {"repr": "0:20:44.914289", "seconds": 1244.914289}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": "-", "duration_ms": "-", "error_type": "ProgrammingError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "sqlalchemy_exception_handler", "level": {"icon": "❌", "name": "ERROR", "no": 40}, "line": 140, "message": "Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column users.subscription_tier does not exist\n[SQL: SELECT users.id, users.username, users.email, users.hashed_password, users.is_active, users.is_superuser, users.failed_login_attempts, users.recent_events, users.subscription_tier, users.stripe_customer_id, users.stripe_subscription_id, users.referral_code, users.referred_by, users.session_ttl_hours, users.created_at, users.updated_at \nFROM users \nWHERE users.username = $1::VARCHAR]\n[parameters: ('npastrami',)]\n(Background on this error at: https://sqlalche.me/e/20/f405)", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:04:45.771995+00:00", "timestamp": 1772928285.771995}}}
{"text": "2026-03-08 00:04:45.773 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 500 - 253.12ms\n", "record": {"elapsed": {"repr": "0:20:44.915878", "seconds": 1244.915878}, "exception": null, "extra": {"request_id": "836aceed-6a80-4137-aed9-892b91b518d1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 500, "duration_ms": 253.12, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 500 - 253.12ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:04:45.773584+00:00", "timestamp": 1772928285.773584}}}
{"text": "2026-03-08 00:04:48.856 | ERROR    | app.core.exceptions:sqlalchemy_exception_handler:140 - Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column users.subscription_tier does not exist\n[SQL: SELECT users.id, users.username, users.email, users.hashed_password, users.is_active, users.is_superuser, users.failed_login_attempts, users.recent_events, users.subscription_tier, users.stripe_customer_id, users.stripe_subscription_id, users.referral_code, users.referred_by, users.session_ttl_hours, users.created_at, users.updated_at \nFROM users \nWHERE users.username = $1::VARCHAR]\n[parameters: ('npastrami',)]\n(Background on this error at: https://sqlalche.me/e/20/f405)\n", "record": {"elapsed": {"repr": "0:20:48.032507", "seconds": 1248.032507}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": "-", "duration_ms": "-", "error_type": "ProgrammingError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "sqlalchemy_exception_handler", "level": {"icon": "❌", "name": "ERROR", "no": 40}, "line": 140, "message": "Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column users.subscription_tier does not exist\n[SQL: SELECT users.id, users.username, users.email, users.hashed_password, users.is_active, users.is_superuser, users.failed_login_attempts, users.recent_events, users.subscription_tier, users.stripe_customer_id, users.stripe_subscription_id, users.referral_code, users.referred_by, users.session_ttl_hours, users.created_at, users.updated_at \nFROM users \nWHERE users.username = $1::VARCHAR]\n[parameters: ('npastrami',)]\n(Background on this error at: https://sqlalche.me/e/20/f405)", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:04:48.856944+00:00", "timestamp": 1772928288.856944}}}
{"text": "2026-03-08 00:04:48.858 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 500 - 56.07ms\n", "record": {"elapsed": {"repr": "0:20:48.033644", "seconds": 1248.033644}, "exception": null, "extra": {"request_id": "7f7bc7bb-71f7-48eb-b8ff-c12e6993f00c", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 500, "duration_ms": 56.07, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 500 - 56.07ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:04:48.858081+00:00", "timestamp": 1772928288.858081}}}
{"text": "2026-03-08 00:08:44.903 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 365.94ms\n", "record": {"elapsed": {"repr": "0:24:44.079165", "seconds": 1484.079165}, "exception": null, "extra": {"request_id": "f862954d-eefe-471e-b68c-530874c53289", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 365.94, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 365.94ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:08:44.903602+00:00", "timestamp": 1772928524.903602}}}
{"text": "2026-03-08 00:08:45.017 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 10.32ms\n", "record": {"elapsed": {"repr": "0:24:44.159821", "seconds": 1484.159821}, "exception": null, "extra": {"request_id": "ed5951a9-8ce4-4e63-b5af-5c039366310d", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 10.32, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 10.32ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:08:45.017527+00:00", "timestamp": 1772928525.017527}}}
{"text": "2026-03-08 00:08:45.019 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 21.83ms\n", "record": {"elapsed": {"repr": "0:24:44.194585", "seconds": 1484.194585}, "exception": null, "extra": {"request_id": "9ee87237-ed98-40d7-b5dc-701c8dc31821", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 21.83, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 21.83ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:08:45.019022+00:00", "timestamp": 1772928525.019022}}}
{"text": "2026-03-08 00:08:45.025 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 16.08ms\n", "record": {"elapsed": {"repr": "0:24:44.167335", "seconds": 1484.167335}, "exception": null, "extra": {"request_id": "895a7b23-eaf8-4e6e-8db3-970aabc8d43d", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 16.08, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 16.08ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:08:45.025041+00:00", "timestamp": 1772928525.025041}}}
{"text": "2026-03-08 00:08:45.026 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 26.71ms\n", "record": {"elapsed": {"repr": "0:24:44.168775", "seconds": 1484.168775}, "exception": null, "extra": {"request_id": "ddcb68ba-dd89-485e-9fb2-e8bf31e5e51f", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 26.71, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 26.71ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:08:45.026481+00:00", "timestamp": 1772928525.026481}}}
{"text": "2026-03-08 00:08:45.028 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 19.51ms\n", "record": {"elapsed": {"repr": "0:24:44.204057", "seconds": 1484.204057}, "exception": null, "extra": {"request_id": "af7d3813-bf5b-40cd-8da9-c358e4b0a328", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 19.51, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 19.51ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:08:45.028494+00:00", "timestamp": 1772928525.028494}}}
{"text": "2026-03-08 00:08:45.032 | ERROR    | app.core.exceptions:sqlalchemy_exception_handler:140 - Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: SELECT bot_presets.id, bot_presets.user_id, bot_presets.created_by_username, bot_presets.name, bot_presets.strategy_config, bot_presets.created_at, bot_presets.updated_at \nFROM bot_presets ORDER BY bot_presets.updated_at DESC]\n(Background on this error at: https://sqlalche.me/e/20/f405)\n", "record": {"elapsed": {"repr": "0:24:44.208048", "seconds": 1484.208048}, "exception": null, "extra": {"request_id": "unknown", "user_id": "1", "method": "-", "path": "/api/v1/terminal/auto/presets", "status_code": "-", "duration_ms": "-", "error_type": "ProgrammingError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "sqlalchemy_exception_handler", "level": {"icon": "❌", "name": "ERROR", "no": 40}, "line": 140, "message": "Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: SELECT bot_presets.id, bot_presets.user_id, bot_presets.created_by_username, bot_presets.name, bot_presets.strategy_config, bot_presets.created_at, bot_presets.updated_at \nFROM bot_presets ORDER BY bot_presets.updated_at DESC]\n(Background on this error at: https://sqlalche.me/e/20/f405)", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:08:45.032485+00:00", "timestamp": 1772928525.032485}}}
{"text": "2026-03-08 00:08:45.036 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 500 - 28.92ms\n", "record": {"elapsed": {"repr": "0:24:44.211693", "seconds": 1484.211693}, "exception": null, "extra": {"request_id": "2180e55d-66c2-4aeb-96ec-36c84ad86b43", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 500, "duration_ms": 28.92, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 500 - 28.92ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:08:45.036130+00:00", "timestamp": 1772928525.03613}}}
{"text": "2026-03-08 00:08:45.125 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 111.53ms\n", "record": {"elapsed": {"repr": "0:24:44.301046", "seconds": 1484.301046}, "exception": null, "extra": {"request_id": "d19939b0-d1bd-4ac9-9781-7c0a10286070", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 111.53, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 111.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:08:45.125483+00:00", "timestamp": 1772928525.125483}}}
{"text": "2026-03-08 00:10:07.092 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/auth/login - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "0:26:06.268558", "seconds": 1566.268558}, "exception": null, "extra": {"request_id": "3fdec304-b5e0-427f-a445-c1b2db782fd8", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/auth/login", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/auth/login - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:10:07.092995+00:00", "timestamp": 1772928607.092995}}}
{"text": "2026-03-08 00:30:40.656 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 6.58ms\n", "record": {"elapsed": {"repr": "0:46:39.798337", "seconds": 2799.798337}, "exception": null, "extra": {"request_id": "d4295e8d-3036-40fa-b7c5-e9e584182aee", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 6.58, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 6.58ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:40.656043+00:00", "timestamp": 1772929840.656043}}}
{"text": "2026-03-08 00:30:49.335 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 321.92ms\n", "record": {"elapsed": {"repr": "0:46:48.510690", "seconds": 2808.51069}, "exception": null, "extra": {"request_id": "2241a6be-71a9-49d2-a122-5fd533ce55ec", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 321.92, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 321.92ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:49.335127+00:00", "timestamp": 1772929849.335127}}}
{"text": "2026-03-08 00:30:49.417 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 8.85ms\n", "record": {"elapsed": {"repr": "0:46:48.560053", "seconds": 2808.560053}, "exception": null, "extra": {"request_id": "5b72df7d-f5f5-46d1-be71-7da21902bf9e", "user_id": "12", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 8.85, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 8.85ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:49.417759+00:00", "timestamp": 1772929849.417759}}}
{"text": "2026-03-08 00:30:49.419 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 8.58ms\n", "record": {"elapsed": {"repr": "0:46:48.561708", "seconds": 2808.561708}, "exception": null, "extra": {"request_id": "3ee7faa3-a1b2-4bd6-8aa8-1541d66b7234", "user_id": "12", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 8.58, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 8.58ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:49.419414+00:00", "timestamp": 1772929849.419414}}}
{"text": "2026-03-08 00:30:49.425 | ERROR    | app.core.exceptions:sqlalchemy_exception_handler:140 - Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: SELECT bot_presets.id, bot_presets.user_id, bot_presets.created_by_username, bot_presets.name, bot_presets.strategy_config, bot_presets.created_at, bot_presets.updated_at \nFROM bot_presets ORDER BY bot_presets.updated_at DESC]\n(Background on this error at: https://sqlalche.me/e/20/f405)\n", "record": {"elapsed": {"repr": "0:46:48.567880", "seconds": 2808.56788}, "exception": null, "extra": {"request_id": "unknown", "user_id": "12", "method": "-", "path": "/api/v1/terminal/auto/presets", "status_code": "-", "duration_ms": "-", "error_type": "ProgrammingError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "sqlalchemy_exception_handler", "level": {"icon": "❌", "name": "ERROR", "no": 40}, "line": 140, "message": "Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: SELECT bot_presets.id, bot_presets.user_id, bot_presets.created_by_username, bot_presets.name, bot_presets.strategy_config, bot_presets.created_at, bot_presets.updated_at \nFROM bot_presets ORDER BY bot_presets.updated_at DESC]\n(Background on this error at: https://sqlalche.me/e/20/f405)", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:49.425586+00:00", "timestamp": 1772929849.425586}}}
{"text": "2026-03-08 00:30:49.427 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 500 - 23.36ms\n", "record": {"elapsed": {"repr": "0:46:48.569544", "seconds": 2808.569544}, "exception": null, "extra": {"request_id": "697df1ab-c969-443e-8346-9b4c71f9c0a1", "user_id": "12", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 500, "duration_ms": 23.36, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 500 - 23.36ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:49.427250+00:00", "timestamp": 1772929849.42725}}}
{"text": "2026-03-08 00:30:49.442 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.33ms\n", "record": {"elapsed": {"repr": "0:46:48.584846", "seconds": 2808.584846}, "exception": null, "extra": {"request_id": "eb49db9f-bca1-40db-9eba-8e08cd9f661c", "user_id": "12", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 2.33, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.33ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:49.442552+00:00", "timestamp": 1772929849.442552}}}
{"text": "2026-03-08 00:30:49.450 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 45.48ms\n", "record": {"elapsed": {"repr": "0:46:48.625611", "seconds": 2808.625611}, "exception": null, "extra": {"request_id": "7d0aa610-da36-4d4f-b026-eefe8a9ed134", "user_id": "12", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 45.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 45.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:49.450048+00:00", "timestamp": 1772929849.450048}}}
{"text": "2026-03-08 00:30:49.455 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 53.02ms\n", "record": {"elapsed": {"repr": "0:46:48.630647", "seconds": 2808.630647}, "exception": null, "extra": {"request_id": "56128ee5-9967-417b-9e89-b5fbe8891f3a", "user_id": "12", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 53.02, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 53.02ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:49.455084+00:00", "timestamp": 1772929849.455084}}}
{"text": "2026-03-08 00:30:49.462 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 53.4ms\n", "record": {"elapsed": {"repr": "0:46:48.637740", "seconds": 2808.63774}, "exception": null, "extra": {"request_id": "538af2f4-a54a-4d24-8743-b8cfdcbdab36", "user_id": "12", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 53.4, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 53.4ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:49.462177+00:00", "timestamp": 1772929849.462177}}}
{"text": "2026-03-08 00:30:52.061 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 2.46ms\n", "record": {"elapsed": {"repr": "0:46:51.237172", "seconds": 2811.237172}, "exception": null, "extra": {"request_id": "39c03533-eacf-43f1-b393-120b0650a89c", "user_id": "12", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 2.46, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 2.46ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:52.061609+00:00", "timestamp": 1772929852.061609}}}
{"text": "2026-03-08 00:30:58.723 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 303.46ms\n", "record": {"elapsed": {"repr": "0:46:57.866139", "seconds": 2817.866139}, "exception": null, "extra": {"request_id": "6884b288-f77e-440b-a0a4-fee31ad1840f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 303.46, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 303.46ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:58.723845+00:00", "timestamp": 1772929858.723845}}}
{"text": "2026-03-08 00:30:58.787 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 4.42ms\n", "record": {"elapsed": {"repr": "0:46:57.930232", "seconds": 2817.930232}, "exception": null, "extra": {"request_id": "ea8847a9-13fc-4a2e-9790-bcbedb30c554", "user_id": "15", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 4.42, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 4.42ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:58.787938+00:00", "timestamp": 1772929858.787938}}}
{"text": "2026-03-08 00:30:58.801 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 5.33ms\n", "record": {"elapsed": {"repr": "0:46:57.944235", "seconds": 2817.944235}, "exception": null, "extra": {"request_id": "38b9bd24-deb2-4166-81e6-c4afdb36fb11", "user_id": "15", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 5.33, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 5.33ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:58.801941+00:00", "timestamp": 1772929858.801941}}}
{"text": "2026-03-08 00:30:58.803 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 9.22ms\n", "record": {"elapsed": {"repr": "0:46:57.945352", "seconds": 2817.945352}, "exception": null, "extra": {"request_id": "8b64228a-6784-4540-8e21-1af2a9c2ece2", "user_id": "15", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 9.22, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 9.22ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:58.803058+00:00", "timestamp": 1772929858.803058}}}
{"text": "2026-03-08 00:30:58.804 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 6.49ms\n", "record": {"elapsed": {"repr": "0:46:57.979818", "seconds": 2817.979818}, "exception": null, "extra": {"request_id": "177d0f3e-8a01-4816-be8d-5507dd48ccc3", "user_id": "15", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 6.49, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 6.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:58.804255+00:00", "timestamp": 1772929858.804255}}}
{"text": "2026-03-08 00:30:58.807 | ERROR    | app.core.exceptions:sqlalchemy_exception_handler:140 - Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: SELECT bot_presets.id, bot_presets.user_id, bot_presets.created_by_username, bot_presets.name, bot_presets.strategy_config, bot_presets.created_at, bot_presets.updated_at \nFROM bot_presets ORDER BY bot_presets.updated_at DESC]\n(Background on this error at: https://sqlalche.me/e/20/f405)\n", "record": {"elapsed": {"repr": "0:46:57.982795", "seconds": 2817.982795}, "exception": null, "extra": {"request_id": "unknown", "user_id": "15", "method": "-", "path": "/api/v1/terminal/auto/presets", "status_code": "-", "duration_ms": "-", "error_type": "ProgrammingError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "sqlalchemy_exception_handler", "level": {"icon": "❌", "name": "ERROR", "no": 40}, "line": 140, "message": "Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: SELECT bot_presets.id, bot_presets.user_id, bot_presets.created_by_username, bot_presets.name, bot_presets.strategy_config, bot_presets.created_at, bot_presets.updated_at \nFROM bot_presets ORDER BY bot_presets.updated_at DESC]\n(Background on this error at: https://sqlalche.me/e/20/f405)", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:58.807232+00:00", "timestamp": 1772929858.807232}}}
{"text": "2026-03-08 00:30:58.808 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 9.01ms\n", "record": {"elapsed": {"repr": "0:46:57.983895", "seconds": 2817.983895}, "exception": null, "extra": {"request_id": "06e5bbfa-c64f-4b2d-85c9-e7a16b363383", "user_id": "15", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 9.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 9.01ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:58.808332+00:00", "timestamp": 1772929858.808332}}}
{"text": "2026-03-08 00:30:58.809 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 500 - 13.41ms\n", "record": {"elapsed": {"repr": "0:46:57.984889", "seconds": 2817.984889}, "exception": null, "extra": {"request_id": "fa530b92-f87a-4eba-b517-7712b4bbcb71", "user_id": "15", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 500, "duration_ms": 13.41, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 500 - 13.41ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:58.809326+00:00", "timestamp": 1772929858.809326}}}
{"text": "2026-03-08 00:30:58.829 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 31.15ms\n", "record": {"elapsed": {"repr": "0:46:57.971650", "seconds": 2817.97165}, "exception": null, "extra": {"request_id": "6da80ad2-5303-475f-8d16-489a2dbbc6d9", "user_id": "15", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 31.15, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 31.15ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 00:30:58.829356+00:00", "timestamp": 1772929858.829356}}}
{"text": "2026-03-08 01:59:45.071 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 401 - 1.85ms\n", "record": {"elapsed": {"repr": "2:15:44.213517", "seconds": 8144.213517}, "exception": null, "extra": {"request_id": "5f9c84cc-f1b5-4713-a080-1c945dfe7c0f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 401, "duration_ms": 1.85, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 401 - 1.85ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:45.071223+00:00", "timestamp": 1772935185.071223}}}
{"text": "2026-03-08 01:59:45.073 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 401 - 1.58ms\n", "record": {"elapsed": {"repr": "2:15:44.249530", "seconds": 8144.24953}, "exception": null, "extra": {"request_id": "7f082d11-c733-47a5-bc92-f182ae97b6a0", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 401, "duration_ms": 1.58, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 401 - 1.58ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:45.073967+00:00", "timestamp": 1772935185.073967}}}
{"text": "2026-03-08 01:59:50.776 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 316.98ms\n", "record": {"elapsed": {"repr": "2:15:49.918626", "seconds": 8149.918626}, "exception": null, "extra": {"request_id": "b4121bae-1f22-4d9f-b153-e69f9a329521", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 316.98, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 316.98ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:50.776332+00:00", "timestamp": 1772935190.776332}}}
{"text": "2026-03-08 01:59:50.863 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 18.18ms\n", "record": {"elapsed": {"repr": "2:15:50.039244", "seconds": 8150.039244}, "exception": null, "extra": {"request_id": "08749b1a-5ace-47b6-b765-f40704641924", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 18.18, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 18.18ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:50.863681+00:00", "timestamp": 1772935190.863681}}}
{"text": "2026-03-08 01:59:50.867 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 19.1ms\n", "record": {"elapsed": {"repr": "2:15:50.042939", "seconds": 8150.042939}, "exception": null, "extra": {"request_id": "e3220e1b-4ded-4561-a655-d8fab4e1c327", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 19.1, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 19.1ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:50.867376+00:00", "timestamp": 1772935190.867376}}}
{"text": "2026-03-08 01:59:50.892 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 48.68ms\n", "record": {"elapsed": {"repr": "2:15:50.034526", "seconds": 8150.034526}, "exception": null, "extra": {"request_id": "0d5f0c1b-ff99-4958-8939-d8961e2d304f", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 48.68, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 48.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:50.892232+00:00", "timestamp": 1772935190.892232}}}
{"text": "2026-03-08 01:59:50.903 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 57.13ms\n", "record": {"elapsed": {"repr": "2:15:50.079324", "seconds": 8150.079324}, "exception": null, "extra": {"request_id": "d3cac3f5-5178-45ff-995d-c0e166ffd4c8", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 57.13, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 57.13ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:50.903761+00:00", "timestamp": 1772935190.903761}}}
{"text": "2026-03-08 01:59:50.931 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 75.33ms\n", "record": {"elapsed": {"repr": "2:15:50.106846", "seconds": 8150.106846}, "exception": null, "extra": {"request_id": "faac9fd2-31f2-42b1-9b43-891ffaaab224", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 75.33, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 75.33ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:50.931283+00:00", "timestamp": 1772935190.931283}}}
{"text": "2026-03-08 01:59:50.935 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 87.04ms\n", "record": {"elapsed": {"repr": "2:15:50.077372", "seconds": 8150.077372}, "exception": null, "extra": {"request_id": "5d1e77b9-d0a6-4012-8b85-88182ab97b1f", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 87.04, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 87.04ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:50.935078+00:00", "timestamp": 1772935190.935078}}}
{"text": "2026-03-08 01:59:50.939 | ERROR    | app.core.exceptions:sqlalchemy_exception_handler:140 - Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: SELECT bot_presets.id, bot_presets.user_id, bot_presets.created_by_username, bot_presets.name, bot_presets.strategy_config, bot_presets.created_at, bot_presets.updated_at \nFROM bot_presets ORDER BY bot_presets.updated_at DESC]\n(Background on this error at: https://sqlalche.me/e/20/f405)\n", "record": {"elapsed": {"repr": "2:15:50.081614", "seconds": 8150.081614}, "exception": null, "extra": {"request_id": "unknown", "user_id": "1", "method": "-", "path": "/api/v1/terminal/auto/presets", "status_code": "-", "duration_ms": "-", "error_type": "ProgrammingError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "sqlalchemy_exception_handler", "level": {"icon": "❌", "name": "ERROR", "no": 40}, "line": 140, "message": "Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: SELECT bot_presets.id, bot_presets.user_id, bot_presets.created_by_username, bot_presets.name, bot_presets.strategy_config, bot_presets.created_at, bot_presets.updated_at \nFROM bot_presets ORDER BY bot_presets.updated_at DESC]\n(Background on this error at: https://sqlalche.me/e/20/f405)", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:50.939320+00:00", "timestamp": 1772935190.93932}}}
{"text": "2026-03-08 01:59:50.940 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 500 - 91.54ms\n", "record": {"elapsed": {"repr": "2:15:50.082518", "seconds": 8150.082518}, "exception": null, "extra": {"request_id": "c1d81445-9113-4642-807b-599cbaf0af6d", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 500, "duration_ms": 91.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 500 - 91.54ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 01:59:50.940224+00:00", "timestamp": 1772935190.940224}}}
{"text": "2026-03-08 02:03:12.872 | ERROR    | app.core.exceptions:sqlalchemy_exception_handler:140 - Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: INSERT INTO bot_presets (user_id, created_by_username, name, strategy_config) VALUES ($1::INTEGER, $2::VARCHAR, $3::VARCHAR, $4::JSON) RETURNING bot_presets.id, bot_presets.created_at, bot_presets.updated_at]\n[parameters: (1, 'npastrami', 'Poly-True Turbine MM', '{\"platform\": \"turbine\", \"num_markets\": 1, \"mode\": \"automated\", \"markets\": [\"BTC\"], \"turbine_asset\": \"BTC\", \"poly_market_type\": null, \"poly_asset\": nu ... (325 characters truncated) ... false, \"grid_mode\": false, \"price_feed\": \"poly_mid\", \"rolling_avg_window\": 0, \"rolling_avg_spread\": 10, \"grid_levels\": null, \"contract_increment\": 1}')]\n(Background on this error at: https://sqlalche.me/e/20/f405)\n", "record": {"elapsed": {"repr": "2:19:12.048051", "seconds": 8352.048051}, "exception": null, "extra": {"request_id": "unknown", "user_id": "1", "method": "-", "path": "/api/v1/terminal/auto/presets", "status_code": "-", "duration_ms": "-", "error_type": "ProgrammingError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "sqlalchemy_exception_handler", "level": {"icon": "❌", "name": "ERROR", "no": 40}, "line": 140, "message": "Database error: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedTableError'>: relation \"bot_presets\" does not exist\n[SQL: INSERT INTO bot_presets (user_id, created_by_username, name, strategy_config) VALUES ($1::INTEGER, $2::VARCHAR, $3::VARCHAR, $4::JSON) RETURNING bot_presets.id, bot_presets.created_at, bot_presets.updated_at]\n[parameters: (1, 'npastrami', 'Poly-True Turbine MM', '{\"platform\": \"turbine\", \"num_markets\": 1, \"mode\": \"automated\", \"markets\": [\"BTC\"], \"turbine_asset\": \"BTC\", \"poly_market_type\": null, \"poly_asset\": nu ... (325 characters truncated) ... false, \"grid_mode\": false, \"price_feed\": \"poly_mid\", \"rolling_avg_window\": 0, \"rolling_avg_spread\": 10, \"grid_levels\": null, \"contract_increment\": 1}')]\n(Background on this error at: https://sqlalche.me/e/20/f405)", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:03:12.872488+00:00", "timestamp": 1772935392.872488}}}
{"text": "2026-03-08 02:03:12.873 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/presets - 500 - 7.93ms\n", "record": {"elapsed": {"repr": "2:19:12.048864", "seconds": 8352.048864}, "exception": null, "extra": {"request_id": "47e43408-f9e9-463f-9f7a-8e41fa4d49f6", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/presets", "status_code": 500, "duration_ms": 7.93, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/presets - 500 - 7.93ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:03:12.873301+00:00", "timestamp": 1772935392.873301}}}
{"text": "2026-03-08 02:04:23.241 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/presets - 201 - 17.43ms\n", "record": {"elapsed": {"repr": "2:20:22.384004", "seconds": 8422.384004}, "exception": null, "extra": {"request_id": "c5ff8359-a6ef-4e86-b14e-a59985a273dd", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/presets", "status_code": 201, "duration_ms": 17.43, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/presets - 201 - 17.43ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:04:23.241710+00:00", "timestamp": 1772935463.24171}}}
{"text": "2026-03-08 02:04:23.310 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 5.35ms\n", "record": {"elapsed": {"repr": "2:20:22.453228", "seconds": 8422.453228}, "exception": null, "extra": {"request_id": "df4d753c-26cd-474d-b523-0f24068076d1", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 5.35, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 5.35ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:04:23.310934+00:00", "timestamp": 1772935463.310934}}}
{"text": "2026-03-08 02:04:31.957 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/terminal/auto/deploy\n", "record": {"elapsed": {"repr": "2:20:31.099642", "seconds": 8431.099642}, "exception": null, "extra": {"request_id": "unknown", "user_id": "1", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "value_error", "loc": ["body", "turbine_private_key"], "msg": "Value error, Turbine wallet private key is required", "input": null, "ctx": {"error": "Turbine wallet private key is required"}, "url": "https://errors.pydantic.dev/2.5/v/value_error"}, {"type": "value_error", "loc": ["body", "side_priority"], "msg": "Value error, side_priority must be one of: yes, no, expensive, cheap", "input": "none", "ctx": {"error": "side_priority must be one of: yes, no, expensive, cheap"}, "url": "https://errors.pydantic.dev/2.5/v/value_error"}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/terminal/auto/deploy", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:04:31.957348+00:00", "timestamp": 1772935471.957348}}}
{"text": "2026-03-08 02:04:31.958 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 422 - 3.66ms\n", "record": {"elapsed": {"repr": "2:20:31.100659", "seconds": 8431.100659}, "exception": null, "extra": {"request_id": "7c1c03ae-4edc-4488-b13f-8fdb36669804", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 422, "duration_ms": 3.66, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 422 - 3.66ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:04:31.958365+00:00", "timestamp": 1772935471.958365}}}
{"text": "2026-03-08 02:22:59.065 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "2:38:58.241383", "seconds": 9538.241383}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:22:59.065820+00:00", "timestamp": 1772936579.06582}}}
{"text": "2026-03-08 02:22:59.066 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "2:38:58.242287", "seconds": 9538.242287}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:22:59.066724+00:00", "timestamp": 1772936579.066724}}}
{"text": "2026-03-08 02:22:59.076 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "2:38:58.251975", "seconds": 9538.251975}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:22:59.076412+00:00", "timestamp": 1772936579.076412}}}
{"text": "2026-03-08 02:22:59.116 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "2:38:58.258305", "seconds": 9538.258305}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:22:59.116011+00:00", "timestamp": 1772936579.116011}}}
{"text": "2026-03-08 02:22:59.117 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "2:38:58.259397", "seconds": 9538.259397}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:22:59.117103+00:00", "timestamp": 1772936579.117103}}}
{"text": "2026-03-08 02:22:59.125 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "2:38:58.267846", "seconds": 9538.267846}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734746574880, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:22:59.125552+00:00", "timestamp": 1772936579.125552}}}
{"text": "2026-03-08 02:24:54.417 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:02.054369", "seconds": 2.054369}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:24:54.417082+00:00", "timestamp": 1772936694.417082}}}
{"text": "2026-03-08 02:24:54.416 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.991781", "seconds": 1.991781}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:24:54.416980+00:00", "timestamp": 1772936694.41698}}}
{"text": "2026-03-08 02:24:54.417 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:02.054904", "seconds": 2.054904}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:24:54.417617+00:00", "timestamp": 1772936694.417617}}}
{"text": "2026-03-08 02:24:54.417 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.992423", "seconds": 1.992423}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:24:54.417622+00:00", "timestamp": 1772936694.417622}}}
{"text": "2026-03-08 02:24:54.630 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:02.205728", "seconds": 2.205728}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:24:54.630927+00:00", "timestamp": 1772936694.630927}}}
{"text": "2026-03-08 02:24:54.630 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:02.268230", "seconds": 2.26823}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:24:54.630943+00:00", "timestamp": 1772936694.630943}}}
{"text": "2026-03-08 02:24:54.631 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:02.206578", "seconds": 2.206578}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:24:54.631777+00:00", "timestamp": 1772936694.631777}}}
{"text": "2026-03-08 02:24:54.631 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:02.269104", "seconds": 2.269104}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:24:54.631817+00:00", "timestamp": 1772936694.631817}}}
{"text": "2026-03-08 02:26:00.947 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 77.77ms\n", "record": {"elapsed": {"repr": "0:01:08.522362", "seconds": 68.522362}, "exception": null, "extra": {"request_id": "76501396-9211-4589-897f-725068aa48f4", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 77.77, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 77.77ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:26:00.947561+00:00", "timestamp": 1772936760.947561}}}
{"text": "2026-03-08 02:31:08.631 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 365.27ms\n", "record": {"elapsed": {"repr": "0:06:16.268764", "seconds": 376.268764}, "exception": null, "extra": {"request_id": "9e0726b0-b328-4244-8945-d1dd19244cb4", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 365.27, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 365.27ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:08.631477+00:00", "timestamp": 1772937068.631477}}}
{"text": "2026-03-08 02:31:08.758 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 47.12ms\n", "record": {"elapsed": {"repr": "0:06:16.333103", "seconds": 376.333103}, "exception": null, "extra": {"request_id": "ec329de7-c200-4c23-a3a0-4744d0080a55", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 47.12, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 47.12ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:08.758302+00:00", "timestamp": 1772937068.758302}}}
{"text": "2026-03-08 02:31:08.803 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 89.23ms\n", "record": {"elapsed": {"repr": "0:06:16.378168", "seconds": 376.378168}, "exception": null, "extra": {"request_id": "6e86c638-8fe3-4ad9-816b-c12f247381ef", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 89.23, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 89.23ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:08.803367+00:00", "timestamp": 1772937068.803367}}}
{"text": "2026-03-08 02:31:08.804 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 92.31ms\n", "record": {"elapsed": {"repr": "0:06:16.379441", "seconds": 376.379441}, "exception": null, "extra": {"request_id": "ff928aae-d4de-4161-9483-6c271f71b99a", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 92.31, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 92.31ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:08.804640+00:00", "timestamp": 1772937068.80464}}}
{"text": "2026-03-08 02:31:08.830 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 123.3ms\n", "record": {"elapsed": {"repr": "0:06:16.467445", "seconds": 376.467445}, "exception": null, "extra": {"request_id": "b80a42e2-a6f8-4bf3-bf08-6277842500e1", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 123.3, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 123.3ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:08.830158+00:00", "timestamp": 1772937068.830158}}}
{"text": "2026-03-08 02:31:08.847 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 132.65ms\n", "record": {"elapsed": {"repr": "0:06:16.484777", "seconds": 376.484777}, "exception": null, "extra": {"request_id": "7267dbb0-7de7-49a0-bdb9-38d974852f14", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 132.65, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 132.65ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:08.847490+00:00", "timestamp": 1772937068.84749}}}
{"text": "2026-03-08 02:31:08.849 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 135.78ms\n", "record": {"elapsed": {"repr": "0:06:16.486662", "seconds": 376.486662}, "exception": null, "extra": {"request_id": "c2e02c58-ffb2-4b32-9304-a25346e7d628", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 135.78, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 135.78ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:08.849375+00:00", "timestamp": 1772937068.849375}}}
{"text": "2026-03-08 02:31:08.862 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 150.62ms\n", "record": {"elapsed": {"repr": "0:06:16.500030", "seconds": 376.50003}, "exception": null, "extra": {"request_id": "07a1339b-3849-41ae-9249-5bf92c162dc9", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 150.62, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 150.62ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:08.862743+00:00", "timestamp": 1772937068.862743}}}
{"text": "2026-03-08 02:31:53.629 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/terminal/auto/deploy\n", "record": {"elapsed": {"repr": "0:07:01.266946", "seconds": 421.266946}, "exception": null, "extra": {"request_id": "unknown", "user_id": "1", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "value_error", "loc": ["body", "side_priority"], "msg": "Value error, side_priority must be one of: yes, no, expensive, cheap", "input": "none", "ctx": {"error": "side_priority must be one of: yes, no, expensive, cheap"}, "url": "https://errors.pydantic.dev/2.5/v/value_error"}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/terminal/auto/deploy", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:53.629659+00:00", "timestamp": 1772937113.629659}}}
{"text": "2026-03-08 02:31:53.630 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 422 - 4.32ms\n", "record": {"elapsed": {"repr": "0:07:01.268030", "seconds": 421.26803}, "exception": null, "extra": {"request_id": "895bb7b2-d525-4fe9-a6b7-f4d5babc53b8", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 422, "duration_ms": 4.32, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 422 - 4.32ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:31:53.630743+00:00", "timestamp": 1772937113.630743}}}
{"text": "2026-03-08 02:32:40.282 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 403 - 1.46ms\n", "record": {"elapsed": {"repr": "0:07:47.857768", "seconds": 467.857768}, "exception": null, "extra": {"request_id": "447d53b6-46e8-457a-aca5-65ab0822b5aa", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 403, "duration_ms": 1.46, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 403 - 1.46ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:32:40.282967+00:00", "timestamp": 1772937160.282967}}}
{"text": "2026-03-08 02:33:06.624 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials. 2 attempt(s) remaining.\n", "record": {"elapsed": {"repr": "0:08:14.261290", "seconds": 494.26129}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials. 2 attempt(s) remaining.", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:06.624003+00:00", "timestamp": 1772937186.624003}}}
{"text": "2026-03-08 02:33:06.624 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 332.99ms\n", "record": {"elapsed": {"repr": "0:08:14.262220", "seconds": 494.26222}, "exception": null, "extra": {"request_id": "9f5518d5-ff21-4401-8c2e-72cfa6ec715f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 332.99, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 332.99ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:06.624933+00:00", "timestamp": 1772937186.624933}}}
{"text": "2026-03-08 02:33:35.139 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 319.67ms\n", "record": {"elapsed": {"repr": "0:08:42.776590", "seconds": 522.77659}, "exception": null, "extra": {"request_id": "c5628a4b-5c11-4a6a-88e3-757138a38036", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 319.67, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 319.67ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:35.139303+00:00", "timestamp": 1772937215.139303}}}
{"text": "2026-03-08 02:33:35.360 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 204.5ms\n", "record": {"elapsed": {"repr": "0:08:42.997790", "seconds": 522.99779}, "exception": null, "extra": {"request_id": "7be998b2-fd1e-4ee7-b354-124a506f394c", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 204.5, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 204.5ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:35.360503+00:00", "timestamp": 1772937215.360503}}}
{"text": "2026-03-08 02:33:53.339 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 14.39ms\n", "record": {"elapsed": {"repr": "0:09:00.914447", "seconds": 540.914447}, "exception": null, "extra": {"request_id": "2f9e877d-4741-4022-85a0-65df919e0500", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 14.39, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 14.39ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.339646+00:00", "timestamp": 1772937233.339646}}}
{"text": "2026-03-08 02:33:53.342 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 5.61ms\n", "record": {"elapsed": {"repr": "0:09:00.917251", "seconds": 540.917251}, "exception": null, "extra": {"request_id": "3a760de3-4cf1-42f6-9458-7d04687bd0c6", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 5.61, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 5.61ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.342450+00:00", "timestamp": 1772937233.34245}}}
{"text": "2026-03-08 02:33:53.353 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 13.78ms\n", "record": {"elapsed": {"repr": "0:09:00.990428", "seconds": 540.990428}, "exception": null, "extra": {"request_id": "c51c6e0b-b64f-450f-89f2-f49e051ba211", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 13.78, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 13.78ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.353141+00:00", "timestamp": 1772937233.353141}}}
{"text": "2026-03-08 02:33:53.355 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 15.0ms\n", "record": {"elapsed": {"repr": "0:09:00.993106", "seconds": 540.993106}, "exception": null, "extra": {"request_id": "7d69dd05-9e8e-41d3-9ceb-929cce1ef917", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 15.0, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 15.0ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.355819+00:00", "timestamp": 1772937233.355819}}}
{"text": "2026-03-08 02:33:53.357 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 26.18ms\n", "record": {"elapsed": {"repr": "0:09:00.995051", "seconds": 540.995051}, "exception": null, "extra": {"request_id": "3424d0df-18c7-4923-9bfd-57082750d24f", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 26.18, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 26.18ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.357764+00:00", "timestamp": 1772937233.357764}}}
{"text": "2026-03-08 02:33:53.361 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 18.8ms\n", "record": {"elapsed": {"repr": "0:09:00.998326", "seconds": 540.998326}, "exception": null, "extra": {"request_id": "e70e434c-248e-4e02-a100-3db1b4ca72ee", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 18.8, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 18.8ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.361039+00:00", "timestamp": 1772937233.361039}}}
{"text": "2026-03-08 02:33:53.364 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 26.91ms\n", "record": {"elapsed": {"repr": "0:09:01.001502", "seconds": 541.001502}, "exception": null, "extra": {"request_id": "162d2fb8-454d-4f0e-950c-506b757f7adb", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 26.91, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 26.91ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.364215+00:00", "timestamp": 1772937233.364215}}}
{"text": "2026-03-08 02:33:53.396 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 2.33ms\n", "record": {"elapsed": {"repr": "0:09:01.033328", "seconds": 541.033328}, "exception": null, "extra": {"request_id": "e93174cb-0d7b-4e37-bdd8-0ca38a2f0ffd", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 2.33, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 2.33ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.396041+00:00", "timestamp": 1772937233.396041}}}
{"text": "2026-03-08 02:33:53.404 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 2.3ms\n", "record": {"elapsed": {"repr": "0:09:01.042203", "seconds": 541.042203}, "exception": null, "extra": {"request_id": "cf9b023e-86e5-4f71-b2c3-3a1f7920aa50", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 2.3, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 2.3ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.404916+00:00", "timestamp": 1772937233.404916}}}
{"text": "2026-03-08 02:33:53.414 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.24ms\n", "record": {"elapsed": {"repr": "0:09:01.051652", "seconds": 541.051652}, "exception": null, "extra": {"request_id": "8d56c4ec-a7e9-4f52-afe3-4be0c7604952", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 2.24, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.24ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.414365+00:00", "timestamp": 1772937233.414365}}}
{"text": "2026-03-08 02:33:53.429 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 5.33ms\n", "record": {"elapsed": {"repr": "0:09:01.066739", "seconds": 541.066739}, "exception": null, "extra": {"request_id": "d37650b3-f483-49f2-bf0c-318809df56c0", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 5.33, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 5.33ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.429452+00:00", "timestamp": 1772937233.429452}}}
{"text": "2026-03-08 02:33:53.436 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 10.01ms\n", "record": {"elapsed": {"repr": "0:09:01.073538", "seconds": 541.073538}, "exception": null, "extra": {"request_id": "10b4e334-5da1-42cb-b7d4-2f69ce12f2b9", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 10.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 10.01ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.436251+00:00", "timestamp": 1772937233.436251}}}
{"text": "2026-03-08 02:33:53.445 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 4.78ms\n", "record": {"elapsed": {"repr": "0:09:01.082714", "seconds": 541.082714}, "exception": null, "extra": {"request_id": "794e99b2-b976-4c10-8e7a-1b1a02316d36", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 4.78, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 4.78ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.445427+00:00", "timestamp": 1772937233.445427}}}
{"text": "2026-03-08 02:33:53.462 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 24.52ms\n", "record": {"elapsed": {"repr": "0:09:01.100259", "seconds": 541.100259}, "exception": null, "extra": {"request_id": "eacfb48a-eb40-46bc-a80c-f000c66107f8", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 24.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 24.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:33:53.462972+00:00", "timestamp": 1772937233.462972}}}
{"text": "2026-03-08 02:34:09.902 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 10.44ms\n", "record": {"elapsed": {"repr": "0:09:17.539990", "seconds": 557.53999}, "exception": null, "extra": {"request_id": "d9c484ec-7de2-4852-9746-240f089221b0", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 10.44, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 10.44ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.902703+00:00", "timestamp": 1772937249.902703}}}
{"text": "2026-03-08 02:34:09.904 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 7.56ms\n", "record": {"elapsed": {"repr": "0:09:17.541935", "seconds": 557.541935}, "exception": null, "extra": {"request_id": "cc74b5d6-34ca-4d5e-8d03-b0c4dd865864", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 7.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 7.56ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.904648+00:00", "timestamp": 1772937249.904648}}}
{"text": "2026-03-08 02:34:09.908 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 12.1ms\n", "record": {"elapsed": {"repr": "0:09:17.483735", "seconds": 557.483735}, "exception": null, "extra": {"request_id": "22da760c-40a8-4d86-8c25-fb7abc9a9c16", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 12.1, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 12.1ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.908934+00:00", "timestamp": 1772937249.908934}}}
{"text": "2026-03-08 02:34:09.910 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 12.01ms\n", "record": {"elapsed": {"repr": "0:09:17.485257", "seconds": 557.485257}, "exception": null, "extra": {"request_id": "fa813924-62dc-4a56-828b-7ab04974782c", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 12.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 12.01ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.910456+00:00", "timestamp": 1772937249.910456}}}
{"text": "2026-03-08 02:34:09.919 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 25.48ms\n", "record": {"elapsed": {"repr": "0:09:17.494581", "seconds": 557.494581}, "exception": null, "extra": {"request_id": "6a64cb2e-0faa-4a8a-8ef9-f096f7d244c6", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 25.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 25.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.919780+00:00", "timestamp": 1772937249.91978}}}
{"text": "2026-03-08 02:34:09.920 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 21.22ms\n", "record": {"elapsed": {"repr": "0:09:17.495745", "seconds": 557.495745}, "exception": null, "extra": {"request_id": "83111b88-9326-4cfa-98a5-3dd0c6257c32", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 21.22, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 21.22ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.920944+00:00", "timestamp": 1772937249.920944}}}
{"text": "2026-03-08 02:34:09.938 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 38.48ms\n", "record": {"elapsed": {"repr": "0:09:17.575305", "seconds": 557.575305}, "exception": null, "extra": {"request_id": "19037bee-bc62-42da-bebd-88aa5ce9c689", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 38.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 38.48ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.938018+00:00", "timestamp": 1772937249.938018}}}
{"text": "2026-03-08 02:34:09.966 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 2.12ms\n", "record": {"elapsed": {"repr": "0:09:17.604071", "seconds": 557.604071}, "exception": null, "extra": {"request_id": "f2de11ec-0de1-40b4-8fa0-d55e60680c12", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 2.12, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 2.12ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.966784+00:00", "timestamp": 1772937249.966784}}}
{"text": "2026-03-08 02:34:09.967 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 2.56ms\n", "record": {"elapsed": {"repr": "0:09:17.542725", "seconds": 557.542725}, "exception": null, "extra": {"request_id": "f485e4ba-0e7c-42b6-94fe-0ec36774f854", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 2.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 2.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.967924+00:00", "timestamp": 1772937249.967924}}}
{"text": "2026-03-08 02:34:09.980 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 1.98ms\n", "record": {"elapsed": {"repr": "0:09:17.617361", "seconds": 557.617361}, "exception": null, "extra": {"request_id": "f095ce28-d911-4de1-9157-b24a69ef5ff9", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 1.98, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 1.98ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.980074+00:00", "timestamp": 1772937249.980074}}}
{"text": "2026-03-08 02:34:09.983 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 3.86ms\n", "record": {"elapsed": {"repr": "0:09:17.558412", "seconds": 557.558412}, "exception": null, "extra": {"request_id": "8d98f114-23ba-48fb-89bd-008dda6b9a76", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 3.86, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 3.86ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.983611+00:00", "timestamp": 1772937249.983611}}}
{"text": "2026-03-08 02:34:09.987 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 9.38ms\n", "record": {"elapsed": {"repr": "0:09:17.562542", "seconds": 557.562542}, "exception": null, "extra": {"request_id": "3bb936f7-a885-420a-893d-66174ae5a410", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 9.38, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 9.38ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.987741+00:00", "timestamp": 1772937249.987741}}}
{"text": "2026-03-08 02:34:09.993 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 1.96ms\n", "record": {"elapsed": {"repr": "0:09:17.568670", "seconds": 557.56867}, "exception": null, "extra": {"request_id": "df739dd5-5b5b-4c6e-8a0b-4e20c60c58b4", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 1.96, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 1.96ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:09.993869+00:00", "timestamp": 1772937249.993869}}}
{"text": "2026-03-08 02:34:10.018 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 22.41ms\n", "record": {"elapsed": {"repr": "0:09:17.593044", "seconds": 557.593044}, "exception": null, "extra": {"request_id": "49d991ed-0de3-469c-91b1-77dc9ab9bc9b", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 22.41, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 22.41ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:34:10.018243+00:00", "timestamp": 1772937250.018243}}}
{"text": "2026-03-08 02:45:25.836 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "0:20:33.411742", "seconds": 1233.411742}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:45:25.836941+00:00", "timestamp": 1772937925.836941}}}
{"text": "2026-03-08 02:45:25.837 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "0:20:33.412642", "seconds": 1233.412642}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:45:25.837841+00:00", "timestamp": 1772937925.837841}}}
{"text": "2026-03-08 02:45:25.839 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "0:20:33.476297", "seconds": 1233.476297}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:45:25.839010+00:00", "timestamp": 1772937925.83901}}}
{"text": "2026-03-08 02:45:25.839 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "0:20:33.477201", "seconds": 1233.477201}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:45:25.839914+00:00", "timestamp": 1772937925.839914}}}
{"text": "2026-03-08 02:45:25.845 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "0:20:33.419963", "seconds": 1233.419963}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:45:25.845162+00:00", "timestamp": 1772937925.845162}}}
{"text": "2026-03-08 02:45:25.849 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "0:20:33.487262", "seconds": 1233.487262}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733147430944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:45:25.849975+00:00", "timestamp": 1772937925.849975}}}
{"text": "2026-03-08 02:47:36.940 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.557068", "seconds": 1.557068}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:47:36.940528+00:00", "timestamp": 1772938056.940528}}}
{"text": "2026-03-08 02:47:36.941 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.557657", "seconds": 1.557657}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:47:36.941117+00:00", "timestamp": 1772938056.941117}}}
{"text": "2026-03-08 02:47:36.956 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.698362", "seconds": 1.698362}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:47:36.956715+00:00", "timestamp": 1772938056.956715}}}
{"text": "2026-03-08 02:47:36.957 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.699143", "seconds": 1.699143}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:47:36.957496+00:00", "timestamp": 1772938056.957496}}}
{"text": "2026-03-08 02:47:37.132 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.749226", "seconds": 1.749226}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:47:37.132686+00:00", "timestamp": 1772938057.132686}}}
{"text": "2026-03-08 02:47:37.133 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.750121", "seconds": 1.750121}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:47:37.133581+00:00", "timestamp": 1772938057.133581}}}
{"text": "2026-03-08 02:47:37.153 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.894925", "seconds": 1.894925}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:47:37.153278+00:00", "timestamp": 1772938057.153278}}}
{"text": "2026-03-08 02:47:37.154 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.895790", "seconds": 1.89579}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:47:37.154143+00:00", "timestamp": 1772938057.154143}}}
{"text": "2026-03-08 02:48:29.532 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 371.48ms\n", "record": {"elapsed": {"repr": "0:00:54.149312", "seconds": 54.149312}, "exception": null, "extra": {"request_id": "96848074-e404-4457-a0ee-b5fea6078246", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 371.48, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 371.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:48:29.532772+00:00", "timestamp": 1772938109.532772}}}
{"text": "2026-03-08 02:48:29.748 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 192.85ms\n", "record": {"elapsed": {"repr": "0:00:54.489836", "seconds": 54.489836}, "exception": null, "extra": {"request_id": "86f3c718-88f3-43a0-89aa-db88458a32d4", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 192.85, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 192.85ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:48:29.748189+00:00", "timestamp": 1772938109.748189}}}
{"text": "2026-03-08 02:48:48.072 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 321.19ms\n", "record": {"elapsed": {"repr": "0:01:12.814464", "seconds": 72.814464}, "exception": null, "extra": {"request_id": "f5a350ed-c397-4bec-9dcf-84899c089460", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 321.19, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 321.19ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:48:48.072817+00:00", "timestamp": 1772938128.072817}}}
{"text": "2026-03-08 02:48:48.150 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 60.75ms\n", "record": {"elapsed": {"repr": "0:01:12.892191", "seconds": 72.892191}, "exception": null, "extra": {"request_id": "67018f80-8ce1-48ca-a66f-f5762ccbd36b", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 60.75, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 60.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:48:48.150544+00:00", "timestamp": 1772938128.150544}}}
{"text": "2026-03-08 02:52:07.056 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "0:04:31.673421", "seconds": 271.673421}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:52:07.056881+00:00", "timestamp": 1772938327.056881}}}
{"text": "2026-03-08 02:52:07.057 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "0:04:31.674107", "seconds": 271.674107}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:52:07.057567+00:00", "timestamp": 1772938327.057567}}}
{"text": "2026-03-08 02:52:07.058 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "0:04:31.799774", "seconds": 271.799774}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:52:07.058127+00:00", "timestamp": 1772938327.058127}}}
{"text": "2026-03-08 02:52:07.059 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "0:04:31.801491", "seconds": 271.801491}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:52:07.059844+00:00", "timestamp": 1772938327.059844}}}
{"text": "2026-03-08 02:52:07.061 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "0:04:31.677953", "seconds": 271.677953}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:52:07.061413+00:00", "timestamp": 1772938327.061413}}}
{"text": "2026-03-08 02:52:07.064 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "0:04:31.805651", "seconds": 271.805651}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140734473175072, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:52:07.064004+00:00", "timestamp": 1772938327.064004}}}
{"text": "2026-03-08 02:54:21.225 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.502871", "seconds": 1.502871}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:21.225994+00:00", "timestamp": 1772938461.225994}}}
{"text": "2026-03-08 02:54:21.226 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.503492", "seconds": 1.503492}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:21.226615+00:00", "timestamp": 1772938461.226615}}}
{"text": "2026-03-08 02:54:21.227 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.731883", "seconds": 1.731883}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:21.227387+00:00", "timestamp": 1772938461.227387}}}
{"text": "2026-03-08 02:54:21.227 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.732418", "seconds": 1.732418}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:21.227922+00:00", "timestamp": 1772938461.227922}}}
{"text": "2026-03-08 02:54:21.432 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.709545", "seconds": 1.709545}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:21.432668+00:00", "timestamp": 1772938461.432668}}}
{"text": "2026-03-08 02:54:21.433 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.710792", "seconds": 1.710792}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:21.433915+00:00", "timestamp": 1772938461.433915}}}
{"text": "2026-03-08 02:54:21.436 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.940816", "seconds": 1.940816}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:21.436320+00:00", "timestamp": 1772938461.43632}}}
{"text": "2026-03-08 02:54:21.437 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.941894", "seconds": 1.941894}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:21.437398+00:00", "timestamp": 1772938461.437398}}}
{"text": "2026-03-08 02:54:57.134 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 341.6ms\n", "record": {"elapsed": {"repr": "0:00:37.638545", "seconds": 37.638545}, "exception": null, "extra": {"request_id": "0f82a0c2-0014-434b-ae24-35d29693adb6", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 341.6, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 341.6ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:57.134049+00:00", "timestamp": 1772938497.134049}}}
{"text": "2026-03-08 02:54:57.343 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 186.02ms\n", "record": {"elapsed": {"repr": "0:00:37.620663", "seconds": 37.620663}, "exception": null, "extra": {"request_id": "d80753bd-949d-44c4-b32b-20334a02c892", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 186.02, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 186.02ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:54:57.343786+00:00", "timestamp": 1772938497.343786}}}
{"text": "2026-03-08 02:55:00.507 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 48.88ms\n", "record": {"elapsed": {"repr": "0:00:41.011614", "seconds": 41.011614}, "exception": null, "extra": {"request_id": "d5fd0a52-ceef-41c5-8dea-e376cc03cd7f", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 48.88, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 48.88ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.507118+00:00", "timestamp": 1772938500.507118}}}
{"text": "2026-03-08 02:55:00.516 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 56.76ms\n", "record": {"elapsed": {"repr": "0:00:41.020761", "seconds": 41.020761}, "exception": null, "extra": {"request_id": "a89d8d03-c0a9-4478-97a1-e31eccba1e99", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 56.76, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 56.76ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.516265+00:00", "timestamp": 1772938500.516265}}}
{"text": "2026-03-08 02:55:00.557 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 1.67ms\n", "record": {"elapsed": {"repr": "0:00:41.061627", "seconds": 41.061627}, "exception": null, "extra": {"request_id": "e8539296-6567-4d38-8be9-561d5e2f51bd", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 1.67, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 1.67ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.557131+00:00", "timestamp": 1772938500.557131}}}
{"text": "2026-03-08 02:55:00.564 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 1.89ms\n", "record": {"elapsed": {"repr": "0:00:41.069005", "seconds": 41.069005}, "exception": null, "extra": {"request_id": "22c584d8-ec82-4ea1-8d94-d71658f2e9e3", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 1.89, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 1.89ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.564509+00:00", "timestamp": 1772938500.564509}}}
{"text": "2026-03-08 02:55:00.615 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 158.29ms\n", "record": {"elapsed": {"repr": "0:00:40.892354", "seconds": 40.892354}, "exception": null, "extra": {"request_id": "4f0a48da-6995-485f-b059-8a0b41527a6a", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 158.29, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 158.29ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.615477+00:00", "timestamp": 1772938500.615477}}}
{"text": "2026-03-08 02:55:00.632 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 172.55ms\n", "record": {"elapsed": {"repr": "0:00:40.909757", "seconds": 40.909757}, "exception": null, "extra": {"request_id": "de36ebf8-847f-46ca-9982-09bc5961f928", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 172.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 172.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.632880+00:00", "timestamp": 1772938500.63288}}}
{"text": "2026-03-08 02:55:00.634 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 162.8ms\n", "record": {"elapsed": {"repr": "0:00:40.911503", "seconds": 40.911503}, "exception": null, "extra": {"request_id": "5464365e-40d5-4713-b7bd-a2e2972bd58b", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 162.8, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 162.8ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.634626+00:00", "timestamp": 1772938500.634626}}}
{"text": "2026-03-08 02:55:00.635 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 176.37ms\n", "record": {"elapsed": {"repr": "0:00:40.912321", "seconds": 40.912321}, "exception": null, "extra": {"request_id": "8f477281-8a1b-4f7a-8dae-a097c49ebad8", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 176.37, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 176.37ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.635444+00:00", "timestamp": 1772938500.635444}}}
{"text": "2026-03-08 02:55:00.650 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 179.73ms\n", "record": {"elapsed": {"repr": "0:00:40.927304", "seconds": 40.927304}, "exception": null, "extra": {"request_id": "8de9f648-b7a7-4a3e-8889-cb949ff0af19", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 179.73, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 179.73ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.650427+00:00", "timestamp": 1772938500.650427}}}
{"text": "2026-03-08 02:55:00.676 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 1.69ms\n", "record": {"elapsed": {"repr": "0:00:40.953797", "seconds": 40.953797}, "exception": null, "extra": {"request_id": "1db213d5-2284-4f7a-80bb-65c889173d68", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 1.69, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 1.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.676920+00:00", "timestamp": 1772938500.67692}}}
{"text": "2026-03-08 02:55:00.685 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 1.69ms\n", "record": {"elapsed": {"repr": "0:00:40.962547", "seconds": 40.962547}, "exception": null, "extra": {"request_id": "a66465e6-a3c6-48ae-a511-a6490bcd6f69", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 1.69, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 1.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.685670+00:00", "timestamp": 1772938500.68567}}}
{"text": "2026-03-08 02:55:00.699 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 3.9ms\n", "record": {"elapsed": {"repr": "0:00:40.976094", "seconds": 40.976094}, "exception": null, "extra": {"request_id": "9a255fdc-78fd-4b1f-b5c9-f6cb52dd1909", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 3.9, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 3.9ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.699217+00:00", "timestamp": 1772938500.699217}}}
{"text": "2026-03-08 02:55:00.703 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 11.15ms\n", "record": {"elapsed": {"repr": "0:00:40.980860", "seconds": 40.98086}, "exception": null, "extra": {"request_id": "f0dabede-210f-4f37-bbde-f41bd0a589ce", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 11.15, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 11.15ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.703983+00:00", "timestamp": 1772938500.703983}}}
{"text": "2026-03-08 02:55:00.705 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 11.23ms\n", "record": {"elapsed": {"repr": "0:00:40.982804", "seconds": 40.982804}, "exception": null, "extra": {"request_id": "e4e53694-c8d7-4aae-93d2-ae2ff99d3bf9", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 11.23, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 11.23ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:55:00.705927+00:00", "timestamp": 1772938500.705927}}}
{"text": "2026-03-08 02:58:22.640 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "0:04:03.144639", "seconds": 243.144639}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:58:22.640143+00:00", "timestamp": 1772938702.640143}}}
{"text": "2026-03-08 02:58:22.640 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "0:04:02.917018", "seconds": 242.917018}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:58:22.640141+00:00", "timestamp": 1772938702.640141}}}
{"text": "2026-03-08 02:58:22.641 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "0:04:03.145646", "seconds": 243.145646}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:58:22.641150+00:00", "timestamp": 1772938702.64115}}}
{"text": "2026-03-08 02:58:22.641 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "0:04:02.918066", "seconds": 242.918066}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:58:22.641189+00:00", "timestamp": 1772938702.641189}}}
{"text": "2026-03-08 02:58:22.647 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "0:04:03.152394", "seconds": 243.152394}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:58:22.647898+00:00", "timestamp": 1772938702.647898}}}
{"text": "2026-03-08 02:58:22.657 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "0:04:02.934376", "seconds": 242.934376}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140732844326944, "name": "MainThread"}, "time": {"repr": "2026-03-08 02:58:22.657499+00:00", "timestamp": 1772938702.657499}}}
{"text": "2026-03-08 03:00:36.910 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.743290", "seconds": 1.74329}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:00:36.910998+00:00", "timestamp": 1772938836.910998}}}
{"text": "2026-03-08 03:00:36.910 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.724180", "seconds": 1.72418}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:00:36.910960+00:00", "timestamp": 1772938836.91096}}}
{"text": "2026-03-08 03:00:36.912 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.725573", "seconds": 1.725573}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:00:36.912353+00:00", "timestamp": 1772938836.912353}}}
{"text": "2026-03-08 03:00:36.912 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.744639", "seconds": 1.744639}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:00:36.912347+00:00", "timestamp": 1772938836.912347}}}
{"text": "2026-03-08 03:00:37.094 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.907994", "seconds": 1.907994}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:00:37.094774+00:00", "timestamp": 1772938837.094774}}}
{"text": "2026-03-08 03:00:37.094 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.927066", "seconds": 1.927066}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:00:37.094774+00:00", "timestamp": 1772938837.094774}}}
{"text": "2026-03-08 03:00:37.095 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.908859", "seconds": 1.908859}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:00:37.095639+00:00", "timestamp": 1772938837.095639}}}
{"text": "2026-03-08 03:00:37.095 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.927968", "seconds": 1.927968}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:00:37.095676+00:00", "timestamp": 1772938837.095676}}}
{"text": "2026-03-08 03:01:00.524 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 393.95ms\n", "record": {"elapsed": {"repr": "0:00:25.337799", "seconds": 25.337799}, "exception": null, "extra": {"request_id": "380a619b-d144-452f-bb53-5278d2e1bd9b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 393.95, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 393.95ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:01:00.524579+00:00", "timestamp": 1772938860.524579}}}
{"text": "2026-03-08 03:01:00.760 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 214.18ms\n", "record": {"elapsed": {"repr": "0:00:25.592914", "seconds": 25.592914}, "exception": null, "extra": {"request_id": "859f2d4c-cbc2-47d8-b431-e0caaaadbd71", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 214.18, "ip": "172.18.0.1", "user_agent": "curl/7.88.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 214.18ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:01:00.760622+00:00", "timestamp": 1772938860.760622}}}
{"text": "2026-03-08 03:03:04.048 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 401 - 3.75ms\n", "record": {"elapsed": {"repr": "0:02:28.880531", "seconds": 148.880531}, "exception": null, "extra": {"request_id": "de25defa-fa69-4eee-820d-8dcf010cbb77", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 401, "duration_ms": 3.75, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 401 - 3.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.048239+00:00", "timestamp": 1772938984.048239}}}
{"text": "2026-03-08 03:03:04.054 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 6.17ms\n", "record": {"elapsed": {"repr": "0:02:28.886593", "seconds": 148.886593}, "exception": null, "extra": {"request_id": "22c13d0a-a4f0-4b47-af80-33c91b556243", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 6.17, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 6.17ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.054301+00:00", "timestamp": 1772938984.054301}}}
{"text": "2026-03-08 03:03:04.058 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 10.13ms\n", "record": {"elapsed": {"repr": "0:02:28.871562", "seconds": 148.871562}, "exception": null, "extra": {"request_id": "15e1bc1b-8343-408e-9656-19968cd8dbc0", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 401, "duration_ms": 10.13, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 10.13ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.058342+00:00", "timestamp": 1772938984.058342}}}
{"text": "2026-03-08 03:03:04.059 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 401 - 9.38ms\n", "record": {"elapsed": {"repr": "0:02:28.872494", "seconds": 148.872494}, "exception": null, "extra": {"request_id": "f8394321-e8b5-4523-b2ba-f64b5ea60160", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 401, "duration_ms": 9.38, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 401 - 9.38ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.059274+00:00", "timestamp": 1772938984.059274}}}
{"text": "2026-03-08 03:03:04.060 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 401 - 9.11ms\n", "record": {"elapsed": {"repr": "0:02:28.892688", "seconds": 148.892688}, "exception": null, "extra": {"request_id": "5abf09af-9f5f-4641-a0a5-1fe713abb600", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 9.11, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 401 - 9.11ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.060396+00:00", "timestamp": 1772938984.060396}}}
{"text": "2026-03-08 03:03:04.063 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 401 - 10.91ms\n", "record": {"elapsed": {"repr": "0:02:28.876587", "seconds": 148.876587}, "exception": null, "extra": {"request_id": "37e22b00-0eb3-459c-a625-130663639139", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 401, "duration_ms": 10.91, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 401 - 10.91ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.063367+00:00", "timestamp": 1772938984.063367}}}
{"text": "2026-03-08 03:03:04.067 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 12.09ms\n", "record": {"elapsed": {"repr": "0:02:28.880687", "seconds": 148.880687}, "exception": null, "extra": {"request_id": "93ab54d3-9a89-46f6-97cc-c41e0ca932c1", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 12.09, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 12.09ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.067467+00:00", "timestamp": 1772938984.067467}}}
{"text": "2026-03-08 03:03:04.118 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 401 - 2.73ms\n", "record": {"elapsed": {"repr": "0:02:28.931391", "seconds": 148.931391}, "exception": null, "extra": {"request_id": "9f3634db-8a62-4f42-8fa6-508d4f67f1a1", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 401, "duration_ms": 2.73, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 401 - 2.73ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.118171+00:00", "timestamp": 1772938984.118171}}}
{"text": "2026-03-08 03:03:04.119 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.42ms\n", "record": {"elapsed": {"repr": "0:02:28.932389", "seconds": 148.932389}, "exception": null, "extra": {"request_id": "4e14b563-80dc-4a76-aafe-0f3742387d14", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.42, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.42ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.119169+00:00", "timestamp": 1772938984.119169}}}
{"text": "2026-03-08 03:03:04.127 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 401 - 4.56ms\n", "record": {"elapsed": {"repr": "0:02:28.940440", "seconds": 148.94044}, "exception": null, "extra": {"request_id": "31c09b6e-b7cc-4e27-b4ad-e215bdbe4b43", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 401, "duration_ms": 4.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 401 - 4.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.127220+00:00", "timestamp": 1772938984.12722}}}
{"text": "2026-03-08 03:03:04.127 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 401 - 2.56ms\n", "record": {"elapsed": {"repr": "0:02:28.959702", "seconds": 148.959702}, "exception": null, "extra": {"request_id": "441350c8-fbb7-4d63-a9c0-9622c47d74e5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 401, "duration_ms": 2.56, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 401 - 2.56ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.127410+00:00", "timestamp": 1772938984.12741}}}
{"text": "2026-03-08 03:03:04.129 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 401 - 4.38ms\n", "record": {"elapsed": {"repr": "0:02:28.961667", "seconds": 148.961667}, "exception": null, "extra": {"request_id": "76edf0dd-14d5-4087-b810-ee65a5aee932", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 4.38, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 401 - 4.38ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.129375+00:00", "timestamp": 1772938984.129375}}}
{"text": "2026-03-08 03:03:04.130 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 5.09ms\n", "record": {"elapsed": {"repr": "0:02:28.944063", "seconds": 148.944063}, "exception": null, "extra": {"request_id": "d9952b5b-8d69-4029-aaeb-a2234a64e658", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 401, "duration_ms": 5.09, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 5.09ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.130843+00:00", "timestamp": 1772938984.130843}}}
{"text": "2026-03-08 03:03:04.138 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.44ms\n", "record": {"elapsed": {"repr": "0:02:28.952196", "seconds": 148.952196}, "exception": null, "extra": {"request_id": "4c72f53e-829f-4f87-b8dd-f0d616358f16", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.44, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.44ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:04.138976+00:00", "timestamp": 1772938984.138976}}}
{"text": "2026-03-08 03:03:51.428 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 401 - 1.53ms\n", "record": {"elapsed": {"repr": "0:03:16.241917", "seconds": 196.241917}, "exception": null, "extra": {"request_id": "476b266d-08e3-4148-8acb-d87eb02ac642", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 401, "duration_ms": 1.53, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 401 - 1.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.428697+00:00", "timestamp": 1772939031.428697}}}
{"text": "2026-03-08 03:03:51.432 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 2.1ms\n", "record": {"elapsed": {"repr": "0:03:16.264688", "seconds": 196.264688}, "exception": null, "extra": {"request_id": "9a8875c1-39b4-4083-b550-733fbeb8e012", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 401, "duration_ms": 2.1, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 2.1ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.432396+00:00", "timestamp": 1772939031.432396}}}
{"text": "2026-03-08 03:03:51.433 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 401 - 6.42ms\n", "record": {"elapsed": {"repr": "0:03:16.266082", "seconds": 196.266082}, "exception": null, "extra": {"request_id": "e38d6227-6e0c-4c80-8efc-7e1a480ab528", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 6.42, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 401 - 6.42ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.433790+00:00", "timestamp": 1772939031.43379}}}
{"text": "2026-03-08 03:03:51.437 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 401 - 2.07ms\n", "record": {"elapsed": {"repr": "0:03:16.251173", "seconds": 196.251173}, "exception": null, "extra": {"request_id": "0e6ff872-6b7a-4da6-91cf-9e9380249dad", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 401, "duration_ms": 2.07, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 401 - 2.07ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.437953+00:00", "timestamp": 1772939031.437953}}}
{"text": "2026-03-08 03:03:51.445 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 401 - 2.48ms\n", "record": {"elapsed": {"repr": "0:03:16.258561", "seconds": 196.258561}, "exception": null, "extra": {"request_id": "faf7c9c8-2db1-4094-a22b-17b4f7d7adf7", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 401, "duration_ms": 2.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 401 - 2.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.445341+00:00", "timestamp": 1772939031.445341}}}
{"text": "2026-03-08 03:03:51.445 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.86ms\n", "record": {"elapsed": {"repr": "0:03:16.277505", "seconds": 196.277505}, "exception": null, "extra": {"request_id": "6ad6f31b-8dcf-4888-9e37-d3fedf02f4da", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.86, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.86ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.445213+00:00", "timestamp": 1772939031.445213}}}
{"text": "2026-03-08 03:03:51.446 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.8ms\n", "record": {"elapsed": {"repr": "0:03:16.278610", "seconds": 196.27861}, "exception": null, "extra": {"request_id": "752f8771-8225-414a-8705-5117f9af40df", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.8, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.8ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.446318+00:00", "timestamp": 1772939031.446318}}}
{"text": "2026-03-08 03:03:51.477 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 401 - 1.1ms\n", "record": {"elapsed": {"repr": "0:03:16.310022", "seconds": 196.310022}, "exception": null, "extra": {"request_id": "bf96e78b-f278-4372-8133-380ed834882a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 401, "duration_ms": 1.1, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 401 - 1.1ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.477730+00:00", "timestamp": 1772939031.47773}}}
{"text": "2026-03-08 03:03:51.490 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 401 - 2.12ms\n", "record": {"elapsed": {"repr": "0:03:16.323241", "seconds": 196.323241}, "exception": null, "extra": {"request_id": "068ecca9-1a1c-4e4a-b874-a138862aa202", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 2.12, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 401 - 2.12ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.490949+00:00", "timestamp": 1772939031.490949}}}
{"text": "2026-03-08 03:03:51.491 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 2.03ms\n", "record": {"elapsed": {"repr": "0:03:16.324170", "seconds": 196.32417}, "exception": null, "extra": {"request_id": "56683939-f8d8-4a16-b675-e7fbb8f70245", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 401, "duration_ms": 2.03, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 2.03ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.491878+00:00", "timestamp": 1772939031.491878}}}
{"text": "2026-03-08 03:03:51.498 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 401 - 1.14ms\n", "record": {"elapsed": {"repr": "0:03:16.330424", "seconds": 196.330424}, "exception": null, "extra": {"request_id": "18b047c4-c22b-4552-8226-64bda5689d97", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 401, "duration_ms": 1.14, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 401 - 1.14ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.498132+00:00", "timestamp": 1772939031.498132}}}
{"text": "2026-03-08 03:03:51.508 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.17ms\n", "record": {"elapsed": {"repr": "0:03:16.321630", "seconds": 196.32163}, "exception": null, "extra": {"request_id": "06bd5362-4708-4a9b-91bc-0a2530494d2c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.17, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.17ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.508410+00:00", "timestamp": 1772939031.50841}}}
{"text": "2026-03-08 03:03:51.509 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 401 - 2.71ms\n", "record": {"elapsed": {"repr": "0:03:16.341637", "seconds": 196.341637}, "exception": null, "extra": {"request_id": "3d6da4e0-ecdf-4c89-af0c-45d92c51160d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 401, "duration_ms": 2.71, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 401 - 2.71ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.509345+00:00", "timestamp": 1772939031.509345}}}
{"text": "2026-03-08 03:03:51.510 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 2.25ms\n", "record": {"elapsed": {"repr": "0:03:16.342597", "seconds": 196.342597}, "exception": null, "extra": {"request_id": "9cac867b-9bdd-4d2e-8540-e78bf953d3cd", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 2.25, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 2.25ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:03:51.510305+00:00", "timestamp": 1772939031.510305}}}
{"text": "2026-03-08 03:06:03.368 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 401 - 1.27ms\n", "record": {"elapsed": {"repr": "0:05:28.200326", "seconds": 328.200326}, "exception": null, "extra": {"request_id": "058f1dc1-4b9f-4e1f-ad95-ccbe119fb97a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 1.27, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 401 - 1.27ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.368034+00:00", "timestamp": 1772939163.368034}}}
{"text": "2026-03-08 03:06:03.369 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 1.17ms\n", "record": {"elapsed": {"repr": "0:05:28.182221", "seconds": 328.182221}, "exception": null, "extra": {"request_id": "04f2d5ad-4210-4230-9621-aefefbe832a1", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 401, "duration_ms": 1.17, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 1.17ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.369001+00:00", "timestamp": 1772939163.369001}}}
{"text": "2026-03-08 03:06:03.381 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.13ms\n", "record": {"elapsed": {"repr": "0:05:28.194616", "seconds": 328.194616}, "exception": null, "extra": {"request_id": "97f0e117-7bed-42f2-8d0f-f1bfd481ec2b", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.13, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.13ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.381396+00:00", "timestamp": 1772939163.381396}}}
{"text": "2026-03-08 03:06:03.383 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 401 - 2.52ms\n", "record": {"elapsed": {"repr": "0:05:28.215893", "seconds": 328.215893}, "exception": null, "extra": {"request_id": "2a4465ff-75a8-4685-8f4a-59cf3b232a7b", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 401, "duration_ms": 2.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 401 - 2.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.383601+00:00", "timestamp": 1772939163.383601}}}
{"text": "2026-03-08 03:06:03.384 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 401 - 2.52ms\n", "record": {"elapsed": {"repr": "0:05:28.216933", "seconds": 328.216933}, "exception": null, "extra": {"request_id": "a84741d1-a922-4bf8-b773-afde98e4522e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 401, "duration_ms": 2.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 401 - 2.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.384641+00:00", "timestamp": 1772939163.384641}}}
{"text": "2026-03-08 03:06:03.385 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.01ms\n", "record": {"elapsed": {"repr": "0:05:28.198944", "seconds": 328.198944}, "exception": null, "extra": {"request_id": "e9e6fb59-a024-4556-ad98-f6b4a560c043", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.01ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.385724+00:00", "timestamp": 1772939163.385724}}}
{"text": "2026-03-08 03:06:03.386 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 401 - 3.02ms\n", "record": {"elapsed": {"repr": "0:05:28.199860", "seconds": 328.19986}, "exception": null, "extra": {"request_id": "cc64f8db-acfc-4c87-a176-35dcf976ab1a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 401, "duration_ms": 3.02, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 401 - 3.02ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.386640+00:00", "timestamp": 1772939163.38664}}}
{"text": "2026-03-08 03:06:03.424 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 401 - 2.41ms\n", "record": {"elapsed": {"repr": "0:05:28.237415", "seconds": 328.237415}, "exception": null, "extra": {"request_id": "15d51d27-a04b-41e1-9113-8fc91aae7d07", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 2.41, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 401 - 2.41ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.424195+00:00", "timestamp": 1772939163.424195}}}
{"text": "2026-03-08 03:06:03.425 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 2.26ms\n", "record": {"elapsed": {"repr": "0:05:28.238724", "seconds": 328.238724}, "exception": null, "extra": {"request_id": "d616431f-5152-4723-b1bd-a183605ee961", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 401, "duration_ms": 2.26, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 2.26ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.425504+00:00", "timestamp": 1772939163.425504}}}
{"text": "2026-03-08 03:06:03.437 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 401 - 1.05ms\n", "record": {"elapsed": {"repr": "0:05:28.250975", "seconds": 328.250975}, "exception": null, "extra": {"request_id": "4548dd10-866e-4487-a3d1-78170ec1b5e5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 401, "duration_ms": 1.05, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 401 - 1.05ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.437755+00:00", "timestamp": 1772939163.437755}}}
{"text": "2026-03-08 03:06:03.442 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 401 - 1.59ms\n", "record": {"elapsed": {"repr": "0:05:28.255261", "seconds": 328.255261}, "exception": null, "extra": {"request_id": "927cf445-4403-4cb5-bd70-c51abbae723c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 401, "duration_ms": 1.59, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 401 - 1.59ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.442041+00:00", "timestamp": 1772939163.442041}}}
{"text": "2026-03-08 03:06:03.453 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 401 - 3.22ms\n", "record": {"elapsed": {"repr": "0:05:28.267125", "seconds": 328.267125}, "exception": null, "extra": {"request_id": "0a4a11eb-6632-41f8-a305-780d4b169ea2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 401, "duration_ms": 3.22, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 401 - 3.22ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.453905+00:00", "timestamp": 1772939163.453905}}}
{"text": "2026-03-08 03:06:03.455 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 401 - 3.13ms\n", "record": {"elapsed": {"repr": "0:05:28.269185", "seconds": 328.269185}, "exception": null, "extra": {"request_id": "f080f67b-2006-4cf5-afc3-9570bab37713", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 401, "duration_ms": 3.13, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 401 - 3.13ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.455965+00:00", "timestamp": 1772939163.455965}}}
{"text": "2026-03-08 03:06:03.456 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 3.7ms\n", "record": {"elapsed": {"repr": "0:05:28.269816", "seconds": 328.269816}, "exception": null, "extra": {"request_id": "2db3bf00-089a-4791-ae33-de3542336a6f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 3.7, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 3.7ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 03:06:03.456596+00:00", "timestamp": 1772939163.456596}}}
{"text": "2026-03-08 06:26:30.886 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.49ms\n", "record": {"elapsed": {"repr": "3:25:55.699737", "seconds": 12355.699737}, "exception": null, "extra": {"request_id": "f3f068d8-4652-49da-a6ad-19725010dbef", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.49, "ip": "172.18.0.6", "user_agent": "python-httpx/0.27.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.49ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 06:26:30.886517+00:00", "timestamp": 1772951190.886517}}}
{"text": "2026-03-08 06:26:44.612 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.4ms\n", "record": {"elapsed": {"repr": "3:26:09.425781", "seconds": 12369.425781}, "exception": null, "extra": {"request_id": "a77904e8-70a2-4970-8257-82853c4f3036", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.4, "ip": "172.18.0.6", "user_agent": "python-httpx/0.27.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.4ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-08 06:26:44.612561+00:00", "timestamp": 1772951204.612561}}}
{"text": "2026-03-09 04:36:14.568 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.03ms\n", "record": {"elapsed": {"repr": "1 day, 1:35:39.401052", "seconds": 92139.401052}, "exception": null, "extra": {"request_id": "ac3329d9-1bdb-4f37-8ab3-cfab61b98eec", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.03, "ip": "172.18.0.6", "user_agent": "python-httpx/0.27.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.03ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-09 04:36:14.568760+00:00", "timestamp": 1773030974.56876}}}
{"text": "2026-03-09 04:36:19.341 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.09ms\n", "record": {"elapsed": {"repr": "1 day, 1:35:44.174148", "seconds": 92144.174148}, "exception": null, "extra": {"request_id": "d25048cd-0601-4726-8077-893364192a77", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.09, "ip": "172.18.0.6", "user_agent": "python-httpx/0.27.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.09ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-09 04:36:19.341856+00:00", "timestamp": 1773030979.341856}}}
{"text": "2026-03-10 14:24:53.139 | INFO     | app.main:log_requests:103 - GET / - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "2 days, 11:24:17.972286", "seconds": 213857.972286}, "exception": null, "extra": {"request_id": "e3de1051-6660-4413-baaf-e0aad0ef5a91", "user_id": "anonymous", "method": "GET", "path": "/", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET / - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-10 14:24:53.139994+00:00", "timestamp": 1773152693.139994}}}
{"text": "2026-03-10 14:24:53.323 | INFO     | app.main:log_requests:103 - GET /favicon.ico - 404 - 0.78ms\n", "record": {"elapsed": {"repr": "2 days, 11:24:18.155623", "seconds": 213858.155623}, "exception": null, "extra": {"request_id": "57fa2713-bf3f-485f-84b0-edfeaeb784d1", "user_id": "anonymous", "method": "GET", "path": "/favicon.ico", "status_code": 404, "duration_ms": 0.78, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /favicon.ico - 404 - 0.78ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-10 14:24:53.323331+00:00", "timestamp": 1773152693.323331}}}
{"text": "2026-03-10 14:24:53.529 | INFO     | app.main:log_requests:103 - GET / - 404 - 0.46ms\n", "record": {"elapsed": {"repr": "2 days, 11:24:18.361726", "seconds": 213858.361726}, "exception": null, "extra": {"request_id": "55a24794-b9dd-4caa-8f9d-78cbe8c973f2", "user_id": "anonymous", "method": "GET", "path": "/", "status_code": 404, "duration_ms": 0.46, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET / - 404 - 0.46ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-10 14:24:53.529434+00:00", "timestamp": 1773152693.529434}}}
{"text": "2026-03-10 14:24:53.789 | INFO     | app.main:log_requests:103 - GET /favicon.ico - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "2 days, 11:24:18.621741", "seconds": 213858.621741}, "exception": null, "extra": {"request_id": "0d967272-3c51-4922-815b-990ed8f528da", "user_id": "anonymous", "method": "GET", "path": "/favicon.ico", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /favicon.ico - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-10 14:24:53.789449+00:00", "timestamp": 1773152693.789449}}}
{"text": "2026-03-10 14:58:21.067 | INFO     | app.main:log_requests:103 - GET /.git/HEAD - 404 - 0.5ms\n", "record": {"elapsed": {"repr": "2 days, 11:57:45.899906", "seconds": 215865.899906}, "exception": null, "extra": {"request_id": "e6937d25-e49f-4a78-a9df-f20a4d7466ee", "user_id": "anonymous", "method": "GET", "path": "/.git/HEAD", "status_code": 404, "duration_ms": 0.5, "ip": "172.18.0.1", "user_agent": "Fuzz Faster U Fool v2.1.0-dev"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /.git/HEAD - 404 - 0.5ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-10 14:58:21.067614+00:00", "timestamp": 1773154701.067614}}}
{"text": "2026-03-11 07:41:58.913 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.01ms\n", "record": {"elapsed": {"repr": "3 days, 4:41:23.745531", "seconds": 276083.745531}, "exception": null, "extra": {"request_id": "eb5ec2a4-5e09-4ef8-91aa-159fae8d8e40", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.01, "ip": "172.18.0.6", "user_agent": "python-httpx/0.27.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.01ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-11 07:41:58.913239+00:00", "timestamp": 1773214918.913239}}}
{"text": "2026-03-11 07:43:15.662 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 401 - 1.38ms\n", "record": {"elapsed": {"repr": "3 days, 4:42:40.494856", "seconds": 276160.494856}, "exception": null, "extra": {"request_id": "a9caf3fc-3e53-4dd4-b73c-20e5abb9cb4a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 401, "duration_ms": 1.38, "ip": "172.18.0.6", "user_agent": "python-httpx/0.27.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 401 - 1.38ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-11 07:43:15.662564+00:00", "timestamp": 1773214995.662564}}}
{"text": "2026-03-13 16:14:52.650 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 401 - 45.31ms\n", "record": {"elapsed": {"repr": "5 days, 13:14:17.483155", "seconds": 479657.483155}, "exception": null, "extra": {"request_id": "b57c85f6-d2f7-410a-bb31-6313885db4b0", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 45.31, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 401 - 45.31ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:14:52.650863+00:00", "timestamp": 1773418492.650863}}}
{"text": "2026-03-13 16:14:52.750 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/me - 401 - 18.95ms\n", "record": {"elapsed": {"repr": "5 days, 13:14:17.582520", "seconds": 479657.58252}, "exception": null, "extra": {"request_id": "9a6c19c5-564c-412d-8496-e9dcc2500167", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/me", "status_code": 401, "duration_ms": 18.95, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/me - 401 - 18.95ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:14:52.750228+00:00", "timestamp": 1773418492.750228}}}
{"text": "2026-03-13 16:14:53.204 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 193.99ms\n", "record": {"elapsed": {"repr": "5 days, 13:14:18.018096", "seconds": 479658.018096}, "exception": null, "extra": {"request_id": "f4748cbb-04a3-409d-90d5-9e65af067f5e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 401, "duration_ms": 193.99, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 401 - 193.99ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:14:53.204876+00:00", "timestamp": 1773418493.204876}}}
{"text": "2026-03-13 16:46:37.883 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "5 days, 13:46:02.715899", "seconds": 481562.715899}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:37.883607+00:00", "timestamp": 1773420397.883607}}}
{"text": "2026-03-13 16:46:37.884 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "5 days, 13:46:02.697680", "seconds": 481562.69768}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:37.884460+00:00", "timestamp": 1773420397.88446}}}
{"text": "2026-03-13 16:46:38.037 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "5 days, 13:46:02.851184", "seconds": 481562.851184}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:38.037964+00:00", "timestamp": 1773420398.037964}}}
{"text": "2026-03-13 16:46:38.039 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "5 days, 13:46:02.872263", "seconds": 481562.872263}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:38.039971+00:00", "timestamp": 1773420398.039971}}}
{"text": "2026-03-13 16:46:38.307 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "5 days, 13:46:03.120973", "seconds": 481563.120973}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:38.307753+00:00", "timestamp": 1773420398.307753}}}
{"text": "2026-03-13 16:46:38.314 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "5 days, 13:46:03.146871", "seconds": 481563.146871}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140735627624480, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:38.314579+00:00", "timestamp": 1773420398.314579}}}
{"text": "2026-03-13 16:46:50.453 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:02.542321", "seconds": 2.542321}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:50.453118+00:00", "timestamp": 1773420410.453118}}}
{"text": "2026-03-13 16:46:50.453 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:02.543920", "seconds": 2.54392}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:50.453183+00:00", "timestamp": 1773420410.453183}}}
{"text": "2026-03-13 16:46:50.453 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:02.542910", "seconds": 2.54291}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:50.453707+00:00", "timestamp": 1773420410.453707}}}
{"text": "2026-03-13 16:46:50.453 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:02.544450", "seconds": 2.54445}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:50.453713+00:00", "timestamp": 1773420410.453713}}}
{"text": "2026-03-13 16:46:50.561 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:02.651918", "seconds": 2.651918}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:50.561181+00:00", "timestamp": 1773420410.561181}}}
{"text": "2026-03-13 16:46:50.561 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:02.650384", "seconds": 2.650384}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:50.561181+00:00", "timestamp": 1773420410.561181}}}
{"text": "2026-03-13 16:46:50.562 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:02.652752", "seconds": 2.652752}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:50.562015+00:00", "timestamp": 1773420410.562015}}}
{"text": "2026-03-13 16:46:50.562 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:02.651221", "seconds": 2.651221}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:46:50.562018+00:00", "timestamp": 1773420410.562018}}}
{"text": "2026-03-13 16:54:44.368 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/webapp/telegram/setup - 401 - 4.09ms\n", "record": {"elapsed": {"repr": "0:07:56.457496", "seconds": 476.457496}, "exception": null, "extra": {"request_id": "506e33be-e20c-4c9c-9447-96553a0fc2a2", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 4.09, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/webapp/telegram/setup - 401 - 4.09ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:54:44.368293+00:00", "timestamp": 1773420884.368293}}}
{"text": "2026-03-13 16:54:46.081 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.99ms\n", "record": {"elapsed": {"repr": "0:07:58.170523", "seconds": 478.170523}, "exception": null, "extra": {"request_id": "5a21b915-4f8e-4f69-bb7a-aaa955cce148", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 1.99, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.99ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:54:46.081320+00:00", "timestamp": 1773420886.08132}}}
{"text": "2026-03-13 16:54:46.628 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.57ms\n", "record": {"elapsed": {"repr": "0:07:58.717323", "seconds": 478.717323}, "exception": null, "extra": {"request_id": "5db9199f-dd34-477e-a2a5-a94ecd39b0b6", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 1.57, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.57ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:54:46.628120+00:00", "timestamp": 1773420886.62812}}}
{"text": "2026-03-13 16:54:47.287 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.66ms\n", "record": {"elapsed": {"repr": "0:07:59.376535", "seconds": 479.376535}, "exception": null, "extra": {"request_id": "3e8e85ae-fbdc-4a80-bbfa-673eec7be8c1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 1.66, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.66ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:54:47.287332+00:00", "timestamp": 1773420887.287332}}}
{"text": "2026-03-13 16:54:49.067 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.78ms\n", "record": {"elapsed": {"repr": "0:08:01.156821", "seconds": 481.156821}, "exception": null, "extra": {"request_id": "05dcc35c-2f55-4404-aab5-d076d2d8484f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 1.78, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.78ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:54:49.067618+00:00", "timestamp": 1773420889.067618}}}
{"text": "2026-03-13 16:54:49.607 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.89ms\n", "record": {"elapsed": {"repr": "0:08:01.696521", "seconds": 481.696521}, "exception": null, "extra": {"request_id": "a5151175-1b9d-4529-a27c-109eeab324cb", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 401, "duration_ms": 1.89, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/webapp/telegram/setup - 401 - 1.89ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:54:49.607318+00:00", "timestamp": 1773420889.607318}}}
{"text": "2026-03-13 16:58:18.315 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 401 - 1.77ms\n", "record": {"elapsed": {"repr": "0:11:30.404345", "seconds": 690.404345}, "exception": null, "extra": {"request_id": "a1158d5f-2603-4cbd-b68c-b976f8d67101", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 401, "duration_ms": 1.77, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 401 - 1.77ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:18.315142+00:00", "timestamp": 1773421098.315142}}}
{"text": "2026-03-13 16:58:18.325 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 401 - 3.63ms\n", "record": {"elapsed": {"repr": "0:11:30.416037", "seconds": 690.416037}, "exception": null, "extra": {"request_id": "b93c836a-66f6-4376-89d3-f82bce54d5af", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 401, "duration_ms": 3.63, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 401 - 3.63ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:18.325300+00:00", "timestamp": 1773421098.3253}}}
{"text": "2026-03-13 16:58:23.352 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 362.81ms\n", "record": {"elapsed": {"repr": "0:11:35.443590", "seconds": 695.44359}, "exception": null, "extra": {"request_id": "d0ea69bf-bf1f-4ea0-a3ef-dab0bbe1333e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 362.81, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 362.81ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:23.352853+00:00", "timestamp": 1773421103.352853}}}
{"text": "2026-03-13 16:58:23.451 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 14.02ms\n", "record": {"elapsed": {"repr": "0:11:35.540329", "seconds": 695.540329}, "exception": null, "extra": {"request_id": "b6e7dec1-d329-43a9-9673-f0c499a396b9", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 14.02, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 14.02ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:23.451126+00:00", "timestamp": 1773421103.451126}}}
{"text": "2026-03-13 16:58:23.460 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 19.45ms\n", "record": {"elapsed": {"repr": "0:11:35.549866", "seconds": 695.549866}, "exception": null, "extra": {"request_id": "18984f04-96f6-45f5-9a52-4beb8d339101", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 19.45, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 19.45ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:23.460663+00:00", "timestamp": 1773421103.460663}}}
{"text": "2026-03-13 16:58:23.461 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 23.21ms\n", "record": {"elapsed": {"repr": "0:11:35.550985", "seconds": 695.550985}, "exception": null, "extra": {"request_id": "db2c3b74-b37f-47f5-a2a8-f7e30718ac31", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 23.21, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 23.21ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:23.461782+00:00", "timestamp": 1773421103.461782}}}
{"text": "2026-03-13 16:58:23.483 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 54.97ms\n", "record": {"elapsed": {"repr": "0:11:35.574456", "seconds": 695.574456}, "exception": null, "extra": {"request_id": "d034717e-cde3-4f07-90a8-6a32d09ed2a6", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 54.97, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 54.97ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:23.483719+00:00", "timestamp": 1773421103.483719}}}
{"text": "2026-03-13 16:58:23.517 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 74.55ms\n", "record": {"elapsed": {"repr": "0:11:35.606357", "seconds": 695.606357}, "exception": null, "extra": {"request_id": "6ab185e8-62d0-48bf-ab41-7222528787da", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 74.55, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 74.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:23.517154+00:00", "timestamp": 1773421103.517154}}}
{"text": "2026-03-13 16:58:23.532 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 96.34ms\n", "record": {"elapsed": {"repr": "0:11:35.623204", "seconds": 695.623204}, "exception": null, "extra": {"request_id": "8cd566a5-21bc-4eff-9c10-399f6f8e80a6", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 96.34, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 96.34ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:23.532467+00:00", "timestamp": 1773421103.532467}}}
{"text": "2026-03-13 16:58:23.550 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 109.86ms\n", "record": {"elapsed": {"repr": "0:11:35.641246", "seconds": 695.641246}, "exception": null, "extra": {"request_id": "570285b6-57d2-4698-9b0b-df9495ae445a", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 109.86, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 109.86ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:23.550509+00:00", "timestamp": 1773421103.550509}}}
{"text": "2026-03-13 16:58:24.959 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/me - 200 - 4.86ms\n", "record": {"elapsed": {"repr": "0:11:37.050233", "seconds": 697.050233}, "exception": null, "extra": {"request_id": "9d7e789e-1d7c-46ea-8cce-ca980d41809c", "user_id": "1", "method": "GET", "path": "/api/v1/auth/me", "status_code": 200, "duration_ms": 4.86, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/me - 200 - 4.86ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:24.959496+00:00", "timestamp": 1773421104.959496}}}
{"text": "2026-03-13 16:58:24.961 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 4.97ms\n", "record": {"elapsed": {"repr": "0:11:37.052194", "seconds": 697.052194}, "exception": null, "extra": {"request_id": "f81b0640-1785-425a-8c96-eb1289cca9ff", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 4.97, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 4.97ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:24.961457+00:00", "timestamp": 1773421104.961457}}}
{"text": "2026-03-13 16:58:24.962 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 5.69ms\n", "record": {"elapsed": {"repr": "0:11:37.052993", "seconds": 697.052993}, "exception": null, "extra": {"request_id": "f1326d43-1287-4315-b590-b1f62b115b39", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 5.69, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 5.69ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:24.962256+00:00", "timestamp": 1773421104.962256}}}
{"text": "2026-03-13 16:58:41.842 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/webapp/telegram/setup - 200 - 2.88ms\n", "record": {"elapsed": {"repr": "0:11:53.931529", "seconds": 713.931529}, "exception": null, "extra": {"request_id": "75df7b44-6042-4971-a73f-957918a0859f", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 2.88, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/webapp/telegram/setup - 200 - 2.88ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 16:58:41.842326+00:00", "timestamp": 1773421121.842326}}}
{"text": "2026-03-13 17:01:08.339 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 3.26ms\n", "record": {"elapsed": {"repr": "0:14:20.428930", "seconds": 860.42893}, "exception": null, "extra": {"request_id": "91d67fb9-3a1d-4190-a375-e7acae9896ec", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 3.26, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 3.26ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:08.339727+00:00", "timestamp": 1773421268.339727}}}
{"text": "2026-03-13 17:01:38.987 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 317.24ms\n", "record": {"elapsed": {"repr": "0:14:51.078307", "seconds": 891.078307}, "exception": null, "extra": {"request_id": "c9b1ed7a-2dc4-42cd-9bf0-6238df987e0e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 317.24, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 317.24ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:38.987570+00:00", "timestamp": 1773421298.98757}}}
{"text": "2026-03-13 17:01:39.053 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 2.26ms\n", "record": {"elapsed": {"repr": "0:14:51.144504", "seconds": 891.144504}, "exception": null, "extra": {"request_id": "c69c1f6c-1d35-44b3-9906-c6d1824ec243", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 2.26, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 2.26ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:39.053767+00:00", "timestamp": 1773421299.053767}}}
{"text": "2026-03-13 17:01:39.054 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.22ms\n", "record": {"elapsed": {"repr": "0:14:51.143680", "seconds": 891.14368}, "exception": null, "extra": {"request_id": "90f9bddd-755d-4a55-bc27-1c8f0f4a2903", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 2.22, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.22ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:39.054477+00:00", "timestamp": 1773421299.054477}}}
{"text": "2026-03-13 17:01:39.067 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 4.91ms\n", "record": {"elapsed": {"repr": "0:14:51.157031", "seconds": 891.157031}, "exception": null, "extra": {"request_id": "50b992c5-f9ad-494e-a2e0-409bfb563e58", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 4.91, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 4.91ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:39.067828+00:00", "timestamp": 1773421299.067828}}}
{"text": "2026-03-13 17:01:39.070 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 6.84ms\n", "record": {"elapsed": {"repr": "0:14:51.160174", "seconds": 891.160174}, "exception": null, "extra": {"request_id": "baff4a04-d96e-420f-b789-25b9307009eb", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 6.84, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 6.84ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:39.070971+00:00", "timestamp": 1773421299.070971}}}
{"text": "2026-03-13 17:01:39.071 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 9.6ms\n", "record": {"elapsed": {"repr": "0:14:51.161959", "seconds": 891.161959}, "exception": null, "extra": {"request_id": "aa545837-16f4-40e0-a5e4-919641d06a74", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 9.6, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 9.6ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:39.071222+00:00", "timestamp": 1773421299.071222}}}
{"text": "2026-03-13 17:01:39.077 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 16.94ms\n", "record": {"elapsed": {"repr": "0:14:51.166487", "seconds": 891.166487}, "exception": null, "extra": {"request_id": "e85cb65c-a713-450f-ae09-8d56972e04c3", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 16.94, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 16.94ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:39.077284+00:00", "timestamp": 1773421299.077284}}}
{"text": "2026-03-13 17:01:39.092 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 27.39ms\n", "record": {"elapsed": {"repr": "0:14:51.183069", "seconds": 891.183069}, "exception": null, "extra": {"request_id": "f91f72b9-fb3b-44a9-8351-0eb2ace3b018", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 27.39, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 27.39ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:39.092332+00:00", "timestamp": 1773421299.092332}}}
{"text": "2026-03-13 17:01:40.588 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.19ms\n", "record": {"elapsed": {"repr": "0:14:52.679029", "seconds": 892.679029}, "exception": null, "extra": {"request_id": "fc0ceb7e-a913-4f86-b8cc-27940d32eb5f", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 2.19, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.19ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:40.588292+00:00", "timestamp": 1773421300.588292}}}
{"text": "2026-03-13 17:01:40.590 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/me - 200 - 4.12ms\n", "record": {"elapsed": {"repr": "0:14:52.679602", "seconds": 892.679602}, "exception": null, "extra": {"request_id": "1dcc0691-c763-4f7a-92bc-065b5b936bfe", "user_id": "1", "method": "GET", "path": "/api/v1/auth/me", "status_code": 200, "duration_ms": 4.12, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/me - 200 - 4.12ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:40.590399+00:00", "timestamp": 1773421300.590399}}}
{"text": "2026-03-13 17:01:40.592 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/telegram/setup - 200 - 4.92ms\n", "record": {"elapsed": {"repr": "0:14:52.682121", "seconds": 892.682121}, "exception": null, "extra": {"request_id": "d2421f56-b5a4-4055-9c93-f32238ea7d8b", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/telegram/setup", "status_code": 200, "duration_ms": 4.92, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/telegram/setup - 200 - 4.92ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:40.592918+00:00", "timestamp": 1773421300.592918}}}
{"text": "2026-03-13 17:01:53.707 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 2.78ms\n", "record": {"elapsed": {"repr": "0:15:05.796508", "seconds": 905.796508}, "exception": null, "extra": {"request_id": "1a5fb2d5-476b-4dd0-8377-01e7e5598984", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 2.78, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 2.78ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:53.707305+00:00", "timestamp": 1773421313.707305}}}
{"text": "2026-03-13 17:01:53.707 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 2.92ms\n", "record": {"elapsed": {"repr": "0:15:05.798055", "seconds": 905.798055}, "exception": null, "extra": {"request_id": "017f3cf0-d336-49e8-8674-9aa11f9566c2", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 2.92, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 2.92ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:01:53.707318+00:00", "timestamp": 1773421313.707318}}}
{"text": "2026-03-13 17:02:06.340 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 328.02ms\n", "record": {"elapsed": {"repr": "0:15:18.429588", "seconds": 918.429588}, "exception": null, "extra": {"request_id": "cbb9b880-e491-4a8d-ba13-30fe49f6aff1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 328.02, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 328.02ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:06.340385+00:00", "timestamp": 1773421326.340385}}}
{"text": "2026-03-13 17:02:06.414 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/telegram-bots - 200 - 6.68ms\n", "record": {"elapsed": {"repr": "0:15:18.503497", "seconds": 918.503497}, "exception": null, "extra": {"request_id": "a41e1f2b-4e85-4a34-a3dc-831e0c1936cb", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 200, "duration_ms": 6.68, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/telegram-bots - 200 - 6.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:06.414294+00:00", "timestamp": 1773421326.414294}}}
{"text": "2026-03-13 17:02:06.425 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 7.26ms\n", "record": {"elapsed": {"repr": "0:15:18.516168", "seconds": 918.516168}, "exception": null, "extra": {"request_id": "0ac929f2-b5f7-4bd8-980e-911142603531", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 7.26, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 7.26ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:06.425431+00:00", "timestamp": 1773421326.425431}}}
{"text": "2026-03-13 17:02:06.426 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 6.86ms\n", "record": {"elapsed": {"repr": "0:15:18.517219", "seconds": 918.517219}, "exception": null, "extra": {"request_id": "b085c470-fece-4940-a163-39f8fd1eb462", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 6.86, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 6.86ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:06.426482+00:00", "timestamp": 1773421326.426482}}}
{"text": "2026-03-13 17:02:06.427 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 9.27ms\n", "record": {"elapsed": {"repr": "0:15:18.516938", "seconds": 918.516938}, "exception": null, "extra": {"request_id": "011ae82c-60ce-4eb4-9d77-56cf2e2377e1", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 9.27, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 9.27ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:06.427735+00:00", "timestamp": 1773421326.427735}}}
{"text": "2026-03-13 17:02:06.431 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 10.35ms\n", "record": {"elapsed": {"repr": "0:15:18.520945", "seconds": 918.520945}, "exception": null, "extra": {"request_id": "f694367b-d519-4795-aea8-750a47ec9e6c", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 10.35, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 10.35ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:06.431742+00:00", "timestamp": 1773421326.431742}}}
{"text": "2026-03-13 17:02:06.437 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 16.43ms\n", "record": {"elapsed": {"repr": "0:15:18.528182", "seconds": 918.528182}, "exception": null, "extra": {"request_id": "64621649-bc76-43e9-93a2-5d0d3d02ea0d", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 16.43, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 16.43ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:06.437445+00:00", "timestamp": 1773421326.437445}}}
{"text": "2026-03-13 17:02:06.456 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 32.72ms\n", "record": {"elapsed": {"repr": "0:15:18.546197", "seconds": 918.546197}, "exception": null, "extra": {"request_id": "4aed6dcb-6a82-4aca-a31f-ab05a6bfc1ae", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 32.72, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 32.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:06.456994+00:00", "timestamp": 1773421326.456994}}}
{"text": "2026-03-13 17:02:07.424 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.87ms\n", "record": {"elapsed": {"repr": "0:15:19.515140", "seconds": 919.51514}, "exception": null, "extra": {"request_id": "a65b05c5-3bcb-4e86-8506-49e07e4f436c", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 2.87, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 2.87ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:07.424403+00:00", "timestamp": 1773421327.424403}}}
{"text": "2026-03-13 17:02:07.426 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/me - 200 - 5.29ms\n", "record": {"elapsed": {"repr": "0:15:19.515221", "seconds": 919.515221}, "exception": null, "extra": {"request_id": "d809795f-aef9-4b0e-98c2-abb8ae44a613", "user_id": "1", "method": "GET", "path": "/api/v1/auth/me", "status_code": 200, "duration_ms": 5.29, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/me - 200 - 5.29ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:07.426018+00:00", "timestamp": 1773421327.426018}}}
{"text": "2026-03-13 17:02:07.430 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/telegram-bots - 200 - 8.39ms\n", "record": {"elapsed": {"repr": "0:15:19.520199", "seconds": 919.520199}, "exception": null, "extra": {"request_id": "706f0c89-c5ab-478f-a70a-5a784979feea", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 200, "duration_ms": 8.39, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/telegram-bots - 200 - 8.39ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:07.430996+00:00", "timestamp": 1773421327.430996}}}
{"text": "2026-03-13 17:02:31.345 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/telegram-bots - 201 - 21.25ms\n", "record": {"elapsed": {"repr": "0:15:43.434431", "seconds": 943.434431}, "exception": null, "extra": {"request_id": "af3bcd59-830a-4131-a147-a62fe6edfd36", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 201, "duration_ms": 21.25, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/telegram-bots - 201 - 21.25ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:31.345228+00:00", "timestamp": 1773421351.345228}}}
{"text": "2026-03-13 17:02:31.392 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/telegram-bots - 200 - 3.99ms\n", "record": {"elapsed": {"repr": "0:15:43.482145", "seconds": 943.482145}, "exception": null, "extra": {"request_id": "79a6334e-fb0a-4fd8-8791-da52765d96bd", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 200, "duration_ms": 3.99, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/telegram-bots - 200 - 3.99ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:02:31.392942+00:00", "timestamp": 1773421351.392942}}}
{"text": "2026-03-13 17:04:03.789 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 16.82ms\n", "record": {"elapsed": {"repr": "0:17:15.880385", "seconds": 1035.880385}, "exception": null, "extra": {"request_id": "4cdff710-518f-4a0b-bdb5-b36a1752950a", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 16.82, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 16.82ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:04:03.789648+00:00", "timestamp": 1773421443.789648}}}
{"text": "2026-03-13 17:04:03.824 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 54.32ms\n", "record": {"elapsed": {"repr": "0:17:15.915732", "seconds": 1035.915732}, "exception": null, "extra": {"request_id": "4f5ed1f0-01b1-4677-a318-d529c93bc588", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 54.32, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 54.32ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:04:03.824995+00:00", "timestamp": 1773421443.824995}}}
{"text": "2026-03-13 17:04:03.833 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 59.17ms\n", "record": {"elapsed": {"repr": "0:17:15.924381", "seconds": 1035.924381}, "exception": null, "extra": {"request_id": "76b4be3d-029c-4d52-94ce-cb43be0996c2", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 59.17, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 59.17ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:04:03.833644+00:00", "timestamp": 1773421443.833644}}}
{"text": "2026-03-13 17:04:03.859 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 83.25ms\n", "record": {"elapsed": {"repr": "0:17:15.949825", "seconds": 1035.949825}, "exception": null, "extra": {"request_id": "dd4c4c8f-7c8f-4865-91c6-2cbecd639a80", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 83.25, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 83.25ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:04:03.859088+00:00", "timestamp": 1773421443.859088}}}
{"text": "2026-03-13 17:04:03.869 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/telegram-bots - 200 - 98.49ms\n", "record": {"elapsed": {"repr": "0:17:15.958734", "seconds": 1035.958734}, "exception": null, "extra": {"request_id": "f507c5f1-d2c0-4cc2-8bff-74a1c8966ae3", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 200, "duration_ms": 98.49, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/telegram-bots - 200 - 98.49ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:04:03.869531+00:00", "timestamp": 1773421443.869531}}}
{"text": "2026-03-13 17:04:03.879 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 106.16ms\n", "record": {"elapsed": {"repr": "0:17:15.968563", "seconds": 1035.968563}, "exception": null, "extra": {"request_id": "ee76d8bd-6878-491b-a2c0-9c5442d3db84", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 106.16, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 106.16ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:04:03.879360+00:00", "timestamp": 1773421443.87936}}}
{"text": "2026-03-13 17:04:03.880 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 105.84ms\n", "record": {"elapsed": {"repr": "0:17:15.969516", "seconds": 1035.969516}, "exception": null, "extra": {"request_id": "427e76c5-41be-412b-ab0c-2e80d1ba5cca", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 105.84, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 105.84ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:04:03.880313+00:00", "timestamp": 1773421443.880313}}}
{"text": "2026-03-13 17:04:06.250 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/12/control - 200 - 22.91ms\n", "record": {"elapsed": {"repr": "0:17:18.340915", "seconds": 1038.340915}, "exception": null, "extra": {"request_id": "e4e81edb-f83b-4378-b9b6-6a73f0b7be10", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/12/control", "status_code": 200, "duration_ms": 22.91, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/12/control - 200 - 22.91ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:04:06.250178+00:00", "timestamp": 1773421446.250178}}}
{"text": "2026-03-13 17:06:35.791 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/terminal/auto/deploy\n", "record": {"elapsed": {"repr": "0:19:47.882268", "seconds": 1187.882268}, "exception": null, "extra": {"request_id": "unknown", "user_id": "1", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "value_error", "loc": ["body", "side_priority"], "msg": "Value error, side_priority must be one of: yes, no, expensive, cheap", "input": "none", "ctx": {"error": "side_priority must be one of: yes, no, expensive, cheap"}, "url": "https://errors.pydantic.dev/2.5/v/value_error"}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/terminal/auto/deploy", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:06:35.791531+00:00", "timestamp": 1773421595.791531}}}
{"text": "2026-03-13 17:06:35.792 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 422 - 7.97ms\n", "record": {"elapsed": {"repr": "0:19:47.883253", "seconds": 1187.883253}, "exception": null, "extra": {"request_id": "ed84007a-b49c-40fc-8709-d883cea2b16e", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 422, "duration_ms": 7.97, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 422 - 7.97ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:06:35.792516+00:00", "timestamp": 1773421595.792516}}}
{"text": "2026-03-13 17:08:15.296 | WARNING  | app.core.exceptions:validation_exception_handler:119 - Validation error on /api/v1/terminal/auto/deploy\n", "record": {"elapsed": {"repr": "0:21:27.386090", "seconds": 1287.38609}, "exception": null, "extra": {"request_id": "unknown", "user_id": "1", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-", "errors": [{"type": "value_error", "loc": ["body", "side_priority"], "msg": "Value error, side_priority must be one of: yes, no, expensive, cheap", "input": "none", "ctx": {"error": "side_priority must be one of: yes, no, expensive, cheap"}, "url": "https://errors.pydantic.dev/2.5/v/value_error"}]}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "validation_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 119, "message": "Validation error on /api/v1/terminal/auto/deploy", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:08:15.296887+00:00", "timestamp": 1773421695.296887}}}
{"text": "2026-03-13 17:08:15.297 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 422 - 3.09ms\n", "record": {"elapsed": {"repr": "0:21:27.386772", "seconds": 1287.386772}, "exception": null, "extra": {"request_id": "95ab2837-d8ba-45b4-ab79-c689d64021ad", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 422, "duration_ms": 3.09, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 422 - 3.09ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:08:15.297569+00:00", "timestamp": 1773421695.297569}}}
{"text": "2026-03-13 17:13:25.418 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 5.03ms\n", "record": {"elapsed": {"repr": "0:26:37.507643", "seconds": 1597.507643}, "exception": null, "extra": {"request_id": "3d7015d5-08f1-48d2-ac91-b2264890325b", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 5.03, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 5.03ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:25.418440+00:00", "timestamp": 1773422005.41844}}}
{"text": "2026-03-13 17:13:30.840 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 326.17ms\n", "record": {"elapsed": {"repr": "0:26:42.929286", "seconds": 1602.929286}, "exception": null, "extra": {"request_id": "7023df2a-4ed5-452d-a39e-61751ee774d5", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 326.17, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 326.17ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:30.840083+00:00", "timestamp": 1773422010.840083}}}
{"text": "2026-03-13 17:13:30.973 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 4.74ms\n", "record": {"elapsed": {"repr": "0:26:43.062497", "seconds": 1603.062497}, "exception": null, "extra": {"request_id": "7eacd5f1-bd2e-46eb-8ef5-d869911973e7", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 4.74, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 4.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:30.973294+00:00", "timestamp": 1773422010.973294}}}
{"text": "2026-03-13 17:13:30.975 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 3.61ms\n", "record": {"elapsed": {"repr": "0:26:43.066001", "seconds": 1603.066001}, "exception": null, "extra": {"request_id": "930debac-7837-4caa-8e2e-fc3bc411a5c5", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 3.61, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 3.61ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:30.975264+00:00", "timestamp": 1773422010.975264}}}
{"text": "2026-03-13 17:13:30.977 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 8.01ms\n", "record": {"elapsed": {"repr": "0:26:43.068257", "seconds": 1603.068257}, "exception": null, "extra": {"request_id": "50298f56-7ea2-4e78-aad7-60f3d3012c9e", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 8.01, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 8.01ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:30.977520+00:00", "timestamp": 1773422010.97752}}}
{"text": "2026-03-13 17:13:30.979 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/telegram-bots - 200 - 15.0ms\n", "record": {"elapsed": {"repr": "0:26:43.068263", "seconds": 1603.068263}, "exception": null, "extra": {"request_id": "ea029df9-f145-4599-9a04-4ba55890348b", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 200, "duration_ms": 15.0, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/telegram-bots - 200 - 15.0ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:30.979060+00:00", "timestamp": 1773422010.97906}}}
{"text": "2026-03-13 17:13:30.980 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 9.89ms\n", "record": {"elapsed": {"repr": "0:26:43.071425", "seconds": 1603.071425}, "exception": null, "extra": {"request_id": "534bb363-a404-4185-9810-50e4b692829d", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 9.89, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 9.89ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:30.980688+00:00", "timestamp": 1773422010.980688}}}
{"text": "2026-03-13 17:13:30.983 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 18.26ms\n", "record": {"elapsed": {"repr": "0:26:43.073761", "seconds": 1603.073761}, "exception": null, "extra": {"request_id": "1cae38fc-c170-4a4a-adac-b2c49285d4d5", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 18.26, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 18.26ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:30.983024+00:00", "timestamp": 1773422010.983024}}}
{"text": "2026-03-13 17:13:30.990 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 10.63ms\n", "record": {"elapsed": {"repr": "0:26:43.079867", "seconds": 1603.079867}, "exception": null, "extra": {"request_id": "3c951797-ea05-4781-9ae2-8a9f35ea7ea2", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 10.63, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 10.63ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:30.990664+00:00", "timestamp": 1773422010.990664}}}
{"text": "2026-03-13 17:13:32.209 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/me - 200 - 2.18ms\n", "record": {"elapsed": {"repr": "0:26:44.299743", "seconds": 1604.299743}, "exception": null, "extra": {"request_id": "e3228bdb-b988-4bbb-8db2-ffbe95a7e0e5", "user_id": "1", "method": "GET", "path": "/api/v1/auth/me", "status_code": 200, "duration_ms": 2.18, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/me - 200 - 2.18ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:32.209006+00:00", "timestamp": 1773422012.209006}}}
{"text": "2026-03-13 17:13:32.213 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/telegram-bots - 200 - 6.67ms\n", "record": {"elapsed": {"repr": "0:26:44.302285", "seconds": 1604.302285}, "exception": null, "extra": {"request_id": "3f02b9fb-d77d-45c7-972c-d13f023e5cc9", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 200, "duration_ms": 6.67, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/telegram-bots - 200 - 6.67ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:32.213082+00:00", "timestamp": 1773422012.213082}}}
{"text": "2026-03-13 17:13:32.215 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 3.98ms\n", "record": {"elapsed": {"repr": "0:26:44.306298", "seconds": 1604.306298}, "exception": null, "extra": {"request_id": "9a390919-0a36-4f97-ba4e-576c6227ddb1", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 3.98, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 3.98ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:32.215561+00:00", "timestamp": 1773422012.215561}}}
{"text": "2026-03-13 17:13:36.142 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 10.08ms\n", "record": {"elapsed": {"repr": "0:26:48.231623", "seconds": 1608.231623}, "exception": null, "extra": {"request_id": "c92c61f7-27d4-4a67-9ac5-cfaf82919ddc", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 10.08, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 10.08ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:36.142420+00:00", "timestamp": 1773422016.14242}}}
{"text": "2026-03-13 17:13:36.143 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 12.87ms\n", "record": {"elapsed": {"repr": "0:26:48.233883", "seconds": 1608.233883}, "exception": null, "extra": {"request_id": "3820a00d-a43b-45b2-bdeb-f7b17c7fb011", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 12.87, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 12.87ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:36.143146+00:00", "timestamp": 1773422016.143146}}}
{"text": "2026-03-13 17:13:36.144 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 14.73ms\n", "record": {"elapsed": {"repr": "0:26:48.233490", "seconds": 1608.23349}, "exception": null, "extra": {"request_id": "4f8b0f05-093c-4888-a96a-b6dea406a670", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 14.73, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 14.73ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:36.144287+00:00", "timestamp": 1773422016.144287}}}
{"text": "2026-03-13 17:13:36.150 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 13.3ms\n", "record": {"elapsed": {"repr": "0:26:48.240001", "seconds": 1608.240001}, "exception": null, "extra": {"request_id": "5d747562-6a49-4013-a3e8-832602431b29", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 13.3, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 13.3ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:36.150798+00:00", "timestamp": 1773422016.150798}}}
{"text": "2026-03-13 17:13:36.151 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 16.66ms\n", "record": {"elapsed": {"repr": "0:26:48.242611", "seconds": 1608.242611}, "exception": null, "extra": {"request_id": "3e264e1b-12a6-45ea-8f5b-ddb8be0d80b0", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 16.66, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 16.66ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:36.151874+00:00", "timestamp": 1773422016.151874}}}
{"text": "2026-03-13 17:13:36.156 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 18.65ms\n", "record": {"elapsed": {"repr": "0:26:48.247669", "seconds": 1608.247669}, "exception": null, "extra": {"request_id": "5637277f-f472-4028-8249-a98f814bb5d0", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 18.65, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 18.65ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:36.156932+00:00", "timestamp": 1773422016.156932}}}
{"text": "2026-03-13 17:13:36.159 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/telegram-bots - 200 - 23.33ms\n", "record": {"elapsed": {"repr": "0:26:48.248468", "seconds": 1608.248468}, "exception": null, "extra": {"request_id": "609717d1-be32-4853-ac01-2fbe230d38c7", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 200, "duration_ms": 23.33, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/telegram-bots - 200 - 23.33ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:36.159265+00:00", "timestamp": 1773422016.159265}}}
{"text": "2026-03-13 17:13:52.095 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 231.05ms\n", "record": {"elapsed": {"repr": "0:27:04.186556", "seconds": 1624.186556}, "exception": null, "extra": {"request_id": "fb0c8b94-a655-4371-8174-27cf96ef81c6", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 231.05, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 231.05ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:52.095819+00:00", "timestamp": 1773422032.095819}}}
{"text": "2026-03-13 17:13:52.149 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 4.35ms\n", "record": {"elapsed": {"repr": "0:27:04.240352", "seconds": 1624.240352}, "exception": null, "extra": {"request_id": "134d5bf9-950c-44b0-8ac7-8dc75e9769ff", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 4.35, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 4.35ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:13:52.149615+00:00", "timestamp": 1773422032.149615}}}
{"text": "2026-03-13 17:14:31.339 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/15/control - 200 - 8.72ms\n", "record": {"elapsed": {"repr": "0:27:43.430578", "seconds": 1663.430578}, "exception": null, "extra": {"request_id": "1289cc14-74e6-4bcf-b8fe-3592d50c9b10", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/15/control", "status_code": 200, "duration_ms": 8.72, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/15/control - 200 - 8.72ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:14:31.339841+00:00", "timestamp": 1773422071.339841}}}
{"text": "2026-03-13 17:14:31.353 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/15/control - 200 - 7.38ms\n", "record": {"elapsed": {"repr": "0:27:43.444101", "seconds": 1663.444101}, "exception": null, "extra": {"request_id": "73f699db-905c-4fa4-a6b1-9fda053334c0", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/15/control", "status_code": 200, "duration_ms": 7.38, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/15/control - 200 - 7.38ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:14:31.353364+00:00", "timestamp": 1773422071.353364}}}
{"text": "2026-03-13 17:14:31.899 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/15/control - 200 - 13.57ms\n", "record": {"elapsed": {"repr": "0:27:43.990609", "seconds": 1663.990609}, "exception": null, "extra": {"request_id": "b9483a5d-3d79-44e7-b389-d4d0047d4614", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/15/control", "status_code": 200, "duration_ms": 13.57, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/15/control - 200 - 13.57ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:14:31.899872+00:00", "timestamp": 1773422071.899872}}}
{"text": "2026-03-13 17:14:31.937 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/instances/15/control - 200 - 6.69ms\n", "record": {"elapsed": {"repr": "0:27:44.028359", "seconds": 1664.028359}, "exception": null, "extra": {"request_id": "70252b64-5e70-4145-ac1f-5d25ff83c4d7", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/instances/15/control", "status_code": 200, "duration_ms": 6.69, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/instances/15/control - 200 - 6.69ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 17:14:31.937622+00:00", "timestamp": 1773422071.937622}}}
{"text": "2026-03-13 23:29:51.172 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 1.35ms\n", "record": {"elapsed": {"repr": "6:43:03.261387", "seconds": 24183.261387}, "exception": null, "extra": {"request_id": "108fdea1-e3c3-4327-8b7b-7ab310b3ea42", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 1.35, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 1.35ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:29:51.172184+00:00", "timestamp": 1773444591.172184}}}
{"text": "2026-03-13 23:29:51.186 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.61ms\n", "record": {"elapsed": {"repr": "6:43:03.276042", "seconds": 24183.276042}, "exception": null, "extra": {"request_id": "5c2dff5a-cd97-46fc-9c46-f69a22663079", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.61, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.61ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:29:51.186839+00:00", "timestamp": 1773444591.186839}}}
{"text": "2026-03-13 23:29:51.191 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.65ms\n", "record": {"elapsed": {"repr": "6:43:03.280930", "seconds": 24183.28093}, "exception": null, "extra": {"request_id": "95ce4cea-7db9-4837-8428-701aff7b2671", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.65, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2.1 Safari/605.1.15"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.65ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:29:51.191727+00:00", "timestamp": 1773444591.191727}}}
{"text": "2026-03-13 23:29:51.252 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.61ms\n", "record": {"elapsed": {"repr": "6:43:03.341415", "seconds": 24183.341415}, "exception": null, "extra": {"request_id": "51bd0207-a32a-4547-bda6-1399331c0cce", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.61, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.61ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:29:51.252212+00:00", "timestamp": 1773444591.252212}}}
{"text": "2026-03-13 23:31:26.685 | INFO     | app.main:lifespan:38 - 🛑 Shutting down application...\n", "record": {"elapsed": {"repr": "6:44:38.776239", "seconds": 24278.776239}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 38, "message": "🛑 Shutting down application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:26.685502+00:00", "timestamp": 1773444686.685502}}}
{"text": "2026-03-13 23:31:26.686 | INFO     | app.main:lifespan:41 - ✅ Redis closed\n", "record": {"elapsed": {"repr": "6:44:38.777148", "seconds": 24278.777148}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 41, "message": "✅ Redis closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:26.686411+00:00", "timestamp": 1773444686.686411}}}
{"text": "2026-03-13 23:31:26.695 | INFO     | app.main:lifespan:43 - ✅ Database closed\n", "record": {"elapsed": {"repr": "6:44:38.786026", "seconds": 24278.786026}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 43, "message": "✅ Database closed", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733432332320, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:26.695289+00:00", "timestamp": 1773444686.695289}}}
{"text": "2026-03-13 23:31:42.520 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.796976", "seconds": 1.796976}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:42.520930+00:00", "timestamp": 1773444702.52093}}}
{"text": "2026-03-13 23:31:42.521 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.797600", "seconds": 1.7976}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:42.521554+00:00", "timestamp": 1773444702.521554}}}
{"text": "2026-03-13 23:31:42.541 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:01.707861", "seconds": 1.707861}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:42.541509+00:00", "timestamp": 1773444702.541509}}}
{"text": "2026-03-13 23:31:42.542 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:01.708547", "seconds": 1.708547}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:42.542195+00:00", "timestamp": 1773444702.542195}}}
{"text": "2026-03-13 23:31:42.570 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.846799", "seconds": 1.846799}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:42.570753+00:00", "timestamp": 1773444702.570753}}}
{"text": "2026-03-13 23:31:42.571 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.847693", "seconds": 1.847693}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:42.571647+00:00", "timestamp": 1773444702.571647}}}
{"text": "2026-03-13 23:31:42.590 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:01.757025", "seconds": 1.757025}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:42.590673+00:00", "timestamp": 1773444702.590673}}}
{"text": "2026-03-13 23:31:42.591 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:01.757910", "seconds": 1.75791}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:31:42.591558+00:00", "timestamp": 1773444702.591558}}}
{"text": "2026-03-13 23:33:20.081 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 401 - 3.93ms\n", "record": {"elapsed": {"repr": "0:01:39.248223", "seconds": 99.248223}, "exception": null, "extra": {"request_id": "29e2af44-437c-4b5f-a819-cc40fd1bd518", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 401, "duration_ms": 3.93, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 401 - 3.93ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:20.081871+00:00", "timestamp": 1773444800.081871}}}
{"text": "2026-03-13 23:33:20.081 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 401 - 3.93ms\n", "record": {"elapsed": {"repr": "0:01:39.357923", "seconds": 99.357923}, "exception": null, "extra": {"request_id": "e566c2d2-ba3c-44b6-8f7e-53c72464a36a", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 401, "duration_ms": 3.93, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 401 - 3.93ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:20.081877+00:00", "timestamp": 1773444800.081877}}}
{"text": "2026-03-13 23:33:27.407 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials. 2 attempt(s) remaining.\n", "record": {"elapsed": {"repr": "0:01:46.573874", "seconds": 106.573874}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials. 2 attempt(s) remaining.", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:27.407522+00:00", "timestamp": 1773444807.407522}}}
{"text": "2026-03-13 23:33:27.408 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 364.22ms\n", "record": {"elapsed": {"repr": "0:01:46.574898", "seconds": 106.574898}, "exception": null, "extra": {"request_id": "9ee1cc09-3c81-4a93-978f-4ee5529f5c76", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 364.22, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 364.22ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:27.408546+00:00", "timestamp": 1773444807.408546}}}
{"text": "2026-03-13 23:33:30.745 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Invalid credentials. 1 attempt(s) remaining.\n", "record": {"elapsed": {"repr": "0:01:49.912298", "seconds": 109.912298}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Invalid credentials. 1 attempt(s) remaining.", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:30.745946+00:00", "timestamp": 1773444810.745946}}}
{"text": "2026-03-13 23:33:30.746 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 289.84ms\n", "record": {"elapsed": {"repr": "0:01:49.913221", "seconds": 109.913221}, "exception": null, "extra": {"request_id": "c23ba37b-14d1-471b-8c7c-fb2422828546", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 289.84, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 289.84ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:30.746869+00:00", "timestamp": 1773444810.746869}}}
{"text": "2026-03-13 23:33:34.870 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 304.68ms\n", "record": {"elapsed": {"repr": "0:01:54.037317", "seconds": 114.037317}, "exception": null, "extra": {"request_id": "6f90ee59-fb47-43ae-97e9-a4832a1dc49f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 304.68, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 304.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:34.870965+00:00", "timestamp": 1773444814.870965}}}
{"text": "2026-03-13 23:33:34.955 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/telegram-bots - 200 - 18.72ms\n", "record": {"elapsed": {"repr": "0:01:54.121645", "seconds": 114.121645}, "exception": null, "extra": {"request_id": "a33d9deb-9512-4232-bc14-71305f3ef299", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 200, "duration_ms": 18.72, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/telegram-bots - 200 - 18.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:34.955293+00:00", "timestamp": 1773444814.955293}}}
{"text": "2026-03-13 23:33:34.959 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 10.85ms\n", "record": {"elapsed": {"repr": "0:01:54.126079", "seconds": 114.126079}, "exception": null, "extra": {"request_id": "1c08f6d2-dfb4-42c1-af8f-93b76aebbdb7", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 10.85, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 10.85ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:34.959727+00:00", "timestamp": 1773444814.959727}}}
{"text": "2026-03-13 23:33:34.965 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 13.88ms\n", "record": {"elapsed": {"repr": "0:01:54.131950", "seconds": 114.13195}, "exception": null, "extra": {"request_id": "830dd476-d374-4c52-8225-08b43cba2411", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 13.88, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 13.88ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:34.965598+00:00", "timestamp": 1773444814.965598}}}
{"text": "2026-03-13 23:33:34.967 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 16.85ms\n", "record": {"elapsed": {"repr": "0:01:54.133779", "seconds": 114.133779}, "exception": null, "extra": {"request_id": "50a49f36-110b-413f-aac5-96f127376b30", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 16.85, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 16.85ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:34.967427+00:00", "timestamp": 1773444814.967427}}}
{"text": "2026-03-13 23:33:35.004 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 50.23ms\n", "record": {"elapsed": {"repr": "0:01:54.280218", "seconds": 114.280218}, "exception": null, "extra": {"request_id": "0ea54ccb-07d4-4bd8-933b-0a2445399856", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 50.23, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 50.23ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:35.004172+00:00", "timestamp": 1773444815.004172}}}
{"text": "2026-03-13 23:33:35.054 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 105.75ms\n", "record": {"elapsed": {"repr": "0:01:54.330606", "seconds": 114.330606}, "exception": null, "extra": {"request_id": "af68bfaa-3f94-49f8-96e0-7d4bf78d8d49", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 105.75, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 105.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:35.054560+00:00", "timestamp": 1773444815.05456}}}
{"text": "2026-03-13 23:33:35.071 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 119.51ms\n", "record": {"elapsed": {"repr": "0:01:54.347658", "seconds": 114.347658}, "exception": null, "extra": {"request_id": "73e58202-c5e3-47d8-ac79-3319377180b8", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 119.51, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 119.51ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:33:35.071612+00:00", "timestamp": 1773444815.071612}}}
{"text": "2026-03-13 23:34:13.687 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/deploy - 201 - 168.77ms\n", "record": {"elapsed": {"repr": "0:02:32.853873", "seconds": 152.853873}, "exception": null, "extra": {"request_id": "53185a5c-6faa-40d5-a3f8-3a394ecedf1c", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/deploy", "status_code": 201, "duration_ms": 168.77, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/deploy - 201 - 168.77ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:34:13.687521+00:00", "timestamp": 1773444853.687521}}}
{"text": "2026-03-13 23:34:13.755 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 4.05ms\n", "record": {"elapsed": {"repr": "0:02:32.921615", "seconds": 152.921615}, "exception": null, "extra": {"request_id": "805c1132-617d-4369-b902-ce1241507940", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 4.05, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 4.05ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-13 23:34:13.755263+00:00", "timestamp": 1773444853.755263}}}
{"text": "2026-03-14 03:13:13.633 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 401 - 16.23ms\n", "record": {"elapsed": {"repr": "3:41:32.909305", "seconds": 13292.909305}, "exception": null, "extra": {"request_id": "eddc9094-34d2-4983-8ea8-7da9fcba41c1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 401, "duration_ms": 16.23, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 401 - 16.23ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:13:13.633259+00:00", "timestamp": 1773457993.633259}}}
{"text": "2026-03-14 03:24:41.347 | INFO     | app.main:log_requests:103 - GET /api/v1/.env - 404 - 1.33ms\n", "record": {"elapsed": {"repr": "3:53:00.623965", "seconds": 13980.623965}, "exception": null, "extra": {"request_id": "942a2408-1788-4717-9f6f-67cd8bd9b105", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env", "status_code": 404, "duration_ms": 1.33, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env - 404 - 1.33ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:24:41.347919+00:00", "timestamp": 1773458681.347919}}}
{"text": "2026-03-14 03:24:43.213 | INFO     | app.main:log_requests:103 - GET /api/v1/config.php - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "3:53:02.489280", "seconds": 13982.48928}, "exception": null, "extra": {"request_id": "c421604f-9c6a-46e8-99c7-d5e983e32071", "user_id": "anonymous", "method": "GET", "path": "/api/v1/config.php", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/config.php - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:24:43.213234+00:00", "timestamp": 1773458683.213234}}}
{"text": "2026-03-14 03:24:50.619 | INFO     | app.main:log_requests:103 - GET /api/v1 - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:53:09.786205", "seconds": 13989.786205}, "exception": null, "extra": {"request_id": "4911b939-eb7b-433b-8651-cef37e5ed440", "user_id": "anonymous", "method": "GET", "path": "/api/v1", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1 - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:24:50.619853+00:00", "timestamp": 1773458690.619853}}}
{"text": "2026-03-14 03:24:59.148 | INFO     | app.main:log_requests:103 - GET /api/v1/info - 404 - 0.51ms\n", "record": {"elapsed": {"repr": "3:53:18.315091", "seconds": 13998.315091}, "exception": null, "extra": {"request_id": "f242d09b-639b-47e7-83cc-4324cca22140", "user_id": "anonymous", "method": "GET", "path": "/api/v1/info", "status_code": 404, "duration_ms": 0.51, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/info - 404 - 0.51ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:24:59.148739+00:00", "timestamp": 1773458699.148739}}}
{"text": "2026-03-14 03:25:18.212 | INFO     | app.main:log_requests:103 - GET /api/v1/.env.back - 404 - 0.77ms\n", "record": {"elapsed": {"repr": "3:53:37.379350", "seconds": 14017.37935}, "exception": null, "extra": {"request_id": "96636802-a519-44e2-9798-520a9e252bc0", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env.back", "status_code": 404, "duration_ms": 0.77, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env.back - 404 - 0.77ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:18.212998+00:00", "timestamp": 1773458718.212998}}}
{"text": "2026-03-14 03:25:18.345 | INFO     | app.main:log_requests:103 - GET /api/v1/.env.example - 404 - 0.65ms\n", "record": {"elapsed": {"repr": "3:53:37.511525", "seconds": 14017.511525}, "exception": null, "extra": {"request_id": "7923106e-6e0f-46e1-b921-40b1a6ae62e8", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env.example", "status_code": 404, "duration_ms": 0.65, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env.example - 404 - 0.65ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:18.345173+00:00", "timestamp": 1773458718.345173}}}
{"text": "2026-03-14 03:25:18.480 | INFO     | app.main:log_requests:103 - GET /api/v1/.env.sample - 404 - 0.66ms\n", "record": {"elapsed": {"repr": "3:53:37.646748", "seconds": 14017.646748}, "exception": null, "extra": {"request_id": "24359cbc-1cfa-4319-b604-eb83a9f123ae", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env.sample", "status_code": 404, "duration_ms": 0.66, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env.sample - 404 - 0.66ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:18.480396+00:00", "timestamp": 1773458718.480396}}}
{"text": "2026-03-14 03:25:18.614 | INFO     | app.main:log_requests:103 - GET /api/v1/.env.save - 404 - 0.69ms\n", "record": {"elapsed": {"repr": "3:53:37.780700", "seconds": 14017.7807}, "exception": null, "extra": {"request_id": "e6165c3b-2c54-4aeb-a100-931e16052f91", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env.save", "status_code": 404, "duration_ms": 0.69, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env.save - 404 - 0.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:18.614348+00:00", "timestamp": 1773458718.614348}}}
{"text": "2026-03-14 03:25:18.745 | INFO     | app.main:log_requests:103 - GET /api/v1/debug - 404 - 0.69ms\n", "record": {"elapsed": {"repr": "3:53:37.912240", "seconds": 14017.91224}, "exception": null, "extra": {"request_id": "f6a16a58-d63d-4490-858b-38510dd84c9f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/debug", "status_code": 404, "duration_ms": 0.69, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/debug - 404 - 0.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:18.745888+00:00", "timestamp": 1773458718.745888}}}
{"text": "2026-03-14 03:25:18.874 | INFO     | app.main:log_requests:103 - GET /api/v1/docs/ - 404 - 0.63ms\n", "record": {"elapsed": {"repr": "3:53:38.040401", "seconds": 14018.040401}, "exception": null, "extra": {"request_id": "5b81813e-7e31-402b-b7ad-492d9dac4ab7", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs/", "status_code": 404, "duration_ms": 0.63, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs/ - 404 - 0.63ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:18.874049+00:00", "timestamp": 1773458718.874049}}}
{"text": "2026-03-14 03:25:19.003 | INFO     | app.main:log_requests:103 - GET /api/v1/env - 404 - 0.69ms\n", "record": {"elapsed": {"repr": "3:53:38.170192", "seconds": 14018.170192}, "exception": null, "extra": {"request_id": "3e5d53e7-ba3e-45be-9a7b-a983f1e267da", "user_id": "anonymous", "method": "GET", "path": "/api/v1/env", "status_code": 404, "duration_ms": 0.69, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/env - 404 - 0.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:19.003840+00:00", "timestamp": 1773458719.00384}}}
{"text": "2026-03-14 03:25:19.133 | INFO     | app.main:log_requests:103 - GET /api/v1/info.php - 404 - 0.7ms\n", "record": {"elapsed": {"repr": "3:53:38.300106", "seconds": 14018.300106}, "exception": null, "extra": {"request_id": "60dece97-722f-4fa5-9d64-88057737049d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/info.php", "status_code": 404, "duration_ms": 0.7, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/info.php - 404 - 0.7ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:19.133754+00:00", "timestamp": 1773458719.133754}}}
{"text": "2026-03-14 03:25:19.276 | INFO     | app.main:log_requests:103 - GET /api/v1/internal/ - 404 - 0.73ms\n", "record": {"elapsed": {"repr": "3:53:38.442592", "seconds": 14018.442592}, "exception": null, "extra": {"request_id": "d2680bc4-c3b9-40d2-b6ab-20b489f85927", "user_id": "anonymous", "method": "GET", "path": "/api/v1/internal/", "status_code": 404, "duration_ms": 0.73, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/internal/ - 404 - 0.73ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:19.276240+00:00", "timestamp": 1773458719.27624}}}
{"text": "2026-03-14 03:25:19.409 | INFO     | app.main:log_requests:103 - GET /api/v1/keys - 404 - 0.66ms\n", "record": {"elapsed": {"repr": "3:53:38.576122", "seconds": 14018.576122}, "exception": null, "extra": {"request_id": "f34dcf97-462c-49fd-a4e2-b97f2fb18b11", "user_id": "anonymous", "method": "GET", "path": "/api/v1/keys", "status_code": 404, "duration_ms": 0.66, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/keys - 404 - 0.66ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:19.409770+00:00", "timestamp": 1773458719.40977}}}
{"text": "2026-03-14 03:25:19.542 | INFO     | app.main:log_requests:103 - GET /api/v1/private/ - 404 - 0.73ms\n", "record": {"elapsed": {"repr": "3:53:38.709169", "seconds": 14018.709169}, "exception": null, "extra": {"request_id": "4cfb478a-6449-4341-8ac8-6c86e2c6a304", "user_id": "anonymous", "method": "GET", "path": "/api/v1/private/", "status_code": 404, "duration_ms": 0.73, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/private/ - 404 - 0.73ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:19.542817+00:00", "timestamp": 1773458719.542817}}}
{"text": "2026-03-14 03:25:19.677 | INFO     | app.main:log_requests:103 - GET /api/v1/src/.env - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "3:53:38.844202", "seconds": 14018.844202}, "exception": null, "extra": {"request_id": "9c0f6c77-a918-4204-9632-8e2a99b5b8a5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/src/.env", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/src/.env - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:19.677850+00:00", "timestamp": 1773458719.67785}}}
{"text": "2026-03-14 03:25:19.806 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/.env - 404 - 0.62ms\n", "record": {"elapsed": {"repr": "3:53:38.972883", "seconds": 14018.972883}, "exception": null, "extra": {"request_id": "e7e7cb3e-add5-4be1-803e-e2ce15c7ed9b", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/.env", "status_code": 404, "duration_ms": 0.62, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/.env - 404 - 0.62ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:19.806531+00:00", "timestamp": 1773458719.806531}}}
{"text": "2026-03-14 03:25:19.949 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/debug - 404 - 0.67ms\n", "record": {"elapsed": {"repr": "3:53:39.115471", "seconds": 14019.115471}, "exception": null, "extra": {"request_id": "8aaccf6d-8efd-47ac-9c15-58e064723265", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/debug", "status_code": 404, "duration_ms": 0.67, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/debug - 404 - 0.67ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:19.949119+00:00", "timestamp": 1773458719.949119}}}
{"text": "2026-03-14 03:25:20.088 | INFO     | app.main:log_requests:103 - GET /api/v1/v2/.env - 404 - 0.65ms\n", "record": {"elapsed": {"repr": "3:53:39.254867", "seconds": 14019.254867}, "exception": null, "extra": {"request_id": "96915f32-4c20-466c-a020-8bbd82c51c15", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v2/.env", "status_code": 404, "duration_ms": 0.65, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v2/.env - 404 - 0.65ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:25:20.088515+00:00", "timestamp": 1773458720.088515}}}
{"text": "2026-03-14 03:27:29.419 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.56ms\n", "record": {"elapsed": {"repr": "3:55:48.585615", "seconds": 14148.585615}, "exception": null, "extra": {"request_id": "73aeb0fe-335d-4eb5-8c7b-c9171615480f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.56, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:29.419263+00:00", "timestamp": 1773458849.419263}}}
{"text": "2026-03-14 03:27:29.563 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "3:55:48.730310", "seconds": 14148.73031}, "exception": null, "extra": {"request_id": "7543d64d-1fe3-415f-9b3c-64faf21448c2", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:29.563958+00:00", "timestamp": 1773458849.563958}}}
{"text": "2026-03-14 03:27:29.710 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:55:48.876619", "seconds": 14148.876619}, "exception": null, "extra": {"request_id": "23826241-ed39-41f8-8a6d-21091a6ecb75", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:29.710267+00:00", "timestamp": 1773458849.710267}}}
{"text": "2026-03-14 03:27:30.069 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:55:49.235741", "seconds": 14149.235741}, "exception": null, "extra": {"request_id": "4869e5f7-781d-4817-959a-528b8e95556d", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:30.069389+00:00", "timestamp": 1773458850.069389}}}
{"text": "2026-03-14 03:27:30.212 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:55:49.379076", "seconds": 14149.379076}, "exception": null, "extra": {"request_id": "fe20250a-56bd-41cf-b459-1f86d7ee2473", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:30.212724+00:00", "timestamp": 1773458850.212724}}}
{"text": "2026-03-14 03:27:30.358 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:55:49.525111", "seconds": 14149.525111}, "exception": null, "extra": {"request_id": "d7832d2c-ca88-4cbf-9fe4-1cb1bc7c0632", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:30.358759+00:00", "timestamp": 1773458850.358759}}}
{"text": "2026-03-14 03:27:34.165 | INFO     | app.main:log_requests:103 - GET /api/v1/v1 - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:55:53.331559", "seconds": 14153.331559}, "exception": null, "extra": {"request_id": "fffc57d6-1b02-4353-b95f-a33eaeb558d5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1 - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:34.165207+00:00", "timestamp": 1773458854.165207}}}
{"text": "2026-03-14 03:27:34.296 | INFO     | app.main:log_requests:103 - GET /api/v1/service - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:55:53.463110", "seconds": 14153.46311}, "exception": null, "extra": {"request_id": "937f8e04-9018-4b63-8b47-9d078126f546", "user_id": "anonymous", "method": "GET", "path": "/api/v1/service", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/service - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:34.296758+00:00", "timestamp": 1773458854.296758}}}
{"text": "2026-03-14 03:27:34.430 | INFO     | app.main:log_requests:103 - GET /api/v1/system/info - 404 - 0.7ms\n", "record": {"elapsed": {"repr": "3:55:53.596392", "seconds": 14153.596392}, "exception": null, "extra": {"request_id": "8b6fc2f9-6389-45e2-b220-1749aad86efe", "user_id": "anonymous", "method": "GET", "path": "/api/v1/system/info", "status_code": 404, "duration_ms": 0.7, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/system/info - 404 - 0.7ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:34.430040+00:00", "timestamp": 1773458854.43004}}}
{"text": "2026-03-14 03:27:34.567 | INFO     | app.main:log_requests:103 - GET /api/v1/gateway - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "3:55:53.733773", "seconds": 14153.733773}, "exception": null, "extra": {"request_id": "130468cd-3858-4377-8212-325dde321ef6", "user_id": "anonymous", "method": "GET", "path": "/api/v1/gateway", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/gateway - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:34.567421+00:00", "timestamp": 1773458854.567421}}}
{"text": "2026-03-14 03:27:34.704 | INFO     | app.main:log_requests:103 - GET /api/v1/command - 404 - 0.73ms\n", "record": {"elapsed": {"repr": "3:55:53.871045", "seconds": 14153.871045}, "exception": null, "extra": {"request_id": "6f7b83d0-1e7f-4483-aee6-27f52c163bfc", "user_id": "anonymous", "method": "GET", "path": "/api/v1/command", "status_code": 404, "duration_ms": 0.73, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/command - 404 - 0.73ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:34.704693+00:00", "timestamp": 1773458854.704693}}}
{"text": "2026-03-14 03:27:34.843 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/user - 404 - 0.65ms\n", "record": {"elapsed": {"repr": "3:55:54.009622", "seconds": 14154.009622}, "exception": null, "extra": {"request_id": "99e4e98e-d156-4c84-9efb-ef30ce097850", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/user", "status_code": 404, "duration_ms": 0.65, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/user - 404 - 0.65ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:34.843270+00:00", "timestamp": 1773458854.84327}}}
{"text": "2026-03-14 03:27:34.980 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/user/password - 404 - 0.67ms\n", "record": {"elapsed": {"repr": "3:55:54.146974", "seconds": 14154.146974}, "exception": null, "extra": {"request_id": "7af1cbef-682f-4ac0-95f1-727d6953e61e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/user/password", "status_code": 404, "duration_ms": 0.67, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/user/password - 404 - 0.67ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:34.980622+00:00", "timestamp": 1773458854.980622}}}
{"text": "2026-03-14 03:27:35.111 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/user/status - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "3:55:54.277974", "seconds": 14154.277974}, "exception": null, "extra": {"request_id": "f7e335f9-f39c-4eb0-b2ee-72e0d1b4391a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/user/status", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/user/status - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:35.111622+00:00", "timestamp": 1773458855.111622}}}
{"text": "2026-03-14 03:27:35.281 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/auth - 404 - 0.65ms\n", "record": {"elapsed": {"repr": "3:55:54.448157", "seconds": 14154.448157}, "exception": null, "extra": {"request_id": "00f78e9c-896f-44a8-a825-2dd313120df5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/auth", "status_code": 404, "duration_ms": 0.65, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/auth - 404 - 0.65ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:35.281805+00:00", "timestamp": 1773458855.281805}}}
{"text": "2026-03-14 03:27:35.416 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/role - 404 - 0.67ms\n", "record": {"elapsed": {"repr": "3:55:54.582811", "seconds": 14154.582811}, "exception": null, "extra": {"request_id": "c8bc7016-9ecb-4766-997e-e3fb6281865c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/role", "status_code": 404, "duration_ms": 0.67, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/role - 404 - 0.67ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:35.416459+00:00", "timestamp": 1773458855.416459}}}
{"text": "2026-03-14 03:27:35.548 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/role/id - 404 - 0.67ms\n", "record": {"elapsed": {"repr": "3:55:54.715183", "seconds": 14154.715183}, "exception": null, "extra": {"request_id": "f7109e06-1509-4ca6-a8ec-dbd708061f06", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/role/id", "status_code": 404, "duration_ms": 0.67, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/role/id - 404 - 0.67ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:35.548831+00:00", "timestamp": 1773458855.548831}}}
{"text": "2026-03-14 03:27:35.681 | INFO     | app.main:log_requests:103 - GET /api/v1/admin - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "3:55:54.847513", "seconds": 14154.847513}, "exception": null, "extra": {"request_id": "d1f4742d-3039-48aa-80f1-83287d34afcb", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:35.681161+00:00", "timestamp": 1773458855.681161}}}
{"text": "2026-03-14 03:27:35.813 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/sms-sender - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "3:55:54.979987", "seconds": 14154.979987}, "exception": null, "extra": {"request_id": "b0fdf372-43cb-4f0a-b1f9-a08588286d38", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/sms-sender", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/sms-sender - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:35.813635+00:00", "timestamp": 1773458855.813635}}}
{"text": "2026-03-14 03:27:35.944 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/contact/manager - 404 - 0.66ms\n", "record": {"elapsed": {"repr": "3:55:55.111349", "seconds": 14155.111349}, "exception": null, "extra": {"request_id": "821e4630-b873-4936-a5f8-e40717c7eff0", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/contact/manager", "status_code": 404, "duration_ms": 0.66, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/contact/manager - 404 - 0.66ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:35.944997+00:00", "timestamp": 1773458855.944997}}}
{"text": "2026-03-14 03:27:36.076 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/privilege-api/forwarder - 404 - 0.73ms\n", "record": {"elapsed": {"repr": "3:55:55.242607", "seconds": 14155.242607}, "exception": null, "extra": {"request_id": "3f67928b-8a5f-4a35-976f-0cec254dc77c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/privilege-api/forwarder", "status_code": 404, "duration_ms": 0.73, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/privilege-api/forwarder - 404 - 0.73ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:36.076255+00:00", "timestamp": 1773458856.076255}}}
{"text": "2026-03-14 03:27:36.209 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/privilege-api/forwarder/event - 404 - 0.69ms\n", "record": {"elapsed": {"repr": "3:55:55.375548", "seconds": 14155.375548}, "exception": null, "extra": {"request_id": "0fc52010-7b85-417d-a570-949e0f36b3b3", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/privilege-api/forwarder/event", "status_code": 404, "duration_ms": 0.69, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/privilege-api/forwarder/event - 404 - 0.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:36.209196+00:00", "timestamp": 1773458856.209196}}}
{"text": "2026-03-14 03:27:36.340 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/open-api - 404 - 0.63ms\n", "record": {"elapsed": {"repr": "3:55:55.506829", "seconds": 14155.506829}, "exception": null, "extra": {"request_id": "6b3821f1-d6c0-48db-9d98-f0cd6772402e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/open-api", "status_code": 404, "duration_ms": 0.63, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/open-api - 404 - 0.63ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:36.340477+00:00", "timestamp": 1773458856.340477}}}
{"text": "2026-03-14 03:27:36.471 | INFO     | app.main:log_requests:103 - GET /api/v1/upload - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "3:55:55.637679", "seconds": 14155.637679}, "exception": null, "extra": {"request_id": "d72dfb74-f371-4dca-874a-6e6fbcb15e29", "user_id": "anonymous", "method": "GET", "path": "/api/v1/upload", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/upload - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:36.471327+00:00", "timestamp": 1773458856.471327}}}
{"text": "2026-03-14 03:27:36.620 | INFO     | app.main:log_requests:103 - GET /api/v1/savefile - 404 - 0.7ms\n", "record": {"elapsed": {"repr": "3:55:55.786872", "seconds": 14155.786872}, "exception": null, "extra": {"request_id": "b110c482-e3c5-40b5-b6fe-5dbc999f1da9", "user_id": "anonymous", "method": "GET", "path": "/api/v1/savefile", "status_code": 404, "duration_ms": 0.7, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/savefile - 404 - 0.7ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:36.620520+00:00", "timestamp": 1773458856.62052}}}
{"text": "2026-03-14 03:27:36.749 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/files - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "3:55:55.915716", "seconds": 14155.915716}, "exception": null, "extra": {"request_id": "896b481a-92c2-432d-9074-f39b9e527277", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/files - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:36.749364+00:00", "timestamp": 1773458856.749364}}}
{"text": "2026-03-14 03:27:36.887 | INFO     | app.main:log_requests:103 - GET /api/v1/files.remote.share - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "3:55:56.163918", "seconds": 14156.163918}, "exception": null, "extra": {"request_id": "af314861-e330-4de7-b14a-debdcf90d49d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/files.remote.share", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/files.remote.share - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:36.887872+00:00", "timestamp": 1773458856.887872}}}
{"text": "2026-03-14 03:27:37.016 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/netdisk/download - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "3:55:56.292293", "seconds": 14156.292293}, "exception": null, "extra": {"request_id": "846e5899-160a-4dbb-b6b2-d0fe262d390f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/netdisk/download", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/netdisk/download - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:37.016247+00:00", "timestamp": 1773458857.016247}}}
{"text": "2026-03-14 03:27:38.101 | INFO     | app.main:log_requests:103 - GET /api/v1/.git/config - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:55:57.377402", "seconds": 14157.377402}, "exception": null, "extra": {"request_id": "f823e612-2e41-446e-9d98-339346c7bfeb", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.git/config", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.git/config - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:38.101356+00:00", "timestamp": 1773458858.101356}}}
{"text": "2026-03-14 03:27:38.232 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/open-api/auth/token - 404 - 0.62ms\n", "record": {"elapsed": {"repr": "3:55:57.508849", "seconds": 14157.508849}, "exception": null, "extra": {"request_id": "d5baf3c9-cf53-4e8e-9e6e-4eaf4fa275c6", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/open-api/auth/token", "status_code": 404, "duration_ms": 0.62, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/open-api/auth/token - 404 - 0.62ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:38.232803+00:00", "timestamp": 1773458858.232803}}}
{"text": "2026-03-14 03:27:38.384 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/account/oauth/token - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:55:57.660939", "seconds": 14157.660939}, "exception": null, "extra": {"request_id": "3f7fa89b-1fb1-4fcf-9e3e-09523cb5d637", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/account/oauth/token", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/account/oauth/token - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:38.384893+00:00", "timestamp": 1773458858.384893}}}
{"text": "2026-03-14 03:27:38.517 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/account/oauth/ticket - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:55:57.794004", "seconds": 14157.794004}, "exception": null, "extra": {"request_id": "8ddc4e73-932f-477e-b14b-35dd41ff9a13", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/account/oauth/ticket", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/account/oauth/ticket - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:38.517958+00:00", "timestamp": 1773458858.517958}}}
{"text": "2026-03-14 03:27:38.651 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/tokens - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:55:57.927896", "seconds": 14157.927896}, "exception": null, "extra": {"request_id": "7d000403-bf6e-472b-8aa7-df83929fe2b3", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/tokens", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/tokens - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:38.651850+00:00", "timestamp": 1773458858.65185}}}
{"text": "2026-03-14 03:27:38.792 | INFO     | app.main:log_requests:103 - GET /api/v1/login - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "3:55:58.068202", "seconds": 14158.068202}, "exception": null, "extra": {"request_id": "aefffb03-06c8-4a68-93bc-51a661fc4c88", "user_id": "anonymous", "method": "GET", "path": "/api/v1/login", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/login - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:38.792156+00:00", "timestamp": 1773458858.792156}}}
{"text": "2026-03-14 03:27:38.925 | INFO     | app.main:log_requests:103 - GET /api/v1/auth - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:55:58.201354", "seconds": 14158.201354}, "exception": null, "extra": {"request_id": "8ff67e6d-1488-46b7-8381-33999dccb749", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:38.925308+00:00", "timestamp": 1773458858.925308}}}
{"text": "2026-03-14 03:27:39.057 | INFO     | app.main:log_requests:103 - GET /api/v1/authentication - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:55:58.333556", "seconds": 14158.333556}, "exception": null, "extra": {"request_id": "49e4b41d-0aa4-4dac-8cf5-6cf6fe75b42e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/authentication", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/authentication - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:39.057510+00:00", "timestamp": 1773458859.05751}}}
{"text": "2026-03-14 03:27:39.189 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/v1/pin/verify - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "3:55:58.465268", "seconds": 14158.465268}, "exception": null, "extra": {"request_id": "3a5a3258-f7fc-4851-bf85-584c822bd6e0", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/v1/pin/verify", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/v1/pin/verify - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:39.189222+00:00", "timestamp": 1773458859.189222}}}
{"text": "2026-03-14 03:27:39.323 | INFO     | app.main:log_requests:103 - GET /api/v1/register - 404 - 0.56ms\n", "record": {"elapsed": {"repr": "3:55:58.599474", "seconds": 14158.599474}, "exception": null, "extra": {"request_id": "eee84326-a993-4741-ada1-c6aab38c169d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/register", "status_code": 404, "duration_ms": 0.56, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/register - 404 - 0.56ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:39.323428+00:00", "timestamp": 1773458859.323428}}}
{"text": "2026-03-14 03:27:39.455 | INFO     | app.main:log_requests:103 - GET /api/v1/resetpassword - 404 - 0.58ms\n", "record": {"elapsed": {"repr": "3:55:58.731523", "seconds": 14158.731523}, "exception": null, "extra": {"request_id": "90e8965f-37e2-453a-801b-68fece9b3a2a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/resetpassword", "status_code": 404, "duration_ms": 0.58, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/resetpassword - 404 - 0.58ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:27:39.455477+00:00", "timestamp": 1773458859.455477}}}
{"text": "2026-03-14 03:28:08.431 | INFO     | app.main:log_requests:103 - GET /api/v1/config.json - 404 - 0.76ms\n", "record": {"elapsed": {"repr": "3:56:27.597660", "seconds": 14187.59766}, "exception": null, "extra": {"request_id": "b748cebe-421e-41a7-97ca-714192cafaac", "user_id": "anonymous", "method": "GET", "path": "/api/v1/config.json", "status_code": 404, "duration_ms": 0.76, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/config.json - 404 - 0.76ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:08.431308+00:00", "timestamp": 1773458888.431308}}}
{"text": "2026-03-14 03:28:14.332 | INFO     | app.main:log_requests:103 - GET /api/v1/secrets.json - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "3:56:33.498938", "seconds": 14193.498938}, "exception": null, "extra": {"request_id": "2fa2321e-41b9-4a7a-bc01-256f54ede276", "user_id": "anonymous", "method": "GET", "path": "/api/v1/secrets.json", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/secrets.json - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:14.332586+00:00", "timestamp": 1773458894.332586}}}
{"text": "2026-03-14 03:28:21.035 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "3:56:40.311180", "seconds": 14200.31118}, "exception": null, "extra": {"request_id": "2f4551ad-e6ff-4e49-a2cc-83e56a9f3b36", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:21.035134+00:00", "timestamp": 1773458901.035134}}}
{"text": "2026-03-14 03:28:21.180 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.69ms\n", "record": {"elapsed": {"repr": "3:56:40.456205", "seconds": 14200.456205}, "exception": null, "extra": {"request_id": "25cd69f6-f7da-4780-bb94-c9ffcfc2f43d", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.69, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.69ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:21.180159+00:00", "timestamp": 1773458901.180159}}}
{"text": "2026-03-14 03:28:21.323 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.7ms\n", "record": {"elapsed": {"repr": "3:56:40.599541", "seconds": 14200.599541}, "exception": null, "extra": {"request_id": "e19e164b-a7f1-409b-a814-f6b3780a7397", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.7, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.7ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:21.323495+00:00", "timestamp": 1773458901.323495}}}
{"text": "2026-03-14 03:28:21.459 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.75ms\n", "record": {"elapsed": {"repr": "3:56:40.735388", "seconds": 14200.735388}, "exception": null, "extra": {"request_id": "1f4710a3-ede8-4a02-b6f3-1f0b71ed6830", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.75, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:21.459342+00:00", "timestamp": 1773458901.459342}}}
{"text": "2026-03-14 03:28:21.595 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "3:56:40.871413", "seconds": 14200.871413}, "exception": null, "extra": {"request_id": "a049b624-25ef-476b-96cc-35cea09f932d", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:21.595367+00:00", "timestamp": 1773458901.595367}}}
{"text": "2026-03-14 03:28:21.742 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.69ms\n", "record": {"elapsed": {"repr": "3:56:41.018708", "seconds": 14201.018708}, "exception": null, "extra": {"request_id": "d24f16fc-f6be-44f6-99bd-f772957d81ff", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.69, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.69ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:21.742662+00:00", "timestamp": 1773458901.742662}}}
{"text": "2026-03-14 03:28:21.867 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.78ms\n", "record": {"elapsed": {"repr": "3:56:41.143117", "seconds": 14201.143117}, "exception": null, "extra": {"request_id": "647663c8-3f6e-4290-ac68-62a017a936fe", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.78, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.78ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:21.867071+00:00", "timestamp": 1773458901.867071}}}
{"text": "2026-03-14 03:28:22.225 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "3:56:41.501544", "seconds": 14201.501544}, "exception": null, "extra": {"request_id": "d285b476-1026-4aa0-a2b4-f461e8830dc1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:22.225498+00:00", "timestamp": 1773458902.225498}}}
{"text": "2026-03-14 03:28:22.589 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "3:56:41.865862", "seconds": 14201.865862}, "exception": null, "extra": {"request_id": "21f032bd-2258-49f0-b671-45caaa4e15f7", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:22.589816+00:00", "timestamp": 1773458902.589816}}}
{"text": "2026-03-14 03:28:22.957 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "3:56:42.233478", "seconds": 14202.233478}, "exception": null, "extra": {"request_id": "990a461c-f872-4573-8adb-7ff61192d51f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:22.957432+00:00", "timestamp": 1773458902.957432}}}
{"text": "2026-03-14 03:28:23.321 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.76ms\n", "record": {"elapsed": {"repr": "3:56:42.597756", "seconds": 14202.597756}, "exception": null, "extra": {"request_id": "63ac1f58-c5a0-4127-ae31-5f63016498cf", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.76, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.76ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:23.321710+00:00", "timestamp": 1773458903.32171}}}
{"text": "2026-03-14 03:28:23.688 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.79ms\n", "record": {"elapsed": {"repr": "3:56:42.964239", "seconds": 14202.964239}, "exception": null, "extra": {"request_id": "a4ca2405-69fa-4eb7-8d62-13c66eb32658", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.79, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.79ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:23.688193+00:00", "timestamp": 1773458903.688193}}}
{"text": "2026-03-14 03:28:23.696 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.73ms\n", "record": {"elapsed": {"repr": "3:56:42.972188", "seconds": 14202.972188}, "exception": null, "extra": {"request_id": "b575df03-0f86-4ef6-ac48-51f9c1c112d1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.73, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.73ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:23.696142+00:00", "timestamp": 1773458903.696142}}}
{"text": "2026-03-14 03:28:23.842 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.78ms\n", "record": {"elapsed": {"repr": "3:56:43.118310", "seconds": 14203.11831}, "exception": null, "extra": {"request_id": "a6a2be23-6cdf-45b6-a6f3-3660173f0ada", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.78, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.78ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:23.842264+00:00", "timestamp": 1773458903.842264}}}
{"text": "2026-03-14 03:28:23.985 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "3:56:43.261343", "seconds": 14203.261343}, "exception": null, "extra": {"request_id": "52a30a79-1b04-494b-9acf-8da8fc5e718b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:23.985297+00:00", "timestamp": 1773458903.985297}}}
{"text": "2026-03-14 03:28:24.348 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:56:43.624142", "seconds": 14203.624142}, "exception": null, "extra": {"request_id": "ae09ff6f-36b4-4d1c-b39f-61d6c6b807d0", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:24.348096+00:00", "timestamp": 1773458904.348096}}}
{"text": "2026-03-14 03:28:24.709 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:56:43.985867", "seconds": 14203.985867}, "exception": null, "extra": {"request_id": "4c552498-c2cc-4251-8d9f-db6fd7ae54d1", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:24.709821+00:00", "timestamp": 1773458904.709821}}}
{"text": "2026-03-14 03:28:24.851 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.62ms\n", "record": {"elapsed": {"repr": "3:56:44.127473", "seconds": 14204.127473}, "exception": null, "extra": {"request_id": "ef0f90d8-759e-44e0-8924-5bf6297fb8f3", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.62, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.62ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:24.851427+00:00", "timestamp": 1773458904.851427}}}
{"text": "2026-03-14 03:28:26.937 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:56:46.103817", "seconds": 14206.103817}, "exception": null, "extra": {"request_id": "fdf2606a-fdcf-4fb2-8ddf-2426242c3e46", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:26.937465+00:00", "timestamp": 1773458906.937465}}}
{"text": "2026-03-14 03:28:27.311 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:56:46.478135", "seconds": 14206.478135}, "exception": null, "extra": {"request_id": "d912185c-ada8-4ebc-bbe2-89bff4cf0959", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:27.311783+00:00", "timestamp": 1773458907.311783}}}
{"text": "2026-03-14 03:28:27.452 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.61ms\n", "record": {"elapsed": {"repr": "3:56:46.619010", "seconds": 14206.61901}, "exception": null, "extra": {"request_id": "8a16a9dd-8746-4963-b1e4-de1198ba7520", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.61, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.61ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:27.452658+00:00", "timestamp": 1773458907.452658}}}
{"text": "2026-03-14 03:28:27.540 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:56:46.707337", "seconds": 14206.707337}, "exception": null, "extra": {"request_id": "7877f7f0-2257-4367-8dbb-a54df9d2aaea", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:27.540985+00:00", "timestamp": 1773458907.540985}}}
{"text": "2026-03-14 03:28:27.602 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "3:56:46.769318", "seconds": 14206.769318}, "exception": null, "extra": {"request_id": "069fa068-d542-4c01-a361-41db3afbe872", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:27.602966+00:00", "timestamp": 1773458907.602966}}}
{"text": "2026-03-14 03:28:27.748 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:56:46.914908", "seconds": 14206.914908}, "exception": null, "extra": {"request_id": "10b778e1-f0fc-4185-ae2e-82dd73067cb3", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:27.748556+00:00", "timestamp": 1773458907.748556}}}
{"text": "2026-03-14 03:28:27.902 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:56:47.068590", "seconds": 14207.06859}, "exception": null, "extra": {"request_id": "585994d7-b5a9-4984-b2d1-cb4efac8d4d2", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:27.902238+00:00", "timestamp": 1773458907.902238}}}
{"text": "2026-03-14 03:28:27.917 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.5ms\n", "record": {"elapsed": {"repr": "3:56:47.084140", "seconds": 14207.08414}, "exception": null, "extra": {"request_id": "576cd6a6-6a31-42be-9a34-abe8a4d979d6", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.5, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.5ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:27.917788+00:00", "timestamp": 1773458907.917788}}}
{"text": "2026-03-14 03:28:28.048 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "3:56:47.214611", "seconds": 14207.214611}, "exception": null, "extra": {"request_id": "a5f77e83-41fb-453c-b524-94e72c1a5143", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:28.048259+00:00", "timestamp": 1773458908.048259}}}
{"text": "2026-03-14 03:28:28.343 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "3:56:47.509658", "seconds": 14207.509658}, "exception": null, "extra": {"request_id": "f8be64ea-aa8d-4ee6-85c4-7f32e92a1ddd", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:28.343306+00:00", "timestamp": 1773458908.343306}}}
{"text": "2026-03-14 03:28:28.408 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:56:47.574901", "seconds": 14207.574901}, "exception": null, "extra": {"request_id": "21ce834a-cdc6-49b0-9fb8-724284f06593", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:28.408549+00:00", "timestamp": 1773458908.408549}}}
{"text": "2026-03-14 03:28:28.702 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "3:56:47.869138", "seconds": 14207.869138}, "exception": null, "extra": {"request_id": "bd014427-f622-4b5c-a6eb-1dddb809b979", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:28.702786+00:00", "timestamp": 1773458908.702786}}}
{"text": "2026-03-14 03:28:29.984 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.75ms\n", "record": {"elapsed": {"repr": "3:56:49.151241", "seconds": 14209.151241}, "exception": null, "extra": {"request_id": "9ea1aa73-282b-4493-a4e1-4aab9323e751", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.75, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.75ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:29.984889+00:00", "timestamp": 1773458909.984889}}}
{"text": "2026-03-14 03:28:30.133 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "3:56:49.299787", "seconds": 14209.299787}, "exception": null, "extra": {"request_id": "7d8f662e-6400-4c5a-9560-4bc554928e21", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:30.133435+00:00", "timestamp": 1773458910.133435}}}
{"text": "2026-03-14 03:28:30.270 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.67ms\n", "record": {"elapsed": {"repr": "3:56:49.437238", "seconds": 14209.437238}, "exception": null, "extra": {"request_id": "6513ba1e-37c2-4cb6-9039-34895954a4e0", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.67, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.67ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:30.270886+00:00", "timestamp": 1773458910.270886}}}
{"text": "2026-03-14 03:28:30.416 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "3:56:49.582769", "seconds": 14209.582769}, "exception": null, "extra": {"request_id": "898bd92a-fe8e-49f1-8573-39c7b5e36c08", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:30.416417+00:00", "timestamp": 1773458910.416417}}}
{"text": "2026-03-14 03:28:30.548 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.75ms\n", "record": {"elapsed": {"repr": "3:56:49.714977", "seconds": 14209.714977}, "exception": null, "extra": {"request_id": "719984e5-b28a-4a74-a91c-e19d77fd9e1c", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.75, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.75ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:30.548625+00:00", "timestamp": 1773458910.548625}}}
{"text": "2026-03-14 03:28:30.692 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.65ms\n", "record": {"elapsed": {"repr": "3:56:49.858722", "seconds": 14209.858722}, "exception": null, "extra": {"request_id": "dcead407-6fe5-4986-8681-a2baeb2ea87d", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.65, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.65ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:30.692370+00:00", "timestamp": 1773458910.69237}}}
{"text": "2026-03-14 03:28:38.644 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.62ms\n", "record": {"elapsed": {"repr": "3:56:57.810506", "seconds": 14217.810506}, "exception": null, "extra": {"request_id": "f6589669-b42f-49f6-a5e1-58209660c5cc", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.62, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.62ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:38.644154+00:00", "timestamp": 1773458918.644154}}}
{"text": "2026-03-14 03:28:38.810 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "3:56:57.976517", "seconds": 14217.976517}, "exception": null, "extra": {"request_id": "0803d1f6-66bb-4c0e-818f-3291a75d862b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:38.810165+00:00", "timestamp": 1773458918.810165}}}
{"text": "2026-03-14 03:28:38.979 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.76ms\n", "record": {"elapsed": {"repr": "3:56:58.145733", "seconds": 14218.145733}, "exception": null, "extra": {"request_id": "ad48dbd7-1f53-41d4-8fb0-507c508e48fa", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.76, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.76ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:38.979381+00:00", "timestamp": 1773458918.979381}}}
{"text": "2026-03-14 03:28:39.163 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.67ms\n", "record": {"elapsed": {"repr": "3:56:58.330269", "seconds": 14218.330269}, "exception": null, "extra": {"request_id": "c978dc8d-4d12-4fdd-9074-48ff43fce993", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.67, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.67ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:39.163917+00:00", "timestamp": 1773458919.163917}}}
{"text": "2026-03-14 03:28:39.335 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "3:56:58.502222", "seconds": 14218.502222}, "exception": null, "extra": {"request_id": "934ff59a-9492-44ef-ad40-dd4a33a5c14c", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:39.335870+00:00", "timestamp": 1773458919.33587}}}
{"text": "2026-03-14 03:28:39.509 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "3:56:58.676208", "seconds": 14218.676208}, "exception": null, "extra": {"request_id": "d6f60b8b-957b-489d-a844-f4effdbeeb14", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 03:28:39.509856+00:00", "timestamp": 1773458919.509856}}}
{"text": "2026-03-14 14:33:19.428 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.69ms\n", "record": {"elapsed": {"repr": "15:01:38.595127", "seconds": 54098.595127}, "exception": null, "extra": {"request_id": "4ee1f411-58ec-4403-b99c-baf3a7565a17", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.69, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-14 14:33:19.428775+00:00", "timestamp": 1773498799.428775}}}
{"text": "2026-03-17 01:02:01.812 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 34.21ms\n", "record": {"elapsed": {"repr": "3 days, 1:30:21.088539", "seconds": 264621.088539}, "exception": null, "extra": {"request_id": "28d01a67-90e2-485e-8e21-c447e00763b1", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 34.21, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 34.21ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-17 01:02:01.812493+00:00", "timestamp": 1773709321.812493}}}
{"text": "2026-03-17 01:02:07.201 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/guest/comm/config - 404 - 0.57ms\n", "record": {"elapsed": {"repr": "3 days, 1:30:26.367916", "seconds": 264626.367916}, "exception": null, "extra": {"request_id": "6441fc4c-b694-4d11-9fd2-fb92f853af17", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/guest/comm/config", "status_code": 404, "duration_ms": 0.57, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/guest/comm/config - 404 - 0.57ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-17 01:02:07.201564+00:00", "timestamp": 1773709327.201564}}}
{"text": "2026-03-18 00:46:17.303 | INFO     | app.main:log_requests:103 - GET /api/v1/.env - 404 - 0.85ms\n", "record": {"elapsed": {"repr": "4 days, 1:14:36.579276", "seconds": 350076.579276}, "exception": null, "extra": {"request_id": "a11ab9fd-c40a-4a8b-8b79-d2112bc03b3e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env", "status_code": 404, "duration_ms": 0.85, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env - 404 - 0.85ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:17.303230+00:00", "timestamp": 1773794777.30323}}}
{"text": "2026-03-18 00:46:19.124 | INFO     | app.main:log_requests:103 - GET /api/v1/config.php - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:14:38.400656", "seconds": 350078.400656}, "exception": null, "extra": {"request_id": "da688643-3668-45e4-8951-2f1bd2766284", "user_id": "anonymous", "method": "GET", "path": "/api/v1/config.php", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/config.php - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:19.124610+00:00", "timestamp": 1773794779.12461}}}
{"text": "2026-03-18 00:46:26.310 | INFO     | app.main:log_requests:103 - GET /api/v1 - 404 - 0.84ms\n", "record": {"elapsed": {"repr": "4 days, 1:14:45.476598", "seconds": 350085.476598}, "exception": null, "extra": {"request_id": "b7b14231-59c2-45c5-81ba-a869750cec04", "user_id": "anonymous", "method": "GET", "path": "/api/v1", "status_code": 404, "duration_ms": 0.84, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1 - 404 - 0.84ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:26.310246+00:00", "timestamp": 1773794786.310246}}}
{"text": "2026-03-18 00:46:33.592 | INFO     | app.main:log_requests:103 - GET /api/v1/info - 404 - 0.67ms\n", "record": {"elapsed": {"repr": "4 days, 1:14:52.868373", "seconds": 350092.868373}, "exception": null, "extra": {"request_id": "e170f28d-0774-4208-b0b9-ff68152e6eef", "user_id": "anonymous", "method": "GET", "path": "/api/v1/info", "status_code": 404, "duration_ms": 0.67, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/info - 404 - 0.67ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:33.592327+00:00", "timestamp": 1773794793.592327}}}
{"text": "2026-03-18 00:46:52.142 | INFO     | app.main:log_requests:103 - GET /api/v1/.env.back - 404 - 0.7ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:11.308973", "seconds": 350111.308973}, "exception": null, "extra": {"request_id": "44a0f565-cbed-4b33-9411-c51db4ed2d57", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env.back", "status_code": 404, "duration_ms": 0.7, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env.back - 404 - 0.7ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:52.142621+00:00", "timestamp": 1773794812.142621}}}
{"text": "2026-03-18 00:46:52.272 | INFO     | app.main:log_requests:103 - GET /api/v1/.env.example - 404 - 0.76ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:11.438483", "seconds": 350111.438483}, "exception": null, "extra": {"request_id": "f2b08061-a57c-49ee-ad99-68a46194df26", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env.example", "status_code": 404, "duration_ms": 0.76, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env.example - 404 - 0.76ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:52.272131+00:00", "timestamp": 1773794812.272131}}}
{"text": "2026-03-18 00:46:52.411 | INFO     | app.main:log_requests:103 - GET /api/v1/.env.sample - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:11.577491", "seconds": 350111.577491}, "exception": null, "extra": {"request_id": "5df9be16-6f34-44c1-8dc3-31319b3327ed", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env.sample", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env.sample - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:52.411139+00:00", "timestamp": 1773794812.411139}}}
{"text": "2026-03-18 00:46:52.539 | INFO     | app.main:log_requests:103 - GET /api/v1/.env.save - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:11.706041", "seconds": 350111.706041}, "exception": null, "extra": {"request_id": "f3326abe-7c08-4664-8e93-445b79d553af", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env.save", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env.save - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:52.539689+00:00", "timestamp": 1773794812.539689}}}
{"text": "2026-03-18 00:46:52.667 | INFO     | app.main:log_requests:103 - GET /api/v1/debug - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:11.834223", "seconds": 350111.834223}, "exception": null, "extra": {"request_id": "6cf36f54-4e23-481c-9291-f087beb2bdf2", "user_id": "anonymous", "method": "GET", "path": "/api/v1/debug", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/debug - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:52.667871+00:00", "timestamp": 1773794812.667871}}}
{"text": "2026-03-18 00:46:52.833 | INFO     | app.main:log_requests:103 - GET /api/v1/docs/ - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:11.999693", "seconds": 350111.999693}, "exception": null, "extra": {"request_id": "cf984763-c4fb-4751-97d0-61d4c5bf6f54", "user_id": "anonymous", "method": "GET", "path": "/api/v1/docs/", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/docs/ - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:52.833341+00:00", "timestamp": 1773794812.833341}}}
{"text": "2026-03-18 00:46:52.968 | INFO     | app.main:log_requests:103 - GET /api/v1/env - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:12.134693", "seconds": 350112.134693}, "exception": null, "extra": {"request_id": "19d3a814-a5d7-440e-a349-d3e0ed01d30b", "user_id": "anonymous", "method": "GET", "path": "/api/v1/env", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/env - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:52.968341+00:00", "timestamp": 1773794812.968341}}}
{"text": "2026-03-18 00:46:53.100 | INFO     | app.main:log_requests:103 - GET /api/v1/info.php - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:12.267298", "seconds": 350112.267298}, "exception": null, "extra": {"request_id": "af5d90d6-fdf8-4560-9c0a-fe8c9a671a5b", "user_id": "anonymous", "method": "GET", "path": "/api/v1/info.php", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/info.php - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:53.100946+00:00", "timestamp": 1773794813.100946}}}
{"text": "2026-03-18 00:46:53.239 | INFO     | app.main:log_requests:103 - GET /api/v1/internal/ - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:12.405950", "seconds": 350112.40595}, "exception": null, "extra": {"request_id": "6e312b9b-1dfb-4e75-ba93-8394d1ab61ef", "user_id": "anonymous", "method": "GET", "path": "/api/v1/internal/", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/internal/ - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:53.239598+00:00", "timestamp": 1773794813.239598}}}
{"text": "2026-03-18 00:46:53.375 | INFO     | app.main:log_requests:103 - GET /api/v1/keys - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:12.541797", "seconds": 350112.541797}, "exception": null, "extra": {"request_id": "2846b33e-ede8-486d-8a14-f1f334e799e5", "user_id": "anonymous", "method": "GET", "path": "/api/v1/keys", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/keys - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:53.375445+00:00", "timestamp": 1773794813.375445}}}
{"text": "2026-03-18 00:46:53.508 | INFO     | app.main:log_requests:103 - GET /api/v1/private/ - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:12.675118", "seconds": 350112.675118}, "exception": null, "extra": {"request_id": "c24d39f1-a10c-499e-b571-42012ad114ab", "user_id": "anonymous", "method": "GET", "path": "/api/v1/private/", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/private/ - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:53.508766+00:00", "timestamp": 1773794813.508766}}}
{"text": "2026-03-18 00:46:53.638 | INFO     | app.main:log_requests:103 - GET /api/v1/src/.env - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:12.804974", "seconds": 350112.804974}, "exception": null, "extra": {"request_id": "f42337f6-ceb7-4b89-a7a5-cd162e0a70d1", "user_id": "anonymous", "method": "GET", "path": "/api/v1/src/.env", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/src/.env - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:53.638622+00:00", "timestamp": 1773794813.638622}}}
{"text": "2026-03-18 00:46:53.775 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/.env - 404 - 0.79ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:12.941911", "seconds": 350112.941911}, "exception": null, "extra": {"request_id": "cc5cb9f2-df54-43d8-bf29-04ef8ff6d655", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/.env", "status_code": 404, "duration_ms": 0.79, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/.env - 404 - 0.79ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:53.775559+00:00", "timestamp": 1773794813.775559}}}
{"text": "2026-03-18 00:46:53.912 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/debug - 404 - 0.75ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:13.078668", "seconds": 350113.078668}, "exception": null, "extra": {"request_id": "64a0ef51-667b-4067-860b-2ecb59c7b396", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/debug", "status_code": 404, "duration_ms": 0.75, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/debug - 404 - 0.75ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:53.912316+00:00", "timestamp": 1773794813.912316}}}
{"text": "2026-03-18 00:46:54.047 | INFO     | app.main:log_requests:103 - GET /api/v1/v2/.env - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "4 days, 1:15:13.214106", "seconds": 350113.214106}, "exception": null, "extra": {"request_id": "527ad6d2-e180-43d5-97cb-276ee19527e7", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v2/.env", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v2/.env - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:46:54.047754+00:00", "timestamp": 1773794814.047754}}}
{"text": "2026-03-18 00:49:05.829 | INFO     | app.main:log_requests:103 - GET /api/v1/v1 - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:24.995528", "seconds": 350244.995528}, "exception": null, "extra": {"request_id": "3887c955-91fe-4335-8ce6-4783ccb76fa3", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1 - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:05.829176+00:00", "timestamp": 1773794945.829176}}}
{"text": "2026-03-18 00:49:05.958 | INFO     | app.main:log_requests:103 - GET /api/v1/service - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:25.125119", "seconds": 350245.125119}, "exception": null, "extra": {"request_id": "efe9e930-d0b1-46c2-aa27-6b9364dfef2a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/service", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/service - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:05.958767+00:00", "timestamp": 1773794945.958767}}}
{"text": "2026-03-18 00:49:06.097 | INFO     | app.main:log_requests:103 - GET /api/v1/system/info - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:25.264098", "seconds": 350245.264098}, "exception": null, "extra": {"request_id": "7c609525-1b53-454a-8233-f539ad4d4620", "user_id": "anonymous", "method": "GET", "path": "/api/v1/system/info", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/system/info - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:06.097746+00:00", "timestamp": 1773794946.097746}}}
{"text": "2026-03-18 00:49:06.230 | INFO     | app.main:log_requests:103 - GET /api/v1/gateway - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:25.396403", "seconds": 350245.396403}, "exception": null, "extra": {"request_id": "b0063ea5-9be6-44f2-9754-072fc6f5670e", "user_id": "anonymous", "method": "GET", "path": "/api/v1/gateway", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/gateway - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:06.230051+00:00", "timestamp": 1773794946.230051}}}
{"text": "2026-03-18 00:49:06.355 | INFO     | app.main:log_requests:103 - GET /api/v1/command - 404 - 0.54ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:25.521779", "seconds": 350245.521779}, "exception": null, "extra": {"request_id": "b2adb0e5-e11d-4504-963b-1da9939fc250", "user_id": "anonymous", "method": "GET", "path": "/api/v1/command", "status_code": 404, "duration_ms": 0.54, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/command - 404 - 0.54ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:06.355427+00:00", "timestamp": 1773794946.355427}}}
{"text": "2026-03-18 00:49:06.481 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/user - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:25.647366", "seconds": 350245.647366}, "exception": null, "extra": {"request_id": "583f02b8-34d2-4a5e-b15d-da712988d6cf", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/user", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/user - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:06.481014+00:00", "timestamp": 1773794946.481014}}}
{"text": "2026-03-18 00:49:06.609 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/user/password - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:25.775374", "seconds": 350245.775374}, "exception": null, "extra": {"request_id": "87a5314b-1128-4e37-b543-1a30e0c296e6", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/user/password", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/user/password - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:06.609022+00:00", "timestamp": 1773794946.609022}}}
{"text": "2026-03-18 00:49:06.738 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/user/status - 404 - 0.85ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:25.904600", "seconds": 350245.9046}, "exception": null, "extra": {"request_id": "3d0be940-7014-410b-b63f-5c31353554b4", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/user/status", "status_code": 404, "duration_ms": 0.85, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/user/status - 404 - 0.85ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:06.738248+00:00", "timestamp": 1773794946.738248}}}
{"text": "2026-03-18 00:49:06.870 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/auth - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:26.036939", "seconds": 350246.036939}, "exception": null, "extra": {"request_id": "e5aa29c9-e680-4b5d-a465-89b3ed7823dd", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/auth", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/auth - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:06.870587+00:00", "timestamp": 1773794946.870587}}}
{"text": "2026-03-18 00:49:07.014 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/role - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:26.180492", "seconds": 350246.180492}, "exception": null, "extra": {"request_id": "3e8270dc-dd92-43c5-aded-8e9108a24f55", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/role", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/role - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:07.014140+00:00", "timestamp": 1773794947.01414}}}
{"text": "2026-03-18 00:49:07.152 | INFO     | app.main:log_requests:103 - GET /api/v1/admin/role/id - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:26.318385", "seconds": 350246.318385}, "exception": null, "extra": {"request_id": "e8fee6df-2604-4df2-8dd6-7a4fc403fa1a", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin/role/id", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin/role/id - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:07.152033+00:00", "timestamp": 1773794947.152033}}}
{"text": "2026-03-18 00:49:07.291 | INFO     | app.main:log_requests:103 - GET /api/v1/admin - 404 - 0.77ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:26.457805", "seconds": 350246.457805}, "exception": null, "extra": {"request_id": "5fbdd235-ff6b-4f0b-9fee-c303df754d37", "user_id": "anonymous", "method": "GET", "path": "/api/v1/admin", "status_code": 404, "duration_ms": 0.77, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/admin - 404 - 0.77ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:07.291453+00:00", "timestamp": 1773794947.291453}}}
{"text": "2026-03-18 00:49:07.419 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/sms-sender - 404 - 0.75ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:26.586215", "seconds": 350246.586215}, "exception": null, "extra": {"request_id": "f1516d20-124a-4744-9297-ecf53a1a338c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/sms-sender", "status_code": 404, "duration_ms": 0.75, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/sms-sender - 404 - 0.75ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:07.419863+00:00", "timestamp": 1773794947.419863}}}
{"text": "2026-03-18 00:49:07.555 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/contact/manager - 404 - 0.79ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:26.721525", "seconds": 350246.721525}, "exception": null, "extra": {"request_id": "d07a0552-f457-4d10-b2a7-dae716ebda33", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/contact/manager", "status_code": 404, "duration_ms": 0.79, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/contact/manager - 404 - 0.79ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:07.555173+00:00", "timestamp": 1773794947.555173}}}
{"text": "2026-03-18 00:49:07.686 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/privilege-api/forwarder - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:26.852994", "seconds": 350246.852994}, "exception": null, "extra": {"request_id": "12af979a-087f-4a00-9ecd-0d20f8bace9d", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/privilege-api/forwarder", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/privilege-api/forwarder - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:07.686642+00:00", "timestamp": 1773794947.686642}}}
{"text": "2026-03-18 00:49:07.819 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/privilege-api/forwarder/event - 404 - 0.67ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:26.986250", "seconds": 350246.98625}, "exception": null, "extra": {"request_id": "9268bb27-3b90-43b7-915c-2d45087b874c", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/privilege-api/forwarder/event", "status_code": 404, "duration_ms": 0.67, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/privilege-api/forwarder/event - 404 - 0.67ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:07.819898+00:00", "timestamp": 1773794947.819898}}}
{"text": "2026-03-18 00:49:07.948 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/open-api - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:27.115294", "seconds": 350247.115294}, "exception": null, "extra": {"request_id": "9a4f249b-1a2d-4a89-b29f-daa50add0a6f", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/open-api", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/open-api - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:07.948942+00:00", "timestamp": 1773794947.948942}}}
{"text": "2026-03-18 00:49:08.077 | INFO     | app.main:log_requests:103 - GET /api/v1/upload - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:27.243355", "seconds": 350247.243355}, "exception": null, "extra": {"request_id": "c7c0b764-8e59-4048-ab37-215d78d1e5a9", "user_id": "anonymous", "method": "GET", "path": "/api/v1/upload", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/upload - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:08.077003+00:00", "timestamp": 1773794948.077003}}}
{"text": "2026-03-18 00:49:08.205 | INFO     | app.main:log_requests:103 - GET /api/v1/savefile - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:27.372122", "seconds": 350247.372122}, "exception": null, "extra": {"request_id": "fd649270-9710-4733-8f34-7c2ea6af6c71", "user_id": "anonymous", "method": "GET", "path": "/api/v1/savefile", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/savefile - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:08.205770+00:00", "timestamp": 1773794948.20577}}}
{"text": "2026-03-18 00:49:08.338 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/files - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:27.505122", "seconds": 350247.505122}, "exception": null, "extra": {"request_id": "ae32a5f9-04e4-421c-910f-63564e8738cb", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/files - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:08.338770+00:00", "timestamp": 1773794948.33877}}}
{"text": "2026-03-18 00:49:08.469 | INFO     | app.main:log_requests:103 - GET /api/v1/files.remote.share - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:27.635627", "seconds": 350247.635627}, "exception": null, "extra": {"request_id": "1a11aa34-fde0-4214-b97c-10f330a8f0cf", "user_id": "anonymous", "method": "GET", "path": "/api/v1/files.remote.share", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/files.remote.share - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:08.469275+00:00", "timestamp": 1773794948.469275}}}
{"text": "2026-03-18 00:49:08.598 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/netdisk/download - 404 - 0.69ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:27.765231", "seconds": 350247.765231}, "exception": null, "extra": {"request_id": "cdb044dc-57a0-4a1f-82e7-aa386119b9bb", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/netdisk/download", "status_code": 404, "duration_ms": 0.69, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/netdisk/download - 404 - 0.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:08.598879+00:00", "timestamp": 1773794948.598879}}}
{"text": "2026-03-18 00:49:09.669 | INFO     | app.main:log_requests:103 - GET /api/v1/.git/config - 404 - 0.76ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:28.835533", "seconds": 350248.835533}, "exception": null, "extra": {"request_id": "4ff641a2-dea7-4e2a-a089-01975d6bf509", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.git/config", "status_code": 404, "duration_ms": 0.76, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.git/config - 404 - 0.76ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:09.669181+00:00", "timestamp": 1773794949.669181}}}
{"text": "2026-03-18 00:49:09.798 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/finchat/open-api/auth/token - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:28.965105", "seconds": 350248.965105}, "exception": null, "extra": {"request_id": "14c8a667-502d-4610-8088-093816494085", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/finchat/open-api/auth/token", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/finchat/open-api/auth/token - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:09.798753+00:00", "timestamp": 1773794949.798753}}}
{"text": "2026-03-18 00:49:09.931 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/account/oauth/token - 404 - 0.7ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:29.098254", "seconds": 350249.098254}, "exception": null, "extra": {"request_id": "48fe345e-0b4b-4da6-8638-e580638145c1", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/account/oauth/token", "status_code": 404, "duration_ms": 0.7, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/account/oauth/token - 404 - 0.7ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:09.931902+00:00", "timestamp": 1773794949.931902}}}
{"text": "2026-03-18 00:49:10.068 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/account/oauth/ticket - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:29.234472", "seconds": 350249.234472}, "exception": null, "extra": {"request_id": "a18e490c-cf15-4866-bb0f-7f09aff1ddfc", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/account/oauth/ticket", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/account/oauth/ticket - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:10.068120+00:00", "timestamp": 1773794950.06812}}}
{"text": "2026-03-18 00:49:10.205 | INFO     | app.main:log_requests:103 - GET /api/v1/v1/tokens - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:29.371914", "seconds": 350249.371914}, "exception": null, "extra": {"request_id": "4d12f974-986b-4c6c-9780-f7c871386182", "user_id": "anonymous", "method": "GET", "path": "/api/v1/v1/tokens", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/v1/tokens - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:10.205562+00:00", "timestamp": 1773794950.205562}}}
{"text": "2026-03-18 00:49:10.331 | INFO     | app.main:log_requests:103 - GET /api/v1/login - 404 - 0.78ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:29.498025", "seconds": 350249.498025}, "exception": null, "extra": {"request_id": "88ba3a12-1ffd-4974-ae0e-f87da8765d33", "user_id": "anonymous", "method": "GET", "path": "/api/v1/login", "status_code": 404, "duration_ms": 0.78, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/login - 404 - 0.78ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:10.331673+00:00", "timestamp": 1773794950.331673}}}
{"text": "2026-03-18 00:49:10.464 | INFO     | app.main:log_requests:103 - GET /api/v1/auth - 404 - 0.67ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:29.740373", "seconds": 350249.740373}, "exception": null, "extra": {"request_id": "20431cae-464d-4dbe-9eeb-54c3a5220438", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth", "status_code": 404, "duration_ms": 0.67, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth - 404 - 0.67ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:10.464327+00:00", "timestamp": 1773794950.464327}}}
{"text": "2026-03-18 00:49:10.593 | INFO     | app.main:log_requests:103 - GET /api/v1/authentication - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:29.869714", "seconds": 350249.869714}, "exception": null, "extra": {"request_id": "366186a5-9ab1-46cf-9022-324e90634697", "user_id": "anonymous", "method": "GET", "path": "/api/v1/authentication", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/authentication - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:10.593668+00:00", "timestamp": 1773794950.593668}}}
{"text": "2026-03-18 00:49:10.728 | INFO     | app.main:log_requests:103 - GET /api/v1/auth/v1/pin/verify - 404 - 0.63ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:30.004496", "seconds": 350250.004496}, "exception": null, "extra": {"request_id": "66415245-237a-4633-a0a0-451784ffd803", "user_id": "anonymous", "method": "GET", "path": "/api/v1/auth/v1/pin/verify", "status_code": 404, "duration_ms": 0.63, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/auth/v1/pin/verify - 404 - 0.63ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:10.728450+00:00", "timestamp": 1773794950.72845}}}
{"text": "2026-03-18 00:49:10.857 | INFO     | app.main:log_requests:103 - GET /api/v1/register - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:30.133801", "seconds": 350250.133801}, "exception": null, "extra": {"request_id": "17392597-2b6a-472f-9b03-7b47870b5ea0", "user_id": "anonymous", "method": "GET", "path": "/api/v1/register", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/register - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:10.857755+00:00", "timestamp": 1773794950.857755}}}
{"text": "2026-03-18 00:49:10.992 | INFO     | app.main:log_requests:103 - GET /api/v1/resetpassword - 404 - 0.73ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:30.268327", "seconds": 350250.268327}, "exception": null, "extra": {"request_id": "d7565624-38a3-4b6f-baab-3dde211e1eb6", "user_id": "anonymous", "method": "GET", "path": "/api/v1/resetpassword", "status_code": 404, "duration_ms": 0.73, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/resetpassword - 404 - 0.73ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:10.992281+00:00", "timestamp": 1773794950.992281}}}
{"text": "2026-03-18 00:49:39.357 | INFO     | app.main:log_requests:103 - GET /api/v1/config.json - 404 - 0.51ms\n", "record": {"elapsed": {"repr": "4 days, 1:17:58.524301", "seconds": 350278.524301}, "exception": null, "extra": {"request_id": "317987bd-a708-4107-a599-1864b428cfa8", "user_id": "anonymous", "method": "GET", "path": "/api/v1/config.json", "status_code": 404, "duration_ms": 0.51, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/config.json - 404 - 0.51ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:39.357949+00:00", "timestamp": 1773794979.357949}}}
{"text": "2026-03-18 00:49:47.265 | INFO     | app.main:log_requests:103 - GET /api/v1/secrets.json - 404 - 0.53ms\n", "record": {"elapsed": {"repr": "4 days, 1:18:06.432198", "seconds": 350286.432198}, "exception": null, "extra": {"request_id": "4b347cb7-f342-4330-af1c-fa9525ebaaef", "user_id": "anonymous", "method": "GET", "path": "/api/v1/secrets.json", "status_code": 404, "duration_ms": 0.53, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/secrets.json - 404 - 0.53ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:47.265846+00:00", "timestamp": 1773794987.265846}}}
{"text": "2026-03-18 00:49:54.305 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.76ms\n", "record": {"elapsed": {"repr": "4 days, 1:18:13.471587", "seconds": 350293.471587}, "exception": null, "extra": {"request_id": "bc06865d-4b71-4f17-bd42-8c3cd87bbbb4", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.76, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.76ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:54.305235+00:00", "timestamp": 1773794994.305235}}}
{"text": "2026-03-18 00:49:54.452 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "4 days, 1:18:13.619227", "seconds": 350293.619227}, "exception": null, "extra": {"request_id": "dfe64c3c-cf1b-463a-ae5c-f2c5eee4c91b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:54.452875+00:00", "timestamp": 1773794994.452875}}}
{"text": "2026-03-18 00:49:54.813 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.7ms\n", "record": {"elapsed": {"repr": "4 days, 1:18:13.979864", "seconds": 350293.979864}, "exception": null, "extra": {"request_id": "43ce17fe-d1e9-47ec-8507-71c151ea179b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.7, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.7ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:54.813512+00:00", "timestamp": 1773794994.813512}}}
{"text": "2026-03-18 00:49:55.170 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.8ms\n", "record": {"elapsed": {"repr": "4 days, 1:18:14.337096", "seconds": 350294.337096}, "exception": null, "extra": {"request_id": "f3173430-1d19-4fdc-bb4d-fb0c3c995fb4", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.8, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.8ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:55.170744+00:00", "timestamp": 1773794995.170744}}}
{"text": "2026-03-18 00:49:55.527 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.66ms\n", "record": {"elapsed": {"repr": "4 days, 1:18:14.694063", "seconds": 350294.694063}, "exception": null, "extra": {"request_id": "2c6e5224-be7c-433b-a575-76a926571b42", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.66, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.66ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:55.527711+00:00", "timestamp": 1773794995.527711}}}
{"text": "2026-03-18 00:49:55.675 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.77ms\n", "record": {"elapsed": {"repr": "4 days, 1:18:14.841464", "seconds": 350294.841464}, "exception": null, "extra": {"request_id": "3b3d9e50-30db-456e-9d35-ecdca31a34b3", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.77, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.77ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:49:55.675112+00:00", "timestamp": 1773794995.675112}}}
{"text": "2026-03-18 00:51:06.003 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.56ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:25.169596", "seconds": 350365.169596}, "exception": null, "extra": {"request_id": "3a4d4d11-e903-4791-8a44-9a4b5ead57ea", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.56, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.56ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:06.003244+00:00", "timestamp": 1773795066.003244}}}
{"text": "2026-03-18 00:51:06.177 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:25.343980", "seconds": 350365.34398}, "exception": null, "extra": {"request_id": "cd13079f-b4e0-4fb2-839c-54ae964e7f79", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:06.177628+00:00", "timestamp": 1773795066.177628}}}
{"text": "2026-03-18 00:51:06.322 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:25.488886", "seconds": 350365.488886}, "exception": null, "extra": {"request_id": "c9edb86b-01d7-4c9c-ac56-c0abb483ac91", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:06.322534+00:00", "timestamp": 1773795066.322534}}}
{"text": "2026-03-18 00:51:06.530 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:25.696685", "seconds": 350365.696685}, "exception": null, "extra": {"request_id": "5b163201-df63-4949-bede-e849312c503d", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:06.530333+00:00", "timestamp": 1773795066.530333}}}
{"text": "2026-03-18 00:51:06.697 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.62ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:25.864217", "seconds": 350365.864217}, "exception": null, "extra": {"request_id": "56dbdc41-b0ba-4a0f-82a0-6e96f18bdef4", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.62, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.62ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:06.697865+00:00", "timestamp": 1773795066.697865}}}
{"text": "2026-03-18 00:51:06.896 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.76ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:26.062372", "seconds": 350366.062372}, "exception": null, "extra": {"request_id": "fe6186ab-265c-4dce-9943-fdc386fcd5aa", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.76, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.76ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:06.896020+00:00", "timestamp": 1773795066.89602}}}
{"text": "2026-03-18 00:51:14.403 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.8ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:33.679968", "seconds": 350373.679968}, "exception": null, "extra": {"request_id": "83917730-9cc3-4379-a016-6c5840890cc4", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.8, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.8ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:14.403922+00:00", "timestamp": 1773795074.403922}}}
{"text": "2026-03-18 00:51:14.559 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.79ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:33.835484", "seconds": 350373.835484}, "exception": null, "extra": {"request_id": "a4d1d623-b20d-4c74-a881-cdd0a70f13a9", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.79, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.79ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:14.559438+00:00", "timestamp": 1773795074.559438}}}
{"text": "2026-03-18 00:51:14.763 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.75ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:34.039313", "seconds": 350374.039313}, "exception": null, "extra": {"request_id": "84cb8bd0-25d0-4997-bfc8-7e0b67a7ada6", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.75, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:14.763267+00:00", "timestamp": 1773795074.763267}}}
{"text": "2026-03-18 00:51:14.933 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.76ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:34.209701", "seconds": 350374.209701}, "exception": null, "extra": {"request_id": "136629a5-b0a9-4d09-a561-0e6cc25701ab", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.76, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.76ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:14.933655+00:00", "timestamp": 1773795074.933655}}}
{"text": "2026-03-18 00:51:15.125 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.78ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:34.401207", "seconds": 350374.401207}, "exception": null, "extra": {"request_id": "9e59efe9-2e9a-4a65-81e0-505476eb12c4", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.78, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.78ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:15.125161+00:00", "timestamp": 1773795075.125161}}}
{"text": "2026-03-18 00:51:15.309 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:34.585134", "seconds": 350374.585134}, "exception": null, "extra": {"request_id": "1b12b43f-41cb-46a8-ae91-982dac4b413a", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:15.309088+00:00", "timestamp": 1773795075.309088}}}
{"text": "2026-03-18 00:51:32.902 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.76ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:52.178127", "seconds": 350392.178127}, "exception": null, "extra": {"request_id": "b8452824-3e6b-4115-a3ee-8c1c6e9d789b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.76, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.76ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:32.902081+00:00", "timestamp": 1773795092.902081}}}
{"text": "2026-03-18 00:51:33.062 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.78ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:52.339033", "seconds": 350392.339033}, "exception": null, "extra": {"request_id": "cd8a3e2f-662e-4e1f-b58c-2fd7c14d4e2d", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.78, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.78ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:33.062987+00:00", "timestamp": 1773795093.062987}}}
{"text": "2026-03-18 00:51:33.476 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.66ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:52.752396", "seconds": 350392.752396}, "exception": null, "extra": {"request_id": "eb9bc579-0d70-43be-b9ea-10158ca23260", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.66, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.66ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:33.476350+00:00", "timestamp": 1773795093.47635}}}
{"text": "2026-03-18 00:51:33.625 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:52.901679", "seconds": 350392.901679}, "exception": null, "extra": {"request_id": "e3a0add2-2cd1-43e1-979e-1f732f1dd99a", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:33.625633+00:00", "timestamp": 1773795093.625633}}}
{"text": "2026-03-18 00:51:33.773 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.75ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:53.049588", "seconds": 350393.049588}, "exception": null, "extra": {"request_id": "8906e3c3-7051-444e-a555-20b72e187773", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.75, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.75ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:33.773542+00:00", "timestamp": 1773795093.773542}}}
{"text": "2026-03-18 00:51:33.943 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "4 days, 1:19:53.220003", "seconds": 350393.220003}, "exception": null, "extra": {"request_id": "c839dd8b-f676-4981-af77-68388e379c48", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:51:33.943957+00:00", "timestamp": 1773795093.943957}}}
{"text": "2026-03-18 00:52:02.141 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "4 days, 1:20:21.307813", "seconds": 350421.307813}, "exception": null, "extra": {"request_id": "b15839ed-86e4-432f-8af8-ed2954d7f77f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:52:02.141461+00:00", "timestamp": 1773795122.141461}}}
{"text": "2026-03-18 00:52:02.285 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "4 days, 1:20:21.451833", "seconds": 350421.451833}, "exception": null, "extra": {"request_id": "d489504c-f2f7-45c0-a216-81e249471d42", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:52:02.285481+00:00", "timestamp": 1773795122.285481}}}
{"text": "2026-03-18 00:52:02.421 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.5ms\n", "record": {"elapsed": {"repr": "4 days, 1:20:21.588290", "seconds": 350421.58829}, "exception": null, "extra": {"request_id": "094d8dc7-99b7-4166-ac37-73e7b0caf6b3", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.5, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.5ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:52:02.421938+00:00", "timestamp": 1773795122.421938}}}
{"text": "2026-03-18 00:52:02.561 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.5ms\n", "record": {"elapsed": {"repr": "4 days, 1:20:21.727802", "seconds": 350421.727802}, "exception": null, "extra": {"request_id": "af188867-ea2b-4186-a3ce-a5d96baf1899", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.5, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.5ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:52:02.561450+00:00", "timestamp": 1773795122.56145}}}
{"text": "2026-03-18 00:52:02.692 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.49ms\n", "record": {"elapsed": {"repr": "4 days, 1:20:21.858632", "seconds": 350421.858632}, "exception": null, "extra": {"request_id": "fc29989c-74c9-41c9-b104-a166bd12b84e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.49, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.49ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:52:02.692280+00:00", "timestamp": 1773795122.69228}}}
{"text": "2026-03-18 00:52:02.831 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.55ms\n", "record": {"elapsed": {"repr": "4 days, 1:20:21.998191", "seconds": 350421.998191}, "exception": null, "extra": {"request_id": "a154cdf4-b076-48d1-b270-547227853acd", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.55, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.55ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:52:02.831839+00:00", "timestamp": 1773795122.831839}}}
{"text": "2026-03-18 00:53:10.291 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.74ms\n", "record": {"elapsed": {"repr": "4 days, 1:21:29.457604", "seconds": 350489.457604}, "exception": null, "extra": {"request_id": "70b41cdb-5eec-4931-86f3-4cdd4a58441e", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.74, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.74ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:53:10.291252+00:00", "timestamp": 1773795190.291252}}}
{"text": "2026-03-18 00:53:10.432 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.64ms\n", "record": {"elapsed": {"repr": "4 days, 1:21:29.599036", "seconds": 350489.599036}, "exception": null, "extra": {"request_id": "7c97645c-66eb-400a-b1e3-5e634712bee5", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.64, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.64ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:53:10.432684+00:00", "timestamp": 1773795190.432684}}}
{"text": "2026-03-18 00:53:10.798 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.68ms\n", "record": {"elapsed": {"repr": "4 days, 1:21:29.964571", "seconds": 350489.964571}, "exception": null, "extra": {"request_id": "3033dc23-9bca-4ffb-b1df-f0df1902935f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.68, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.68ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:53:10.798219+00:00", "timestamp": 1773795190.798219}}}
{"text": "2026-03-18 00:53:11.162 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.69ms\n", "record": {"elapsed": {"repr": "4 days, 1:21:30.328525", "seconds": 350490.328525}, "exception": null, "extra": {"request_id": "a4996d66-bbf3-453b-82d9-acf6783750ae", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.69, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.69ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:53:11.162173+00:00", "timestamp": 1773795191.162173}}}
{"text": "2026-03-18 00:53:11.312 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:21:30.478650", "seconds": 350490.47865}, "exception": null, "extra": {"request_id": "18bf86bc-4cb1-4500-a857-35eefb4b7fc9", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:53:11.312298+00:00", "timestamp": 1773795191.312298}}}
{"text": "2026-03-18 00:53:11.659 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.78ms\n", "record": {"elapsed": {"repr": "4 days, 1:21:30.825705", "seconds": 350490.825705}, "exception": null, "extra": {"request_id": "fa06ef53-6030-4afb-aaf0-8b2e39465922", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.78, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.78ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:53:11.659353+00:00", "timestamp": 1773795191.659353}}}
{"text": "2026-03-18 00:55:30.104 | INFO     | app.main:log_requests:103 - POST /api/v1/upwload - 404 - 0.7ms\n", "record": {"elapsed": {"repr": "4 days, 1:23:49.380142", "seconds": 350629.380142}, "exception": null, "extra": {"request_id": "63c50d44-50ac-4097-801c-0ae455ec6be6", "user_id": "anonymous", "method": "POST", "path": "/api/v1/upwload", "status_code": 404, "duration_ms": 0.7, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/upwload - 404 - 0.7ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:55:30.104096+00:00", "timestamp": 1773795330.104096}}}
{"text": "2026-03-18 00:55:30.258 | INFO     | app.main:log_requests:103 - POST /api/v1/uploads - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:23:49.534305", "seconds": 350629.534305}, "exception": null, "extra": {"request_id": "ff142b7f-9b46-4237-b9aa-189c2063b610", "user_id": "anonymous", "method": "POST", "path": "/api/v1/uploads", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/uploads - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:55:30.258259+00:00", "timestamp": 1773795330.258259}}}
{"text": "2026-03-18 00:55:30.606 | INFO     | app.main:log_requests:103 - POST /api/v1/files/upload - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "4 days, 1:23:49.882822", "seconds": 350629.882822}, "exception": null, "extra": {"request_id": "b9124354-5439-416e-9c6d-1b469e34e6d0", "user_id": "anonymous", "method": "POST", "path": "/api/v1/files/upload", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/files/upload - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:55:30.606776+00:00", "timestamp": 1773795330.606776}}}
{"text": "2026-03-18 00:55:30.739 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/upload - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:23:50.015401", "seconds": 350630.015401}, "exception": null, "extra": {"request_id": "e22c77fc-df96-4561-826c-081c0f9f7a0b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/upload", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/upload - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:55:30.739355+00:00", "timestamp": 1773795330.739355}}}
{"text": "2026-03-18 00:55:31.097 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/files - 404 - 0.71ms\n", "record": {"elapsed": {"repr": "4 days, 1:23:50.373352", "seconds": 350630.373352}, "exception": null, "extra": {"request_id": "8bf00bf5-e08d-4225-b1b1-09c098396136", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/files", "status_code": 404, "duration_ms": 0.71, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/files - 404 - 0.71ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:55:31.097306+00:00", "timestamp": 1773795331.097306}}}
{"text": "2026-03-18 00:55:31.453 | INFO     | app.main:log_requests:103 - POST /api/v1/v1/media - 404 - 0.72ms\n", "record": {"elapsed": {"repr": "4 days, 1:23:50.729304", "seconds": 350630.729304}, "exception": null, "extra": {"request_id": "48b15e9a-5b82-4e70-adff-d836ae596e1b", "user_id": "anonymous", "method": "POST", "path": "/api/v1/v1/media", "status_code": 404, "duration_ms": 0.72, "ip": "172.18.0.1", "user_agent": "curl/8.7.1"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/v1/media - 404 - 0.72ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 00:55:31.453258+00:00", "timestamp": 1773795331.453258}}}
{"text": "2026-03-18 07:28:24.131 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 200 - 908.94ms\n", "record": {"elapsed": {"repr": "4 days, 7:56:43.297912", "seconds": 374203.297912}, "exception": null, "extra": {"request_id": "06dfe356-b429-4e61-9179-2948dd5fac74", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 200, "duration_ms": 908.94, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 200 - 908.94ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:24.131560+00:00", "timestamp": 1773818904.13156}}}
{"text": "2026-03-18 07:28:24.702 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scanner/list - 200 - 456.65ms\n", "record": {"elapsed": {"repr": "4 days, 7:56:43.868600", "seconds": 374203.8686}, "exception": null, "extra": {"request_id": "391cf0ff-8f46-4c26-b83e-0f68451100c0", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scanner/list", "status_code": 200, "duration_ms": 456.65, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scanner/list - 200 - 456.65ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:24.702248+00:00", "timestamp": 1773818904.702248}}}
{"text": "2026-03-18 07:28:24.748 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/recent-events - 200 - 472.48ms\n", "record": {"elapsed": {"repr": "4 days, 7:56:43.915189", "seconds": 374203.915189}, "exception": null, "extra": {"request_id": "95e97331-212b-407a-819a-e7ca19d14327", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/recent-events", "status_code": 200, "duration_ms": 472.48, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/recent-events - 200 - 472.48ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:24.748837+00:00", "timestamp": 1773818904.748837}}}
{"text": "2026-03-18 07:28:24.768 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 498.96ms\n", "record": {"elapsed": {"repr": "4 days, 7:56:43.934968", "seconds": 374203.934968}, "exception": null, "extra": {"request_id": "6215230f-03eb-4e34-8ff9-9fafe79db397", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/webapp/credentials/check/kalshi", "status_code": 200, "duration_ms": 498.96, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/webapp/credentials/check/kalshi - 200 - 498.96ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:24.768616+00:00", "timestamp": 1773818904.768616}}}
{"text": "2026-03-18 07:28:24.780 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/presets - 200 - 515.73ms\n", "record": {"elapsed": {"repr": "4 days, 7:56:43.947057", "seconds": 374203.947057}, "exception": null, "extra": {"request_id": "d76c48de-6444-4059-89b0-b09add0b7be7", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/presets", "status_code": 200, "duration_ms": 515.73, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/presets - 200 - 515.73ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:24.780705+00:00", "timestamp": 1773818904.780705}}}
{"text": "2026-03-18 07:28:24.821 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/instances - 200 - 548.88ms\n", "record": {"elapsed": {"repr": "4 days, 7:56:43.988161", "seconds": 374203.988161}, "exception": null, "extra": {"request_id": "86fa66a3-20f4-4399-8a0b-457278923814", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/instances", "status_code": 200, "duration_ms": 548.88, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/instances - 200 - 548.88ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:24.821809+00:00", "timestamp": 1773818904.821809}}}
{"text": "2026-03-18 07:28:25.097 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/scheduler/list - 200 - 665.39ms\n", "record": {"elapsed": {"repr": "4 days, 7:56:44.373807", "seconds": 374204.373807}, "exception": null, "extra": {"request_id": "010d5701-c221-43eb-99c6-efe86a6b0930", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/scheduler/list", "status_code": 200, "duration_ms": 665.39, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/scheduler/list - 200 - 665.39ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:25.097761+00:00", "timestamp": 1773818905.097761}}}
{"text": "2026-03-18 07:28:25.117 | INFO     | app.main:log_requests:103 - GET /api/v1/terminal/auto/telegram-bots - 200 - 815.97ms\n", "record": {"elapsed": {"repr": "4 days, 7:56:44.393119", "seconds": 374204.393119}, "exception": null, "extra": {"request_id": "ef8c5c75-b105-4de2-b49e-8a52489f0a89", "user_id": "1", "method": "GET", "path": "/api/v1/terminal/auto/telegram-bots", "status_code": 200, "duration_ms": 815.97, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/terminal/auto/telegram-bots - 200 - 815.97ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:25.117073+00:00", "timestamp": 1773818905.117073}}}
{"text": "2026-03-18 07:28:25.966 | INFO     | app.main:log_requests:103 - POST /api/v1/terminal/auto/logout - 200 - 3.49ms\n", "record": {"elapsed": {"repr": "4 days, 7:56:45.242096", "seconds": 374205.242096}, "exception": null, "extra": {"request_id": "6556d55d-bb7b-45a6-997e-17413d654a0b", "user_id": "1", "method": "POST", "path": "/api/v1/terminal/auto/logout", "status_code": 200, "duration_ms": 3.49, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/terminal/auto/logout - 200 - 3.49ms", "module": "main", "name": "app.main", "process": {"id": 7, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:25.966050+00:00", "timestamp": 1773818905.96605}}}
{"text": "2026-03-18 07:28:41.321 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Account locked. Contact admin to restore access.\n", "record": {"elapsed": {"repr": "4 days, 7:57:00.488066", "seconds": 374220.488066}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Account locked. Contact admin to restore access.", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:41.321714+00:00", "timestamp": 1773818921.321714}}}
{"text": "2026-03-18 07:28:41.322 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 6.31ms\n", "record": {"elapsed": {"repr": "4 days, 7:57:00.489008", "seconds": 374220.489008}, "exception": null, "extra": {"request_id": "751b2151-08ed-4951-8d8d-684ab56e2625", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 6.31, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 6.31ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:28:41.322656+00:00", "timestamp": 1773818921.322656}}}
{"text": "2026-03-18 07:35:40.446 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Account locked. Contact admin to restore access.\n", "record": {"elapsed": {"repr": "4 days, 8:03:59.612422", "seconds": 374639.612422}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Account locked. Contact admin to restore access.", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:35:40.446070+00:00", "timestamp": 1773819340.44607}}}
{"text": "2026-03-18 07:35:40.447 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 6.85ms\n", "record": {"elapsed": {"repr": "4 days, 8:03:59.613359", "seconds": 374639.613359}, "exception": null, "extra": {"request_id": "453301f1-8bc3-4b65-a01e-324ddad34036", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 6.85, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 6.85ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:35:40.447007+00:00", "timestamp": 1773819340.447007}}}
{"text": "2026-03-18 07:35:41.307 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Account locked. Contact admin to restore access.\n", "record": {"elapsed": {"repr": "4 days, 8:04:00.474176", "seconds": 374640.474176}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Account locked. Contact admin to restore access.", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:35:41.307824+00:00", "timestamp": 1773819341.307824}}}
{"text": "2026-03-18 07:35:41.308 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 5.2ms\n", "record": {"elapsed": {"repr": "4 days, 8:04:00.474857", "seconds": 374640.474857}, "exception": null, "extra": {"request_id": "700792e0-ad35-46bf-a288-69b4fa23ad60", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 5.2, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 5.2ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:35:41.308505+00:00", "timestamp": 1773819341.308505}}}
{"text": "2026-03-18 07:35:42.027 | WARNING  | app.core.exceptions:app_exception_handler:99 - AppException: UnauthorizedError - Account locked. Contact admin to restore access.\n", "record": {"elapsed": {"repr": "4 days, 8:04:01.193747", "seconds": 374641.193747}, "exception": null, "extra": {"request_id": "unknown", "user_id": "anonymous", "method": "-", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": "-", "exception_type": "UnauthorizedError"}, "file": {"name": "exceptions.py", "path": "/app/app/core/exceptions.py"}, "function": "app_exception_handler", "level": {"icon": "⚠️", "name": "WARNING", "no": 30}, "line": 99, "message": "AppException: UnauthorizedError - Account locked. Contact admin to restore access.", "module": "exceptions", "name": "app.core.exceptions", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:35:42.027395+00:00", "timestamp": 1773819342.027395}}}
{"text": "2026-03-18 07:35:42.028 | INFO     | app.main:log_requests:103 - POST /api/v1/auth/login - 401 - 5.54ms\n", "record": {"elapsed": {"repr": "4 days, 8:04:01.194433", "seconds": 374641.194433}, "exception": null, "extra": {"request_id": "58c4efda-40d5-440c-83c0-aba56246801f", "user_id": "anonymous", "method": "POST", "path": "/api/v1/auth/login", "status_code": 401, "duration_ms": 5.54, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "POST /api/v1/auth/login - 401 - 5.54ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-18 07:35:42.028081+00:00", "timestamp": 1773819342.028081}}}
{"text": "2026-03-24 11:18:44.825 | INFO     | app.main:log_requests:103 - GET / - 404 - 0.39ms\n", "record": {"elapsed": {"repr": "10 days, 11:47:03.991937", "seconds": 906423.991937}, "exception": null, "extra": {"request_id": "027b616f-e532-4e12-8969-d54dd416a300", "user_id": "anonymous", "method": "GET", "path": "/", "status_code": 404, "duration_ms": 0.39, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET / - 404 - 0.39ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-24 11:18:44.825585+00:00", "timestamp": 1774351124.825585}}}
{"text": "2026-03-24 11:18:45.246 | INFO     | app.main:log_requests:103 - GET /favicon.ico - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "10 days, 11:47:04.413215", "seconds": 906424.413215}, "exception": null, "extra": {"request_id": "52c53297-3bd1-48f0-b04a-715aacdfc831", "user_id": "anonymous", "method": "GET", "path": "/favicon.ico", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /favicon.ico - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-24 11:18:45.246863+00:00", "timestamp": 1774351125.246863}}}
{"text": "2026-03-24 11:18:45.676 | INFO     | app.main:log_requests:103 - GET / - 404 - 0.4ms\n", "record": {"elapsed": {"repr": "10 days, 11:47:04.843202", "seconds": 906424.843202}, "exception": null, "extra": {"request_id": "a6b7abcc-03ab-4945-99c2-d4cde265bc71", "user_id": "anonymous", "method": "GET", "path": "/", "status_code": 404, "duration_ms": 0.4, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET / - 404 - 0.4ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-24 11:18:45.676850+00:00", "timestamp": 1774351125.67685}}}
{"text": "2026-03-24 11:18:45.998 | INFO     | app.main:log_requests:103 - GET /favicon.ico - 404 - 0.52ms\n", "record": {"elapsed": {"repr": "10 days, 11:47:05.164435", "seconds": 906425.164435}, "exception": null, "extra": {"request_id": "37adb59e-fba3-46d3-b502-a236aaa253b7", "user_id": "anonymous", "method": "GET", "path": "/favicon.ico", "status_code": 404, "duration_ms": 0.52, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /favicon.ico - 404 - 0.52ms", "module": "main", "name": "app.main", "process": {"id": 8, "name": "MainProcess"}, "thread": {"id": 140733628137504, "name": "MainThread"}, "time": {"repr": "2026-03-24 11:18:45.998083+00:00", "timestamp": 1774351125.998083}}}
{"text": "2026-04-03 00:58:36.702 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:05.529448", "seconds": 5.529448}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 14, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 00:58:36.702595+00:00", "timestamp": 1775177916.702595}}}
{"text": "2026-04-03 00:58:36.706 | INFO     | app.core.logging_config:setup_logging:60 - Logging initialized - Environment: production\n", "record": {"elapsed": {"repr": "0:00:05.527721", "seconds": 5.527721}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "logging_config.py", "path": "/app/app/core/logging_config.py"}, "function": "setup_logging", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 60, "message": "Logging initialized - Environment: production", "module": "logging_config", "name": "app.core.logging_config", "process": {"id": 15, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 00:58:36.706071+00:00", "timestamp": 1775177916.706071}}}
{"text": "2026-04-03 00:58:36.985 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:05.811860", "seconds": 5.81186}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 14, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 00:58:36.985007+00:00", "timestamp": 1775177916.985007}}}
{"text": "2026-04-03 00:58:36.985 | INFO     | app.main:lifespan:26 - 🚀 Starting application...\n", "record": {"elapsed": {"repr": "0:00:05.806657", "seconds": 5.806657}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 26, "message": "🚀 Starting application...", "module": "main", "name": "app.main", "process": {"id": 15, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 00:58:36.985007+00:00", "timestamp": 1775177916.985007}}}
{"text": "2026-04-03 00:58:38.257 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:07.079191", "seconds": 7.079191}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 15, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 00:58:38.257541+00:00", "timestamp": 1775177918.257541}}}
{"text": "2026-04-03 00:58:38.257 | INFO     | app.main:lifespan:28 - ✅ Database initialized\n", "record": {"elapsed": {"repr": "0:00:07.084421", "seconds": 7.084421}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 28, "message": "✅ Database initialized", "module": "main", "name": "app.main", "process": {"id": 14, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 00:58:38.257568+00:00", "timestamp": 1775177918.257568}}}
{"text": "2026-04-03 00:58:38.259 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:07.080868", "seconds": 7.080868}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 15, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 00:58:38.259218+00:00", "timestamp": 1775177918.259218}}}
{"text": "2026-04-03 00:58:38.260 | INFO     | app.main:lifespan:30 - ✅ Redis initialized\n", "record": {"elapsed": {"repr": "0:00:07.087354", "seconds": 7.087354}, "exception": null, "extra": {"request_id": "-", "user_id": "-", "method": "-", "path": "-", "status_code": "-", "duration_ms": "-"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "lifespan", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 30, "message": "✅ Redis initialized", "module": "main", "name": "app.main", "process": {"id": 14, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 00:58:38.260501+00:00", "timestamp": 1775177918.260501}}}
{"text": "2026-04-03 11:31:37.117 | INFO     | app.main:log_requests:103 - GET /api/v1/.env - 404 - 0.99ms\n", "record": {"elapsed": {"repr": "10:33:05.944725", "seconds": 37985.944725}, "exception": null, "extra": {"request_id": "23cbedf6-24d4-48ae-be2a-079577876aa8", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env", "status_code": 404, "duration_ms": 0.99, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env - 404 - 0.99ms", "module": "main", "name": "app.main", "process": {"id": 14, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 11:31:37.117872+00:00", "timestamp": 1775215897.117872}}}
{"text": "2026-04-03 11:31:38.173 | INFO     | app.main:log_requests:103 - GET /api/v1/.env - 404 - 0.82ms\n", "record": {"elapsed": {"repr": "10:33:07.000526", "seconds": 37987.000526}, "exception": null, "extra": {"request_id": "81bf5b48-7627-4e14-8a62-37438f232ef3", "user_id": "anonymous", "method": "GET", "path": "/api/v1/.env", "status_code": 404, "duration_ms": 0.82, "ip": "172.18.0.1", "user_agent": "Mozilla/5.0"}, "file": {"name": "main.py", "path": "/app/app/main.py"}, "function": "log_requests", "level": {"icon": "ℹ️", "name": "INFO", "no": 20}, "line": 103, "message": "GET /api/v1/.env - 404 - 0.82ms", "module": "main", "name": "app.main", "process": {"id": 14, "name": "MainProcess"}, "thread": {"id": 140732336046112, "name": "MainThread"}, "time": {"repr": "2026-04-03 11:31:38.173673+00:00", "timestamp": 1775215898.173673}}}
