2026-04-28 09:41:10,632 - main - INFO - === Logging system initialized ===
2026-04-28 09:41:10,632 - main - INFO - Log file: logs/app_20260428_094110.log
2026-04-28 09:41:10,632 - main - INFO - Log level: INFO
2026-04-28 09:41:10,632 - main - INFO - Timestamp: 20260428_094110
2026-04-28 09:41:11,276 - main - INFO - Included router: routers.aihub.router
2026-04-28 09:41:11,293 - main - INFO - Included router: routers.auth.router
2026-04-28 09:41:11,296 - main - INFO - Included router: routers.health.router
2026-04-28 09:41:11,316 - main - INFO - Included router: routers.settings.router
2026-04-28 09:41:11,348 - main - INFO - Included router: routers.storage.router
2026-04-28 09:41:11,355 - main - INFO - Included router: routers.user.router
2026-04-28 09:41:11,394 - main - INFO - Included router: routers.user_profiles.router
2026-04-28 09:41:11,434 - main - INFO - Included router: routers.whmcs.router
2026-04-28 09:41:11,435 - main - INFO - === Application startup initiated ===
2026-04-28 09:41:11,435 - services.database - INFO - Ignore creating tables
2026-04-28 09:41:11,435 - services.mock_data - INFO - Ignore initialize data
2026-04-28 09:41:11,435 - services.auth - INFO - Ignore initialize admin
2026-04-28 09:41:11,435 - main - INFO - === Application startup completed successfully ===
2026-04-28 09:41:21,029 - core.config - DEBUG - Read dynamic attribute jwt_secret_key from environment variable JWT_SECRET_KEY
2026-04-28 09:41:21,029 - core.config - DEBUG - Read dynamic attribute jwt_algorithm from environment variable JWT_ALGORITHM
2026-04-28 09:41:21,039 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:41:21,393 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:41:21,393 - core.config - DEBUG - Read dynamic attribute oss_service_url from environment variable OSS_SERVICE_URL
2026-04-28 09:41:21,393 - core.config - DEBUG - Read dynamic attribute oss_api_key from environment variable OSS_API_KEY
2026-04-28 09:41:21,456 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 09:41:21,972 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f209ab701f0>
2026-04-28 09:41:21,973 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f209b49eac0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 09:41:21,986 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f209ab700a0>
2026-04-28 09:41:21,987 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 09:41:21,987 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 09:41:21,988 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 09:41:21,988 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 09:41:21,988 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 09:41:22,406 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 16:41:22 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Access-Control-Allow-Headers', b'Origin, Content-Type, Accept, Authorization'), (b'Access-Control-Allow-Methods', b'GET, POST, PUT, DELETE, OPTIONS'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Max-Age', b'86400'), (b'X-Request-Id', b'82980d98d38fd0ceed26a538805b353b'), (b'X-Trace-Id', b'372169c034714f9dbe6f78154c29aa02'), (b'Content-Security-Policy', b"frame-ancestors 'self' https://atoms.dev"), (b'Strict-Transport-Security', b'max-age=63072000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'cf-cache-status', b'DYNAMIC'), (b'Content-Encoding', b'gzip'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9f3783987ec23bb9-LAX')])
2026-04-28 09:41:22,407 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-28 09:41:22,407 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 09:41:22,408 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 09:41:22,408 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 09:41:22,408 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 09:41:22,409 - httpcore.connection - DEBUG - close.started
2026-04-28 09:41:22,409 - httpcore.connection - DEBUG - close.complete
2026-04-28 09:45:25,844 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:45:26,141 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:45:26,179 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 09:45:26,220 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f209ab71c90>
2026-04-28 09:45:26,220 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f209b49dcc0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 09:45:26,229 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f209ab719f0>
2026-04-28 09:45:26,230 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 09:45:26,230 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 09:45:26,230 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 09:45:26,230 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 09:45:26,230 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 09:45:26,545 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 16:45:26 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Access-Control-Allow-Headers', b'Origin, Content-Type, Accept, Authorization'), (b'Access-Control-Allow-Methods', b'GET, POST, PUT, DELETE, OPTIONS'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Max-Age', b'86400'), (b'X-Request-Id', b'e5db0bd112b365432594a3ed8240b3fe'), (b'X-Trace-Id', b'3c4724ef632a459f8e542cf9dcb240c2'), (b'Content-Security-Policy', b"frame-ancestors 'self' https://atoms.dev"), (b'Strict-Transport-Security', b'max-age=63072000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'cf-cache-status', b'DYNAMIC'), (b'Content-Encoding', b'gzip'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9f37898f098f1268-LAX')])
2026-04-28 09:45:26,546 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-28 09:45:26,546 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 09:45:26,546 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 09:45:26,547 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 09:45:26,547 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 09:45:26,547 - httpcore.connection - DEBUG - close.started
2026-04-28 09:45:26,547 - httpcore.connection - DEBUG - close.complete
2026-04-28 09:49:28,852 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:49:29,151 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:49:29,176 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 09:49:29,189 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f209ab73280>
2026-04-28 09:49:29,190 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f209ab38d40> server_hostname='atoms.dev' timeout=120.0
2026-04-28 09:49:29,204 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f209ab72fe0>
2026-04-28 09:49:29,205 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 09:49:29,206 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 09:49:29,206 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 09:49:29,206 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 09:49:29,207 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 09:49:29,486 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 16:49:29 GMT'), (b'Content-Type', b'application/json; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Access-Control-Allow-Headers', b'Origin, Content-Type, Accept, Authorization'), (b'Access-Control-Allow-Methods', b'GET, POST, PUT, DELETE, OPTIONS'), (b'Access-Control-Allow-Origin', b'*'), (b'Access-Control-Max-Age', b'86400'), (b'X-Request-Id', b'26351a0bc0d6191b988ff279ded59677'), (b'X-Trace-Id', b'1a8a34d04f3e492daef3b8d7bfe9a13a'), (b'Content-Security-Policy', b"frame-ancestors 'self' https://atoms.dev"), (b'Strict-Transport-Security', b'max-age=63072000; includeSubDomains; preload'), (b'X-Content-Type-Options', b'nosniff'), (b'X-XSS-Protection', b'1; mode=block'), (b'Referrer-Policy', b'strict-origin-when-cross-origin'), (b'cf-cache-status', b'DYNAMIC'), (b'Content-Encoding', b'gzip'), (b'Server', b'cloudflare'), (b'CF-RAY', b'9f378f7d99a583ef-LAX')])
2026-04-28 09:49:29,487 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-28 09:49:29,487 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 09:49:29,488 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 09:49:29,488 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 09:49:29,489 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 09:49:29,489 - httpcore.connection - DEBUG - close.started
2026-04-28 09:49:29,489 - httpcore.connection - DEBUG - close.complete
2026-04-28 09:53:14,069 - services.database - DEBUG - [DB_OP] Starting database close
2026-04-28 09:53:14,069 - services.database - INFO - Database connections closed
2026-04-28 09:53:14,069 - services.database - DEBUG - [DB_OP] Database close completed in 0.0003s
