diff --git a/doc/readme.md b/doc/readme.md index 6c7ac5c..1409682 100644 --- a/doc/readme.md +++ b/doc/readme.md @@ -4,7 +4,7 @@ ```angular2html intelligence_system/ ├── config/ # 系统配置中心 -│ ├── __init__.py # 配置包初始化 +│ ├── __init__.py # 配置包初始化 │ ├── settings.py # 主配置文件(数据库连接、API密钥等) │ └── scheduler_rules.yaml # 任务调度规则 @@ -84,7 +84,7 @@ intelligence_system/ 主程序应包含数据处理调度器,根据数据类别分别处理,如文本数据处理调度器、图片数据处理调度器等, 每天定时拉取db获取到的原始数据,分别进行处理,处理完成后将结果保存到mysql中 -主程序应包含日报、周报等生成,根据时间定时生成报告 +主程序应包含日报、周报等生成,根据时间定时生成报告,报告需要存储 ### 日志设计 日志系统应兼容多个平台,如win、mac和linux,日志需要保存为log文件,并且在日志大于20mb时自动压缩 @@ -92,10 +92,12 @@ intelligence_system/ ### 数据库链接设计 数据存储放在数据库中,数据库类型为mysql,数据库名称为intelligence_system -数据库表的命名规则与目录一致,数据采集类以collector_为开头,数据处理类以processor_为开头,数据存储类以storage_为开头,应用层类以application_为开头 +数据库表的命名规则与目录一致,数据采集类以collector_为开头,数据处理类以processor_为开 +头,数据存储类以storage_为开头,应用层类以application_为开头 依次类推。 -数据库链接为通用配置,要求数据采集或处理类等,可以直接调用封装好的数据库链接,不必每次都重新些, +数据库链接为通用配置,要求数据采集或处理类等,可以直接调用封装好的数据库 +链接,不必每次都重新写, 该链接包含表的增删改查功能,以及执行sql语句功能 数据库结构: @@ -109,7 +111,7 @@ intelligence_system/ ### 数据采集设计 每一个数据采集均为独立python文件,里面执行主程序均为main,以方便调度 -每一个数据采集均会根据规则创建数据库表,数据处理类以processor_为开头 +每一个数据采集均会根据规则创建数据库表,数据处理类以processor_为开头,(或者统一维护到一个表中,按来源去区分) ### 数据处理 从多个数据库库表中获取数据,对数据进行处理,处理完成后将结果保存到数据库中,处理结果可能存储在多个表中 diff --git a/logs/application.log b/logs/application.log new file mode 100644 index 0000000..48a5d48 --- /dev/null +++ b/logs/application.log @@ -0,0 +1,2 @@ +2025-08-06 10:50:54.703 | INFO | 日志测试:6 - 当前系统: Windows +2025-08-06 10:50:54.704 | ERROR | 日志测试:10 - 除零错误 diff --git a/logs/errors.log b/logs/errors.log new file mode 100644 index 0000000..4bccd86 --- /dev/null +++ b/logs/errors.log @@ -0,0 +1,2 @@ +2025-08-06 10:50:54.704 | ERROR | 日志测试:10 - 除零错误 + diff --git a/test/日志测试.py b/test/日志测试.py new file mode 100644 index 0000000..bb15370 --- /dev/null +++ b/test/日志测试.py @@ -0,0 +1,13 @@ +# test_logger.py +from utils.logger import log +import platform + +def test_logging(): + log.info(f"当前系统: {platform.system()}") + try: + 1/0 + except: + log.error("除零错误", exc_info=True) + +if __name__ == "__main__": + test_logging() \ No newline at end of file