2026-04-28 23:59:42,473 - main - INFO - === Logging system initialized ===
2026-04-28 23:59:42,473 - main - INFO - Log file: logs/app_20260428_235942.log
2026-04-28 23:59:42,473 - main - INFO - Log level: INFO
2026-04-28 23:59:42,473 - main - INFO - Timestamp: 20260428_235942
2026-04-28 23:59:43,311 - main - INFO - Included router: routers.aihub.router
2026-04-28 23:59:43,334 - main - INFO - Included router: routers.auth.router
2026-04-28 23:59:43,338 - main - INFO - Included router: routers.health.router
2026-04-28 23:59:43,359 - main - INFO - Included router: routers.settings.router
2026-04-28 23:59:43,395 - main - INFO - Included router: routers.storage.router
2026-04-28 23:59:43,405 - main - INFO - Included router: routers.user.router
2026-04-28 23:59:43,455 - main - INFO - Included router: routers.user_profiles.router
2026-04-28 23:59:43,543 - main - INFO - Included router: routers.whmcs.router
2026-04-28 23:59:43,544 - main - INFO - === Application startup initiated ===
2026-04-28 23:59:43,545 - services.database - INFO - Ignore creating tables
2026-04-28 23:59:43,545 - services.mock_data - INFO - Ignore initialize data
2026-04-28 23:59:43,546 - services.auth - INFO - Ignore initialize admin
2026-04-28 23:59:43,546 - main - INFO - === Application startup completed successfully ===
2026-04-28 23:59:54,150 - core.config - DEBUG - Read dynamic attribute jwt_secret_key from environment variable JWT_SECRET_KEY
2026-04-28 23:59:54,150 - core.config - DEBUG - Read dynamic attribute jwt_algorithm from environment variable JWT_ALGORITHM
2026-04-28 23:59:54,177 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:59:54,435 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-28 23:59:54,436 - core.config - DEBUG - Read dynamic attribute oss_service_url from environment variable OSS_SERVICE_URL
2026-04-28 23:59:54,436 - core.config - DEBUG - Read dynamic attribute oss_api_key from environment variable OSS_API_KEY
2026-04-28 23:59:54,504 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 23:59:54,520 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffb9ceda440>
2026-04-28 23:59:54,521 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7ffb9d827ec0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 23:59:54,534 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffb9ceda1a0>
2026-04-28 23:59:54,534 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 23:59:54,535 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 23:59:54,535 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 23:59:54,535 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 23:59:54,535 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 23:59:54,666 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 29 Apr 2026 06:59:54 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'45a1532b85103a039391915f44963614'), (b'X-Trace-Id', b'46db99c8f17b478b8162bb8ebf31f66b'), (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'9f3c6d39df8408f2-LAX')])
2026-04-28 23:59:54,667 - 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 23:59:54,668 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 23:59:54,668 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 23:59:54,668 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 23:59:54,669 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 23:59:54,669 - httpcore.connection - DEBUG - close.started
2026-04-28 23:59:54,669 - httpcore.connection - DEBUG - close.complete
2026-04-29 00:03:57,356 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-29 00:03:57,616 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-29 00:03:57,656 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-29 00:03:57,669 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffb9cedbee0>
2026-04-29 00:03:57,670 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7ffb9d826c40> server_hostname='atoms.dev' timeout=120.0
2026-04-29 00:03:57,678 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffb9cedbc40>
2026-04-29 00:03:57,679 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-29 00:03:57,679 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-29 00:03:57,679 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-29 00:03:57,679 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-29 00:03:57,680 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-29 00:03:57,816 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 29 Apr 2026 07:03:57 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'686ba7ef1a09bedee153e767e272c117'), (b'X-Trace-Id', b'0264dd780baf4c18be359de151cddada'), (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'9f3c7329787017c8-LAX')])
2026-04-29 00:03:57,817 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-29 00:03:57,817 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-29 00:03:57,818 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-29 00:03:57,818 - httpcore.http11 - DEBUG - response_closed.started
2026-04-29 00:03:57,818 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-29 00:03:57,819 - httpcore.connection - DEBUG - close.started
2026-04-29 00:03:57,819 - httpcore.connection - DEBUG - close.complete
2026-04-29 00:08:00,140 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-29 00:08:00,420 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-29 00:08:00,446 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-29 00:08:00,462 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffb9c52d510>
2026-04-29 00:08:00,462 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7ffb9ce8e3c0> server_hostname='atoms.dev' timeout=120.0
2026-04-29 00:08:00,472 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffb9c52d270>
2026-04-29 00:08:00,472 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-29 00:08:00,473 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-29 00:08:00,473 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-29 00:08:00,473 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-29 00:08:00,473 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-29 00:08:00,655 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 29 Apr 2026 07:08:00 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'479fd6d015c13042c26c2e0ec5612c37'), (b'X-Trace-Id', b'81b308f3175744758103f2f4fbfbbe1f'), (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'9f3c7916f9942eb7-LAX')])
2026-04-29 00:08:00,656 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-29 00:08:00,657 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-29 00:08:00,658 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-29 00:08:00,658 - httpcore.http11 - DEBUG - response_closed.started
2026-04-29 00:08:00,658 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-29 00:08:00,658 - httpcore.connection - DEBUG - close.started
2026-04-29 00:08:00,659 - httpcore.connection - DEBUG - close.complete
2026-04-29 00:12:03,002 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-29 00:12:03,259 - core.auth - DEBUG - Authentication token validated for user hash: 8c5e6440
2026-04-29 00:12:03,286 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-29 00:12:03,300 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffb9c52eb00>
2026-04-29 00:12:03,301 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7ffb9ce8e440> server_hostname='atoms.dev' timeout=120.0
2026-04-29 00:12:03,309 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffb9c52e860>
2026-04-29 00:12:03,309 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-29 00:12:03,310 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-29 00:12:03,310 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-29 00:12:03,310 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-29 00:12:03,311 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-29 00:12:03,508 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 29 Apr 2026 07:12:03 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'361f6216cf91009be4f66a7c8bf6de7f'), (b'X-Trace-Id', b'6e04c34a70ca468ca77f10ce5f5cf350'), (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'9f3c7f04bb735027-LAX')])
2026-04-29 00:12:03,509 - httpx - INFO - HTTP Request: GET https://atoms.dev/api/v1/infra/client/oss/buckets/user-avatars/objects "HTTP/1.1 200 OK"
2026-04-29 00:12:03,510 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-29 00:12:03,510 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-29 00:12:03,511 - httpcore.http11 - DEBUG - response_closed.started
2026-04-29 00:12:03,511 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-29 00:12:03,511 - httpcore.connection - DEBUG - close.started
2026-04-29 00:12:03,511 - httpcore.connection - DEBUG - close.complete
2026-04-29 00:13:11,878 - services.database - DEBUG - [DB_OP] Starting database close
2026-04-29 00:13:11,878 - services.database - INFO - Database connections closed
2026-04-29 00:13:11,878 - services.database - DEBUG - [DB_OP] Database close completed in 0.0008s
