2026-04-28 08:55:52,126 - main - INFO - === Logging system initialized ===
2026-04-28 08:55:52,127 - main - INFO - Log file: logs/app_20260428_085552.log
2026-04-28 08:55:52,127 - main - INFO - Log level: INFO
2026-04-28 08:55:52,127 - main - INFO - Timestamp: 20260428_085552
2026-04-28 08:55:52,959 - main - INFO - Included router: routers.aihub.router
2026-04-28 08:55:52,980 - main - INFO - Included router: routers.auth.router
2026-04-28 08:55:52,982 - main - INFO - Included router: routers.health.router
2026-04-28 08:55:53,002 - main - INFO - Included router: routers.settings.router
2026-04-28 08:55:53,060 - main - INFO - Included router: routers.storage.router
2026-04-28 08:55:53,068 - main - INFO - Included router: routers.user.router
2026-04-28 08:55:53,109 - main - INFO - Included router: routers.user_profiles.router
2026-04-28 08:55:53,110 - main - INFO - === Application startup initiated ===
2026-04-28 08:55:53,110 - services.database - INFO - Ignore creating tables
2026-04-28 08:55:53,110 - services.mock_data - INFO - Ignore initialize data
2026-04-28 08:55:53,110 - services.auth - INFO - Ignore initialize admin
2026-04-28 08:55:53,110 - main - INFO - === Application startup completed successfully ===
2026-04-28 08:56:03,328 - core.config - DEBUG - Read dynamic attribute jwt_secret_key from environment variable JWT_SECRET_KEY
2026-04-28 08:56:03,328 - core.config - DEBUG - Read dynamic attribute jwt_algorithm from environment variable JWT_ALGORITHM
2026-04-28 08:56:03,341 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:56:03,640 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:56:03,641 - core.config - DEBUG - Read dynamic attribute oss_service_url from environment variable OSS_SERVICE_URL
2026-04-28 08:56:03,641 - core.config - DEBUG - Read dynamic attribute oss_api_key from environment variable OSS_API_KEY
2026-04-28 08:56:03,734 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:56:05,742 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f5618d120b0>
2026-04-28 08:56:05,744 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f561966fec0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:56:05,765 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f5618d11e10>
2026-04-28 08:56:05,766 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:56:05,766 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:56:05,766 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:56:05,766 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:56:05,767 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:56:06,231 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:56:06 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'2dcdf8b6f6bb93b02709ecacc5bdeb43'), (b'X-Trace-Id', b'1961e9b2a8f94ffa9e9e8acb536ffd6f'), (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'9f3741481d41f552-LAX')])
2026-04-28 08:56:06,232 - 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 08:56:06,232 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:56:06,233 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:56:06,233 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:56:06,233 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:56:06,233 - httpcore.connection - DEBUG - close.started
2026-04-28 08:56:06,233 - httpcore.connection - DEBUG - close.complete
2026-04-28 09:02:29,817 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:02:30,117 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:02:30,141 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 09:02:30,154 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f5618d13b50>
2026-04-28 09:02:30,154 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f561966cdc0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 09:02:30,165 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f5618d138b0>
2026-04-28 09:02:30,165 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 09:02:30,166 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 09:02:30,166 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 09:02:30,166 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 09:02:30,166 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 09:02:30,748 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 16:02:30 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'abedffc151e8eff969353ed2b728913b'), (b'X-Trace-Id', b'762264ade9e54344a0ad3b10d2bec38e'), (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'9f374aaa9ec67db7-LAX')])
2026-04-28 09:02:30,748 - 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:02:30,749 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 09:02:30,749 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 09:02:30,749 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 09:02:30,749 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 09:02:30,750 - httpcore.connection - DEBUG - close.started
2026-04-28 09:02:30,750 - httpcore.connection - DEBUG - close.complete
2026-04-28 09:10:14,011 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:10:14,306 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:10:14,340 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 09:10:14,385 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f5618d61180>
2026-04-28 09:10:14,386 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f561966f440> server_hostname='atoms.dev' timeout=120.0
2026-04-28 09:10:14,392 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f5618d60ee0>
2026-04-28 09:10:14,393 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 09:10:14,393 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 09:10:14,393 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 09:10:14,393 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 09:10:14,393 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 09:10:15,353 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 16:10:15 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'cf428b56ac5b938ad7372d73e752a3e0'), (b'X-Trace-Id', b'1b9b9db6a2c84643abfad53bdc8453ec'), (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'9f3755fffa8883d5-LAX')])
2026-04-28 09:10:15,354 - 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:10:15,354 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 09:10:15,355 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 09:10:15,355 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 09:10:15,355 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 09:10:15,355 - httpcore.connection - DEBUG - close.started
2026-04-28 09:10:15,355 - httpcore.connection - DEBUG - close.complete
2026-04-28 09:11:24,077 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:11:24,365 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 09:11:24,524 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 09:11:24,533 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f5618d62770>
2026-04-28 09:11:24,533 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7f5618d203c0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 09:11:24,543 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7f5618d624d0>
2026-04-28 09:11:24,543 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 09:11:24,543 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 09:11:24,543 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 09:11:24,543 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 09:11:24,544 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 09:11:24,692 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 16:11:24 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'9e50b2e31d5440b805d41f8cc67501fb'), (b'X-Trace-Id', b'4fa2dbe461294faeb3dca7e55eebb505'), (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'9f3757b669791e08-LAX')])
2026-04-28 09:11:24,692 - 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:11:24,693 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 09:11:24,693 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 09:11:24,693 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 09:11:24,693 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 09:11:24,693 - httpcore.connection - DEBUG - close.started
2026-04-28 09:11:24,693 - httpcore.connection - DEBUG - close.complete
2026-04-28 09:25:25,949 - services.database - DEBUG - [DB_OP] Starting database close
2026-04-28 09:25:25,949 - services.database - INFO - Database connections closed
2026-04-28 09:25:25,949 - services.database - DEBUG - [DB_OP] Database close completed in 0.0003s
