2026-04-28 08:50:06,302 - main - INFO - === Logging system initialized ===
2026-04-28 08:50:06,302 - main - INFO - Log file: logs/app_20260428_085006.log
2026-04-28 08:50:06,302 - main - INFO - Log level: INFO
2026-04-28 08:50:06,302 - main - INFO - Timestamp: 20260428_085006
2026-04-28 08:50:07,401 - main - INFO - Included router: routers.aihub.router
2026-04-28 08:50:07,424 - main - INFO - Included router: routers.auth.router
2026-04-28 08:50:07,427 - main - INFO - Included router: routers.health.router
2026-04-28 08:50:07,448 - main - INFO - Included router: routers.settings.router
2026-04-28 08:50:07,497 - main - INFO - Included router: routers.storage.router
2026-04-28 08:50:07,508 - main - INFO - Included router: routers.user.router
2026-04-28 08:50:07,558 - main - INFO - Included router: routers.user_profiles.router
2026-04-28 08:50:07,559 - main - INFO - === Application startup initiated ===
2026-04-28 08:50:07,560 - services.database - INFO - Ignore creating tables
2026-04-28 08:50:07,560 - services.mock_data - INFO - Ignore initialize data
2026-04-28 08:50:07,560 - services.auth - INFO - Ignore initialize admin
2026-04-28 08:50:07,560 - main - INFO - === Application startup completed successfully ===
2026-04-28 08:50:12,025 - core.config - DEBUG - Read dynamic attribute jwt_secret_key from environment variable JWT_SECRET_KEY
2026-04-28 08:50:12,025 - core.config - DEBUG - Read dynamic attribute jwt_algorithm from environment variable JWT_ALGORITHM
2026-04-28 08:50:12,042 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:50:12,329 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:50:12,329 - core.config - DEBUG - Read dynamic attribute oss_service_url from environment variable OSS_SERVICE_URL
2026-04-28 08:50:12,329 - core.config - DEBUG - Read dynamic attribute oss_api_key from environment variable OSS_API_KEY
2026-04-28 08:50:12,441 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:50:12,479 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee210b2080>
2026-04-28 08:50:12,480 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fee21a0ff40> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:50:12,502 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee210b1de0>
2026-04-28 08:50:12,503 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:50:12,505 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:50:12,505 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:50:12,505 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:50:12,505 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:50:12,701 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:50:12 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'89dbb703a51c330e42a674ad66cb8fdb'), (b'X-Trace-Id', b'fd5f2e549663405f95dc6078401bc015'), (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'9f3738a83a514633-LAX')])
2026-04-28 08:50:12,702 - 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:50:12,703 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:50:12,703 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:50:12,703 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:50:12,703 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:50:12,704 - httpcore.connection - DEBUG - close.started
2026-04-28 08:50:12,704 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:50:48,022 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:50:48,307 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:50:48,331 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:50:48,343 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee210b3ac0>
2026-04-28 08:50:48,343 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fee21a0fe40> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:50:48,359 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee210b3820>
2026-04-28 08:50:48,360 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:50:48,361 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:50:48,361 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:50:48,361 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:50:48,361 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:50:48,685 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:50:48 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'9ad2b8d0c3ae9f7956b098f77b8b6c59'), (b'X-Trace-Id', b'ddf8d8ab7cf645988a0a7b0ed8267713'), (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'9f3739885d4455da-LAX')])
2026-04-28 08:50:48,686 - 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:50:48,686 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:50:48,687 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:50:48,687 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:50:48,687 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:50:48,688 - httpcore.connection - DEBUG - close.started
2026-04-28 08:50:48,688 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:51:44,765 - dependencies.auth - DEBUG - Authentication required for request GET /api/v1/auth/me
2026-04-28 08:51:46,760 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:51:47,048 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:51:47,085 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:51:47,099 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee21101120>
2026-04-28 08:51:47,099 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fee21a0f4c0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:51:47,114 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee21100e80>
2026-04-28 08:51:47,115 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:51:47,116 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:51:47,116 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:51:47,116 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:51:47,116 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:51:47,555 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:51:47 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'7a8ae3353b39bd92970a15c490c04b6f'), (b'X-Trace-Id', b'4db754f5eb1d4ef99378b3f8b76df45f'), (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'9f373af78b055bf3-LAX')])
2026-04-28 08:51:47,555 - 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:51:47,556 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:51:47,556 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:51:47,556 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:51:47,557 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:51:47,557 - httpcore.connection - DEBUG - close.started
2026-04-28 08:51:47,557 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:52:09,167 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:52:09,453 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:52:09,478 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:52:09,494 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee21102740>
2026-04-28 08:52:09,494 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fee210c01c0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:52:09,503 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee211024a0>
2026-04-28 08:52:09,503 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:52:09,504 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:52:09,504 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:52:09,504 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:52:09,504 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:52:09,674 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:52:09 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'26dc3b0f35791241f894ee1c339719bd'), (b'X-Trace-Id', b'f32ba27ca33d4737bfcb04f436a5f3fa'), (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'9f373b837cc0b256-LAX')])
2026-04-28 08:52:09,675 - 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:52:09,675 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:52:09,676 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:52:09,676 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:52:09,676 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:52:09,676 - httpcore.connection - DEBUG - close.started
2026-04-28 08:52:09,677 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:52:26,108 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:52:26,454 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:52:26,480 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:52:26,490 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee21103d30>
2026-04-28 08:52:26,492 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fee21a0ce40> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:52:26,508 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7fee21103a90>
2026-04-28 08:52:26,509 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:52:26,510 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:52:26,510 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:52:26,510 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:52:26,510 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:52:26,712 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:52: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'1f5961cfbc0d0c1f9053c00678ac69b1'), (b'X-Trace-Id', b'9bd0c10b07034183a109591840d04c06'), (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'9f373bedbd060b78-LAX')])
2026-04-28 08:52:26,713 - 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:52:26,713 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:52:26,713 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:52:26,713 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:52:26,713 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:52:26,714 - httpcore.connection - DEBUG - close.started
2026-04-28 08:52:26,714 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:52:31,292 - services.database - DEBUG - [DB_OP] Starting database close
2026-04-28 08:52:31,292 - services.database - INFO - Database connections closed
2026-04-28 08:52:31,292 - services.database - DEBUG - [DB_OP] Database close completed in 0.0003s
