2026-04-28 08:39:35,438 - main - INFO - === Logging system initialized ===
2026-04-28 08:39:35,438 - main - INFO - Log file: logs/app_20260428_083935.log
2026-04-28 08:39:35,438 - main - INFO - Log level: INFO
2026-04-28 08:39:35,438 - main - INFO - Timestamp: 20260428_083935
2026-04-28 08:39:36,223 - main - INFO - Included router: routers.aihub.router
2026-04-28 08:39:36,238 - main - INFO - Included router: routers.auth.router
2026-04-28 08:39:36,240 - main - INFO - Included router: routers.health.router
2026-04-28 08:39:36,260 - main - INFO - Included router: routers.settings.router
2026-04-28 08:39:36,292 - main - INFO - Included router: routers.storage.router
2026-04-28 08:39:36,301 - main - INFO - Included router: routers.user.router
2026-04-28 08:39:36,340 - main - INFO - Included router: routers.user_profiles.router
2026-04-28 08:39:36,341 - main - INFO - === Application startup initiated ===
2026-04-28 08:39:36,341 - services.database - INFO - Ignore creating tables
2026-04-28 08:39:36,342 - services.mock_data - INFO - Ignore initialize data
2026-04-28 08:39:36,342 - services.auth - INFO - Ignore initialize admin
2026-04-28 08:39:36,342 - main - INFO - === Application startup completed successfully ===
2026-04-28 08:39:40,802 - core.config - DEBUG - Read dynamic attribute jwt_secret_key from environment variable JWT_SECRET_KEY
2026-04-28 08:39:40,802 - core.config - DEBUG - Read dynamic attribute jwt_algorithm from environment variable JWT_ALGORITHM
2026-04-28 08:39:40,812 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:39:41,100 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:39:41,100 - core.config - DEBUG - Read dynamic attribute oss_service_url from environment variable OSS_SERVICE_URL
2026-04-28 08:39:41,101 - core.config - DEBUG - Read dynamic attribute oss_api_key from environment variable OSS_API_KEY
2026-04-28 08:39:41,158 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:39:41,165 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8a6080>
2026-04-28 08:39:41,165 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7ffaeb203ec0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:39:41,175 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8a5de0>
2026-04-28 08:39:41,175 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:39:41,176 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:39:41,176 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:39:41,176 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:39:41,176 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:39:41,423 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:39:41 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'b9994aef86b440e672bb2e4b6767fb69'), (b'X-Trace-Id', b'be14df6378cf47fcb0d3144968e82ad9'), (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'9f37293e693b83ef-LAX')])
2026-04-28 08:39:41,424 - 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:39:41,424 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:39:41,425 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:39:41,425 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:39:41,425 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:39:41,425 - httpcore.connection - DEBUG - close.started
2026-04-28 08:39:41,426 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:39:46,804 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:39:47,093 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:39:47,136 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:39:47,142 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8a7ac0>
2026-04-28 08:39:47,143 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7ffaeb203dc0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:39:47,154 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8a7820>
2026-04-28 08:39:47,154 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:39:47,154 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:39:47,155 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:39:47,155 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:39:47,155 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:39:47,448 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:39: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'926cb898b1169521024dc261dd4cd346'), (b'X-Trace-Id', b'7986e072f8d8437bbce824e686b0d4b8'), (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'9f372963cfdde9df-LAX')])
2026-04-28 08:39:47,449 - 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:39:47,449 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:39:47,449 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:39:47,450 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:39:47,450 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:39:47,450 - httpcore.connection - DEBUG - close.started
2026-04-28 08:39:47,450 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:39:48,979 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:39:49,257 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:39:49,280 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:39:49,298 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8f90f0>
2026-04-28 08:39:49,298 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7ffaeb203440> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:39:49,308 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8f8e50>
2026-04-28 08:39:49,309 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:39:49,309 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:39:49,309 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:39:49,309 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:39:49,310 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:39:49,911 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:39:49 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'6b37ab416246b570d6c3dc84e7888cc8'), (b'X-Trace-Id', b'75cf8216c1a54961bba982b8ff7bf823'), (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'9f3729714cb88ea3-LAX')])
2026-04-28 08:39:49,912 - 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:39:49,912 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:39:49,912 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:39:49,913 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:39:49,913 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:39:49,913 - httpcore.connection - DEBUG - close.started
2026-04-28 08:39:49,913 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:40:26,539 - dependencies.auth - DEBUG - Authentication required for request GET /api/v1/auth/me
2026-04-28 08:40:27,550 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:40:27,847 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:40:27,872 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:40:27,879 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8fa710>
2026-04-28 08:40:27,879 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7ffaeb200dc0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:40:27,895 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8fa470>
2026-04-28 08:40:27,896 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:40:27,896 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:40:27,896 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:40:27,896 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:40:27,896 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:40:28,141 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:40:28 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'0531f40560710b24446e35c56a8365df'), (b'X-Trace-Id', b'8252dbbf29a44c0a845bfab6ce2375ea'), (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'9f372a626f56a425-LAX')])
2026-04-28 08:40:28,142 - 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:40:28,142 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:40:28,142 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:40:28,142 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:40:28,142 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:40:28,143 - httpcore.connection - DEBUG - close.started
2026-04-28 08:40:28,143 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:40:56,205 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:40:56,479 - core.auth - DEBUG - Authentication token validated for user hash: 4f820a44
2026-04-28 08:40:56,501 - httpcore.connection - DEBUG - connect_tcp.started host='atoms.dev' port=443 local_address=None timeout=120.0 socket_options=None
2026-04-28 08:40:56,510 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8fbd00>
2026-04-28 08:40:56,514 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7ffaea8b44c0> server_hostname='atoms.dev' timeout=120.0
2026-04-28 08:40:56,537 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.anyio.AnyIOStream object at 0x7ffaea8fba60>
2026-04-28 08:40:56,537 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
2026-04-28 08:40:56,538 - httpcore.http11 - DEBUG - send_request_headers.complete
2026-04-28 08:40:56,538 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
2026-04-28 08:40:56,538 - httpcore.http11 - DEBUG - send_request_body.complete
2026-04-28 08:40:56,538 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
2026-04-28 08:40:56,834 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Tue, 28 Apr 2026 15:40:56 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'f0b4f7829e572237451f1093f3c0de70'), (b'X-Trace-Id', b'f7478fbda40c4d69b92fbc23259ab6b3'), (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'9f372b156c50d4d9-LAX')])
2026-04-28 08:40:56,835 - 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:40:56,835 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
2026-04-28 08:40:56,835 - httpcore.http11 - DEBUG - receive_response_body.complete
2026-04-28 08:40:56,835 - httpcore.http11 - DEBUG - response_closed.started
2026-04-28 08:40:56,836 - httpcore.http11 - DEBUG - response_closed.complete
2026-04-28 08:40:56,836 - httpcore.connection - DEBUG - close.started
2026-04-28 08:40:56,836 - httpcore.connection - DEBUG - close.complete
2026-04-28 08:41:06,684 - services.database - DEBUG - [DB_OP] Starting database close
2026-04-28 08:41:06,684 - services.database - INFO - Database connections closed
2026-04-28 08:41:06,684 - services.database - DEBUG - [DB_OP] Database close completed in 0.0007s
