2025-12-29 15:04:02 - article_server_search - INFO - [log_config.py:114] - 日志系统已启动 - 记录器: article_server_search 2025-12-29 15:04:02 - article_server_search - INFO - [log_config.py:115] - 主日志文件: logs/article_server_search.log 2025-12-29 15:04:02 - article_server_search - INFO - [log_config.py:117] - 错误日志文件: logs/article_server_search_error.log 2025-12-29 15:04:02 - article_server_search - INFO - [log_config.py:118] - 日志保留策略: 每天午夜分割,主日志保留3天 2025-12-29 15:04:02 - article_server_search - INFO - [log_config.py:120] - 错误日志保留策略: 每天午夜分割,保留9天 2025-12-29 15:04:02 - article_server_search - INFO - [flask_wht_server_search.py:49] - 正在初始化标签搜索引擎... 2025-12-29 15:04:02 - article_server_search - INFO - [flask_wht_server_search.py:53] - 已暂时禁用标签搜索热加载功能 2025-12-29 15:04:02 - article_server_search - ERROR - [flask_wht_server_search.py:60] - 标签搜索引擎初始化失败: No module named 'psutil' Traceback (most recent call last): File "D:\workspace\ai_wht\flask_wht_server_search.py", line 57, in initialize_service init_search_engine() File "D:\workspace\ai_wht\whoosh_search_tags.py", line 2023, in init_search_engine added_count = add_documents_from_ai_image_tags(search_engine, force_reload=force_rebuild) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\whoosh_search_tags.py", line 1377, in add_documents_from_ai_image_tags import psutil ModuleNotFoundError: No module named 'psutil' 2025-12-29 15:04:02 - article_server_search - INFO - [flask_wht_server_search.py:63] - 标签搜索引擎初始化总耗时: 7.88 ms 2025-12-29 15:04:02 - article_server_search - INFO - [flask_wht_server_search.py:1097] - 测试数据库连接... 2025-12-29 15:04:03 - article_server_search - ERROR - [flask_wht_server_search.py:1114] - 服务器启动失败: (1045, "Access denied for user 'ai_wht_write'@'222.204.1.8' (using password: YES)") Traceback (most recent call last): File "D:\workspace\ai_wht\flask_wht_server_search.py", line 1099, in db_manager.execute_query("SELECT 1") File "D:\workspace\ai_wht\database_config.py", line 199, in execute_query return self._execute_with_retry(_query_operation) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 103, in _execute_with_retry return operation(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 175, in _query_operation with self.get_cursor() as cursor: File "D:\anaconda\Lib\contextlib.py", line 137, in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 140, in get_cursor connection = self._execute_with_retry(self.get_connection) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 103, in _execute_with_retry return operation(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 66, in get_connection self._local.connection = pymysql.connect(**self.config) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\connections.py", line 358, in __init__ self.connect() File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\connections.py", line 664, in connect self._request_authentication() File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\connections.py", line 976, in _request_authentication auth_packet = _auth.caching_sha2_password_auth(self, auth_packet) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\_auth.py", line 267, in caching_sha2_password_auth pkt = _roundtrip(conn, data) ^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\_auth.py", line 120, in _roundtrip pkt = conn._read_packet() ^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\connections.py", line 772, in _read_packet packet.raise_for_error() File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.OperationalError: (1045, "Access denied for user 'ai_wht_write'@'222.204.1.8' (using password: YES)") 2025-12-29 15:04:03 - article_server_search - INFO - [flask_wht_server_search.py:1117] - 图文动态批量生产系统已停止 2025-12-29 15:04:23 - article_server_search - INFO - [log_config.py:114] - 日志系统已启动 - 记录器: article_server_search 2025-12-29 15:04:23 - article_server_search - INFO - [log_config.py:115] - 主日志文件: logs/article_server_search.log 2025-12-29 15:04:23 - article_server_search - INFO - [log_config.py:117] - 错误日志文件: logs/article_server_search_error.log 2025-12-29 15:04:23 - article_server_search - INFO - [log_config.py:118] - 日志保留策略: 每天午夜分割,主日志保留3天 2025-12-29 15:04:23 - article_server_search - INFO - [log_config.py:120] - 错误日志保留策略: 每天午夜分割,保留9天 2025-12-29 15:04:23 - article_server_search - INFO - [flask_wht_server_search.py:49] - 正在初始化标签搜索引擎... 2025-12-29 15:04:23 - article_server_search - INFO - [flask_wht_server_search.py:53] - 已暂时禁用标签搜索热加载功能 2025-12-29 15:04:23 - article_server_search - INFO - [flask_wht_server_search.py:58] - 标签搜索引擎初始化完成 2025-12-29 15:04:23 - article_server_search - INFO - [flask_wht_server_search.py:63] - 标签搜索引擎初始化总耗时: 275.05 ms 2025-12-29 15:04:23 - article_server_search - INFO - [flask_wht_server_search.py:1097] - 测试数据库连接... 2025-12-29 15:04:23 - article_server_search - ERROR - [flask_wht_server_search.py:1114] - 服务器启动失败: (1045, "Access denied for user 'ai_wht_write'@'222.204.1.8' (using password: YES)") Traceback (most recent call last): File "D:\workspace\ai_wht\flask_wht_server_search.py", line 1099, in db_manager.execute_query("SELECT 1") File "D:\workspace\ai_wht\database_config.py", line 199, in execute_query return self._execute_with_retry(_query_operation) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 103, in _execute_with_retry return operation(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 175, in _query_operation with self.get_cursor() as cursor: File "D:\anaconda\Lib\contextlib.py", line 137, in __enter__ return next(self.gen) ^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 140, in get_cursor connection = self._execute_with_retry(self.get_connection) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 103, in _execute_with_retry return operation(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\database_config.py", line 66, in get_connection self._local.connection = pymysql.connect(**self.config) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\connections.py", line 358, in __init__ self.connect() File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\connections.py", line 664, in connect self._request_authentication() File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\connections.py", line 976, in _request_authentication auth_packet = _auth.caching_sha2_password_auth(self, auth_packet) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\_auth.py", line 267, in caching_sha2_password_auth pkt = _roundtrip(conn, data) ^^^^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\_auth.py", line 120, in _roundtrip pkt = conn._read_packet() ^^^^^^^^^^^^^^^^^^^ File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\connections.py", line 772, in _read_packet packet.raise_for_error() File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "D:\workspace\ai_wht\venv\Lib\site-packages\pymysql\err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.OperationalError: (1045, "Access denied for user 'ai_wht_write'@'222.204.1.8' (using password: YES)") 2025-12-29 15:04:23 - article_server_search - INFO - [flask_wht_server_search.py:1117] - 图文动态批量生产系统已停止