From 84e907b93e0b0da8d1f5c9c538654301b276df6b Mon Sep 17 00:00:00 2001 From: "qichi.liang" Date: Sun, 4 Jan 2026 01:19:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=97=A5=E5=BF=97=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E5=88=86=E7=89=87=E5=92=8C=E5=B0=BA=E5=AF=B8=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=A2=9E=E5=BC=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 日志文件按日期分片存储 (logs/YYYY-MM/YYYY-MM-DD.log) - 增强尺寸箱量解析支持多种格式 (*和×分隔符) - 支持带括号和无括号两种尺寸格式 --- logs/2026-01/2026-01-04.log | 665 +++++++++++++++++++++++++++++++++++ src/confluence/log_parser.py | 80 ++++- src/logging_config.py | 52 ++- 3 files changed, 778 insertions(+), 19 deletions(-) create mode 100644 logs/2026-01/2026-01-04.log diff --git a/logs/2026-01/2026-01-04.log b/logs/2026-01/2026-01-04.log new file mode 100644 index 0000000..69075de --- /dev/null +++ b/logs/2026-01/2026-01-04.log @@ -0,0 +1,665 @@ +2026-01-04 01:09:29 - root - INFO - logging_config.py:110 - 控制台日志级别: INFO +2026-01-04 01:09:29 - root - INFO - logging_config.py:111 - 文件日志级别: DEBUG +2026-01-04 01:09:29 - root - INFO - logging_config.py:110 - 控制台日志级别: INFO +2026-01-04 01:09:29 - root - INFO - logging_config.py:111 - 文件日志级别: DEBUG +2026-01-04 01:09:29 - root - INFO - :10 - 测试日期分片日志 - 时间: 2026-01-04 01:09:29 +2026-01-04 01:09:29 - root - DEBUG - :11 - Debug级别测试 +2026-01-04 01:09:29 - root - WARNING - :12 - Warning级别测试 +2026-01-04 01:10:13 - root - INFO - logging_config.py:110 - 控制台日志级别: INFO +2026-01-04 01:10:13 - root - INFO - logging_config.py:111 - 文件日志级别: DEBUG +2026-01-04 01:10:13 - __main__ - INFO - gui.py:614 - GUI启动,开始自动获取新数据... +2026-01-04 01:10:13 - __main__ - INFO - gui.py:627 - 正在刷新排班信息... +2026-01-04 01:10:13 - src.feishu.manager - INFO - manager.py:53 - 使用飞书应用凭证自动获取token +2026-01-04 01:10:13 - src.feishu.client - DEBUG - client.py:56 - 飞书客户端初始化完成,基础URL: https://open.feishu.cn/open-apis/sheets/v3 +2026-01-04 01:10:13 - src.feishu.client - DEBUG - client.py:57 - 使用应用ID: cli_a9d9... 如果配置 +2026-01-04 01:10:13 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:13 - src.database.schedules - DEBUG - schedules.py:71 - 排班数据库表结构初始化完成 +2026-01-04 01:10:13 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:13 - src.feishu.manager - INFO - manager.py:41 - 飞书排班管理器初始化完成 +2026-01-04 01:10:13 - src.feishu.manager - INFO - manager.py:230 - 开始刷新未来 7 天的排班信息 +2026-01-04 01:10:13 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-04 的排班信息... +2026-01-04 01:10:13 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-04 的排班信息 (格式: 01/04/1月4日) +2026-01-04 01:10:13 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:13 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:13 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-04 的排班信息 +2026-01-04 01:10:13 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-05 的排班信息... +2026-01-04 01:10:13 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-05 的排班信息 (格式: 01/05/1月5日) +2026-01-04 01:10:13 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:13 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:13 - src.feishu.manager - INFO - manager.py:145 - 数据库中没有 2026-01-05 的排班信息,从飞书获取 +2026-01-04 01:10:13 - src.feishu.client - INFO - client.py:98 - 正在获取tenant_access_token,应用ID: cli_a9d9... +2026-01-04 01:10:14 - src.feishu.client - INFO - client.py:114 - 成功获取tenant_access_token,有效期: 4411秒 +2026-01-04 01:10:14 - src.feishu.client - INFO - client.py:156 - token获取成功,将在 4411 秒后过期 +2026-01-04 01:10:14 - src.feishu.client - INFO - client.py:203 - 获取到 7 个表格 +2026-01-04 01:10:14 - src.feishu.manager - INFO - manager.py:90 - 找到2026年年度表格: 2026年排班表 +2026-01-04 01:10:14 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4410秒 +2026-01-04 01:10:15 - src.feishu.client - DEBUG - client.py:252 - 获取表格数据成功: R35cIj, 范围: A:AF +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:15 - src.database.schedules - DEBUG - schedules.py:144 - 表格无更新: 2026年排班表 (ID: R35cIj) +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:192 - 使用日期格式: 1月5日 解析表格: 2026年排班表 +2026-01-04 01:10:15 - src.feishu.parser - INFO - parser.py:267 - 使用年度表格解析器: 2026年排班表 +2026-01-04 01:10:15 - src.feishu.parser - DEBUG - parser.py:201 - 找到月份块: 1月 (行: 1) +2026-01-04 01:10:15 - src.feishu.parser - DEBUG - parser.py:108 - 找到日期列: 1月5日 -> 1月5日 (索引: 5) +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:15 - src.database.schedules - DEBUG - schedules.py:182 - 保存排班信息: 2026-01-05 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:198 - 已保存 2026-01-05 的排班信息到数据库 +2026-01-04 01:10:15 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-06 的排班信息... +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-06 的排班信息 (格式: 01/06/1月6日) +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:145 - 数据库中没有 2026-01-06 的排班信息,从飞书获取 +2026-01-04 01:10:15 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4409秒 +2026-01-04 01:10:15 - src.feishu.client - INFO - client.py:203 - 获取到 7 个表格 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:90 - 找到2026年年度表格: 2026年排班表 +2026-01-04 01:10:15 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4409秒 +2026-01-04 01:10:15 - src.feishu.client - DEBUG - client.py:252 - 获取表格数据成功: R35cIj, 范围: A:AF +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:15 - src.database.schedules - DEBUG - schedules.py:144 - 表格无更新: 2026年排班表 (ID: R35cIj) +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:192 - 使用日期格式: 1月6日 解析表格: 2026年排班表 +2026-01-04 01:10:15 - src.feishu.parser - INFO - parser.py:267 - 使用年度表格解析器: 2026年排班表 +2026-01-04 01:10:15 - src.feishu.parser - DEBUG - parser.py:201 - 找到月份块: 1月 (行: 1) +2026-01-04 01:10:15 - src.feishu.parser - DEBUG - parser.py:108 - 找到日期列: 1月6日 -> 1月6日 (索引: 6) +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:15 - src.database.schedules - DEBUG - schedules.py:182 - 保存排班信息: 2026-01-06 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:198 - 已保存 2026-01-06 的排班信息到数据库 +2026-01-04 01:10:15 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-07 的排班信息... +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-07 的排班信息 (格式: 01/07/1月7日) +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:145 - 数据库中没有 2026-01-07 的排班信息,从飞书获取 +2026-01-04 01:10:15 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4409秒 +2026-01-04 01:10:15 - src.feishu.client - INFO - client.py:203 - 获取到 7 个表格 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:90 - 找到2026年年度表格: 2026年排班表 +2026-01-04 01:10:15 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4409秒 +2026-01-04 01:10:15 - src.feishu.client - DEBUG - client.py:252 - 获取表格数据成功: R35cIj, 范围: A:AF +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:15 - src.database.schedules - DEBUG - schedules.py:144 - 表格无更新: 2026年排班表 (ID: R35cIj) +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:192 - 使用日期格式: 1月7日 解析表格: 2026年排班表 +2026-01-04 01:10:15 - src.feishu.parser - INFO - parser.py:267 - 使用年度表格解析器: 2026年排班表 +2026-01-04 01:10:15 - src.feishu.parser - DEBUG - parser.py:201 - 找到月份块: 1月 (行: 1) +2026-01-04 01:10:15 - src.feishu.parser - DEBUG - parser.py:108 - 找到日期列: 1月7日 -> 1月7日 (索引: 7) +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:15 - src.database.schedules - DEBUG - schedules.py:182 - 保存排班信息: 2026-01-07 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:198 - 已保存 2026-01-07 的排班信息到数据库 +2026-01-04 01:10:15 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-08 的排班信息... +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-08 的排班信息 (格式: 01/08/1月8日) +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:15 - src.feishu.manager - INFO - manager.py:145 - 数据库中没有 2026-01-08 的排班信息,从飞书获取 +2026-01-04 01:10:15 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4409秒 +2026-01-04 01:10:16 - src.feishu.client - INFO - client.py:203 - 获取到 7 个表格 +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:90 - 找到2026年年度表格: 2026年排班表 +2026-01-04 01:10:16 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4408秒 +2026-01-04 01:10:16 - src.feishu.client - DEBUG - client.py:252 - 获取表格数据成功: R35cIj, 范围: A:AF +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:16 - src.database.schedules - DEBUG - schedules.py:144 - 表格无更新: 2026年排班表 (ID: R35cIj) +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:192 - 使用日期格式: 1月8日 解析表格: 2026年排班表 +2026-01-04 01:10:16 - src.feishu.parser - INFO - parser.py:267 - 使用年度表格解析器: 2026年排班表 +2026-01-04 01:10:16 - src.feishu.parser - DEBUG - parser.py:201 - 找到月份块: 1月 (行: 1) +2026-01-04 01:10:16 - src.feishu.parser - DEBUG - parser.py:108 - 找到日期列: 1月8日 -> 1月8日 (索引: 8) +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:16 - src.database.schedules - DEBUG - schedules.py:182 - 保存排班信息: 2026-01-08 +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:198 - 已保存 2026-01-08 的排班信息到数据库 +2026-01-04 01:10:16 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-09 的排班信息... +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-09 的排班信息 (格式: 01/09/1月9日) +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:145 - 数据库中没有 2026-01-09 的排班信息,从飞书获取 +2026-01-04 01:10:16 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4408秒 +2026-01-04 01:10:16 - src.feishu.client - INFO - client.py:203 - 获取到 7 个表格 +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:90 - 找到2026年年度表格: 2026年排班表 +2026-01-04 01:10:16 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4408秒 +2026-01-04 01:10:16 - src.feishu.client - DEBUG - client.py:252 - 获取表格数据成功: R35cIj, 范围: A:AF +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:16 - src.database.schedules - DEBUG - schedules.py:144 - 表格无更新: 2026年排班表 (ID: R35cIj) +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:192 - 使用日期格式: 1月9日 解析表格: 2026年排班表 +2026-01-04 01:10:16 - src.feishu.parser - INFO - parser.py:267 - 使用年度表格解析器: 2026年排班表 +2026-01-04 01:10:16 - src.feishu.parser - DEBUG - parser.py:201 - 找到月份块: 1月 (行: 1) +2026-01-04 01:10:16 - src.feishu.parser - DEBUG - parser.py:108 - 找到日期列: 1月9日 -> 1月9日 (索引: 9) +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:16 - src.database.schedules - DEBUG - schedules.py:182 - 保存排班信息: 2026-01-09 +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:198 - 已保存 2026-01-09 的排班信息到数据库 +2026-01-04 01:10:16 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-10 的排班信息... +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-10 的排班信息 (格式: 01/10/1月10日) +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:16 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:16 - src.feishu.manager - INFO - manager.py:145 - 数据库中没有 2026-01-10 的排班信息,从飞书获取 +2026-01-04 01:10:16 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4407秒 +2026-01-04 01:10:17 - src.feishu.client - INFO - client.py:203 - 获取到 7 个表格 +2026-01-04 01:10:17 - src.feishu.manager - INFO - manager.py:90 - 找到2026年年度表格: 2026年排班表 +2026-01-04 01:10:17 - src.feishu.client - DEBUG - client.py:142 - token仍然有效,剩余时间: 4407秒 +2026-01-04 01:10:17 - src.feishu.client - DEBUG - client.py:252 - 获取表格数据成功: R35cIj, 范围: A:AF +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.schedules - DEBUG - schedules.py:144 - 表格无更新: 2026年排班表 (ID: R35cIj) +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.feishu.manager - INFO - manager.py:192 - 使用日期格式: 1月10日 解析表格: 2026年排班表 +2026-01-04 01:10:17 - src.feishu.parser - INFO - parser.py:267 - 使用年度表格解析器: 2026年排班表 +2026-01-04 01:10:17 - src.feishu.parser - DEBUG - parser.py:201 - 找到月份块: 1月 (行: 1) +2026-01-04 01:10:17 - src.feishu.parser - DEBUG - parser.py:108 - 找到日期列: 1月10日 -> 1月10日 (索引: 10) +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.schedules - DEBUG - schedules.py:182 - 保存排班信息: 2026-01-10 +2026-01-04 01:10:17 - src.feishu.manager - INFO - manager.py:198 - 已保存 2026-01-10 的排班信息到数据库 +2026-01-04 01:10:17 - src.feishu.manager - INFO - manager.py:246 - 排班信息刷新完成,成功: 7, 失败: 0 +2026-01-04 01:10:17 - __main__ - INFO - gui.py:632 - 排班信息刷新完成 +2026-01-04 01:10:17 - __main__ - INFO - gui.py:648 - 正在尝试获取最新作业数据... +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - __main__ - INFO - gui.py:673 - 正在从 Confluence 获取 HTML... +2026-01-04 01:10:17 - src.confluence.client - DEBUG - client.py:48 - Confluence客户端初始化完成,基础URL: https://confluence.westwell-lab.com/rest/api +2026-01-04 01:10:17 - src.confluence.client - DEBUG - client.py:69 - 获取Confluence内容: 159049182 +2026-01-04 01:10:17 - src.confluence.client - INFO - client.py:74 - 成功获取Confluence内容: 159049182 +2026-01-04 01:10:17 - src.confluence.client - INFO - client.py:115 - 获取到Confluence HTML内容,长度: 11084 字符 +2026-01-04 01:10:17 - __main__ - INFO - gui.py:679 - 获取成功,共 11084 字符 +2026-01-04 01:10:17 - __main__ - INFO - gui.py:683 - 正在提取布局文本... +2026-01-04 01:10:17 - src.confluence.text - DEBUG - text.py:60 - 开始解析HTML,长度: 11084 字符 +2026-01-04 01:10:17 - src.confluence.text - INFO - text.py:83 - HTML提取完成,输出长度: 2104 字符 +2026-01-04 01:10:17 - __main__ - INFO - gui.py:689 - 正在解析日志数据... +2026-01-04 01:10:17 - src.confluence.log_parser - INFO - log_parser.py:356 - 解析转堆作业: 2026-01-02 白班 2TEU +2026-01-04 01:10:17 - src.confluence.log_parser - INFO - log_parser.py:209 - 日志解析完成,共 14 条记录 +2026-01-04 01:10:17 - __main__ - INFO - gui.py:696 - 正在保存到数据库... +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 白班 金祥源 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 白班 东方吉 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 转堆作业 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 学友洋山 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 嘉洋16 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 泽远 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 华信长和 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 华信长和 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 瀚旺 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 金祥源 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:17 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 弘旭968 +2026-01-04 01:10:17 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 东方祥 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 学友洋山 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 夜班 学友洋山 +2026-01-04 01:10:18 - src.database.daily_logs - INFO - daily_logs.py:202 - 批量插入完成,成功 14/14 条记录 +2026-01-04 01:10:18 - __main__ - INFO - gui.py:700 - 已保存 14 条新记录 +2026-01-04 01:10:18 - __main__ - INFO - gui.py:728 - 正在生成今日日报... +2026-01-04 01:10:18 - __main__ - INFO - gui.py:572 - 生成 2026-01-03 的日报... +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.report - INFO - report.py:34 - 日报生成器初始化完成 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.feishu.manager - INFO - manager.py:53 - 使用飞书应用凭证自动获取token +2026-01-04 01:10:18 - src.feishu.client - DEBUG - client.py:56 - 飞书客户端初始化完成,基础URL: https://open.feishu.cn/open-apis/sheets/v3 +2026-01-04 01:10:18 - src.feishu.client - DEBUG - client.py:57 - 使用应用ID: cli_a9d9... 如果配置 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.schedules - DEBUG - schedules.py:71 - 排班数据库表结构初始化完成 +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.feishu.manager - INFO - manager.py:41 - 飞书排班管理器初始化完成 +2026-01-04 01:10:18 - src.report - INFO - report.py:235 - 获取 2026-01-03 日报的班次人员,对应排班表日期: 2026-01-04 +2026-01-04 01:10:18 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-04 的排班信息 (格式: 01/04/1月4日) +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:10:18 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:10:18 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-04 的排班信息 +2026-01-04 01:10:18 - src.report - INFO - report.py:340 - 日报生成完成: 2026-01-03 +2026-01-04 01:10:18 - __main__ - INFO - gui.py:589 - 日报生成完成: 2026-01-03 +2026-01-04 01:10:18 - __main__ - INFO - gui.py:733 - 自动获取完成,GUI已就绪 +2026-01-04 01:14:19 - __main__ - INFO - gui.py:253 - 开始获取数据... +2026-01-04 01:14:19 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:19 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:14:19 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:19 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:19 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:19 - __main__ - INFO - gui.py:282 - 使用页面ID映射: 2026-01-03 -> 159049182 +2026-01-04 01:14:19 - __main__ - INFO - gui.py:287 - 正在从 Confluence 获取 HTML... +2026-01-04 01:14:19 - src.confluence.client - DEBUG - client.py:48 - Confluence客户端初始化完成,基础URL: https://confluence.westwell-lab.com/rest/api +2026-01-04 01:14:19 - src.confluence.client - DEBUG - client.py:69 - 获取Confluence内容: 159049182 +2026-01-04 01:14:20 - src.confluence.client - INFO - client.py:74 - 成功获取Confluence内容: 159049182 +2026-01-04 01:14:20 - src.confluence.client - INFO - client.py:115 - 获取到Confluence HTML内容,长度: 12190 字符 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:297 - 获取成功,共 12190 字符 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:301 - 正在提取布局文本... +2026-01-04 01:14:20 - src.confluence.text - DEBUG - text.py:60 - 开始解析HTML,长度: 12190 字符 +2026-01-04 01:14:20 - src.confluence.text - INFO - text.py:83 - HTML提取完成,输出长度: 2312 字符 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:305 - 提取完成,共 2311 字符 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:309 - 正在解析日志数据... +2026-01-04 01:14:20 - src.confluence.log_parser - INFO - log_parser.py:356 - 解析转堆作业: 2026-01-02 白班 2TEU +2026-01-04 01:14:20 - src.confluence.log_parser - INFO - log_parser.py:209 - 日志解析完成,共 16 条记录 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:313 - 解析到 16 条记录 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:318 - 正在保存到数据库... +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 白班 金祥源 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 白班 东方吉 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 夜班 德盛6 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 夜班 海顺丰7 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 转堆作业 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 学友洋山 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 嘉洋16 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 泽远 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 华信长和 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 华信长和 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 瀚旺 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 金祥源 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 弘旭968 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 东方祥 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 学友洋山 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 夜班 学友洋山 +2026-01-04 01:14:20 - src.database.daily_logs - INFO - daily_logs.py:202 - 批量插入完成,成功 16/16 条记录 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:322 - 已保存 16 条记录 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:327 - 数据库总计: 147 条记录, 30 艘船 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:572 - 生成 2026-01-03 的日报... +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.report - INFO - report.py:34 - 日报生成器初始化完成 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.feishu.manager - INFO - manager.py:53 - 使用飞书应用凭证自动获取token +2026-01-04 01:14:20 - src.feishu.client - DEBUG - client.py:56 - 飞书客户端初始化完成,基础URL: https://open.feishu.cn/open-apis/sheets/v3 +2026-01-04 01:14:20 - src.feishu.client - DEBUG - client.py:57 - 使用应用ID: cli_a9d9... 如果配置 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.schedules - DEBUG - schedules.py:71 - 排班数据库表结构初始化完成 +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.feishu.manager - INFO - manager.py:41 - 飞书排班管理器初始化完成 +2026-01-04 01:14:20 - src.report - INFO - report.py:235 - 获取 2026-01-03 日报的班次人员,对应排班表日期: 2026-01-04 +2026-01-04 01:14:20 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-04 的排班信息 (格式: 01/04/1月4日) +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:14:20 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:14:20 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-04 的排班信息 +2026-01-04 01:14:20 - src.report - INFO - report.py:340 - 日报生成完成: 2026-01-03 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:589 - 日报生成完成: 2026-01-03 +2026-01-04 01:14:20 - __main__ - INFO - gui.py:336 - 数据获取完成 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:253 - 开始获取数据... +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:282 - 使用页面ID映射: 2026-01-03 -> 159049182 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:287 - 正在从 Confluence 获取 HTML... +2026-01-04 01:16:15 - src.confluence.client - DEBUG - client.py:48 - Confluence客户端初始化完成,基础URL: https://confluence.westwell-lab.com/rest/api +2026-01-04 01:16:15 - src.confluence.client - DEBUG - client.py:69 - 获取Confluence内容: 159049182 +2026-01-04 01:16:15 - src.confluence.client - INFO - client.py:74 - 成功获取Confluence内容: 159049182 +2026-01-04 01:16:15 - src.confluence.client - INFO - client.py:115 - 获取到Confluence HTML内容,长度: 12190 字符 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:297 - 获取成功,共 12190 字符 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:301 - 正在提取布局文本... +2026-01-04 01:16:15 - src.confluence.text - DEBUG - text.py:60 - 开始解析HTML,长度: 12190 字符 +2026-01-04 01:16:15 - src.confluence.text - INFO - text.py:83 - HTML提取完成,输出长度: 2312 字符 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:305 - 提取完成,共 2311 字符 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:309 - 正在解析日志数据... +2026-01-04 01:16:15 - src.confluence.log_parser - INFO - log_parser.py:356 - 解析转堆作业: 2026-01-02 白班 2TEU +2026-01-04 01:16:15 - src.confluence.log_parser - INFO - log_parser.py:209 - 日志解析完成,共 16 条记录 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:313 - 解析到 16 条记录 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:318 - 正在保存到数据库... +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 白班 金祥源 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 白班 东方吉 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 夜班 德盛6 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 夜班 海顺丰7 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 转堆作业 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 学友洋山 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 嘉洋16 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 泽远 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 华信长和 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 华信长和 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 瀚旺 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 金祥源 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 弘旭968 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 东方祥 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 学友洋山 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 夜班 学友洋山 +2026-01-04 01:16:15 - src.database.daily_logs - INFO - daily_logs.py:202 - 批量插入完成,成功 16/16 条记录 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:322 - 已保存 16 条记录 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:327 - 数据库总计: 147 条记录, 30 艘船 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:572 - 生成 2026-01-03 的日报... +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.report - INFO - report.py:34 - 日报生成器初始化完成 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.feishu.manager - INFO - manager.py:53 - 使用飞书应用凭证自动获取token +2026-01-04 01:16:15 - src.feishu.client - DEBUG - client.py:56 - 飞书客户端初始化完成,基础URL: https://open.feishu.cn/open-apis/sheets/v3 +2026-01-04 01:16:15 - src.feishu.client - DEBUG - client.py:57 - 使用应用ID: cli_a9d9... 如果配置 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.schedules - DEBUG - schedules.py:71 - 排班数据库表结构初始化完成 +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.feishu.manager - INFO - manager.py:41 - 飞书排班管理器初始化完成 +2026-01-04 01:16:15 - src.report - INFO - report.py:235 - 获取 2026-01-03 日报的班次人员,对应排班表日期: 2026-01-04 +2026-01-04 01:16:15 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-04 的排班信息 (格式: 01/04/1月4日) +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:16:15 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:16:15 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-04 的排班信息 +2026-01-04 01:16:15 - src.report - INFO - report.py:340 - 日报生成完成: 2026-01-03 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:589 - 日报生成完成: 2026-01-03 +2026-01-04 01:16:15 - __main__ - INFO - gui.py:336 - 数据获取完成 +2026-01-04 01:17:20 - root - INFO - logging_config.py:110 - 控制台日志级别: INFO +2026-01-04 01:17:20 - root - INFO - logging_config.py:111 - 文件日志级别: DEBUG +2026-01-04 01:17:20 - src.confluence.log_parser - INFO - log_parser.py:209 - 日志解析完成,共 1 条记录 +2026-01-04 01:17:20 - src.confluence.log_parser - INFO - log_parser.py:209 - 日志解析完成,共 1 条记录 +2026-01-04 01:17:20 - src.confluence.log_parser - INFO - log_parser.py:209 - 日志解析完成,共 1 条记录 +2026-01-04 01:17:20 - src.confluence.log_parser - INFO - log_parser.py:209 - 日志解析完成,共 1 条记录 +2026-01-04 01:17:53 - root - INFO - logging_config.py:110 - 控制台日志级别: INFO +2026-01-04 01:17:53 - root - INFO - logging_config.py:111 - 文件日志级别: DEBUG +2026-01-04 01:17:53 - __main__ - INFO - gui.py:614 - GUI启动,开始自动获取新数据... +2026-01-04 01:17:53 - __main__ - INFO - gui.py:627 - 正在刷新排班信息... +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:53 - 使用飞书应用凭证自动获取token +2026-01-04 01:17:53 - src.feishu.client - DEBUG - client.py:56 - 飞书客户端初始化完成,基础URL: https://open.feishu.cn/open-apis/sheets/v3 +2026-01-04 01:17:53 - src.feishu.client - DEBUG - client.py:57 - 使用应用ID: cli_a9d9... 如果配置 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.schedules - DEBUG - schedules.py:71 - 排班数据库表结构初始化完成 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:41 - 飞书排班管理器初始化完成 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:230 - 开始刷新未来 7 天的排班信息 +2026-01-04 01:17:53 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-04 的排班信息... +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-04 的排班信息 (格式: 01/04/1月4日) +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-04 的排班信息 +2026-01-04 01:17:53 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-05 的排班信息... +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-05 的排班信息 (格式: 01/05/1月5日) +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-05 的排班信息 +2026-01-04 01:17:53 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-06 的排班信息... +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-06 的排班信息 (格式: 01/06/1月6日) +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-06 的排班信息 +2026-01-04 01:17:53 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-07 的排班信息... +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-07 的排班信息 (格式: 01/07/1月7日) +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-07 的排班信息 +2026-01-04 01:17:53 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-08 的排班信息... +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-08 的排班信息 (格式: 01/08/1月8日) +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-08 的排班信息 +2026-01-04 01:17:53 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-09 的排班信息... +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-09 的排班信息 (格式: 01/09/1月9日) +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-09 的排班信息 +2026-01-04 01:17:53 - src.feishu.manager - DEBUG - manager.py:239 - 刷新 2026-01-10 的排班信息... +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-10 的排班信息 (格式: 01/10/1月10日) +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-10 的排班信息 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:246 - 排班信息刷新完成,成功: 7, 失败: 0 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:632 - 排班信息刷新完成 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:648 - 正在尝试获取最新作业数据... +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:673 - 正在从 Confluence 获取 HTML... +2026-01-04 01:17:53 - src.confluence.client - DEBUG - client.py:48 - Confluence客户端初始化完成,基础URL: https://confluence.westwell-lab.com/rest/api +2026-01-04 01:17:53 - src.confluence.client - DEBUG - client.py:69 - 获取Confluence内容: 159049182 +2026-01-04 01:17:53 - src.confluence.client - INFO - client.py:74 - 成功获取Confluence内容: 159049182 +2026-01-04 01:17:53 - src.confluence.client - INFO - client.py:115 - 获取到Confluence HTML内容,长度: 12190 字符 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:679 - 获取成功,共 12190 字符 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:683 - 正在提取布局文本... +2026-01-04 01:17:53 - src.confluence.text - DEBUG - text.py:60 - 开始解析HTML,长度: 12190 字符 +2026-01-04 01:17:53 - src.confluence.text - INFO - text.py:83 - HTML提取完成,输出长度: 2312 字符 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:689 - 正在解析日志数据... +2026-01-04 01:17:53 - src.confluence.log_parser - INFO - log_parser.py:390 - 解析转堆作业: 2026-01-02 白班 2TEU +2026-01-04 01:17:53 - src.confluence.log_parser - INFO - log_parser.py:209 - 日志解析完成,共 16 条记录 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:696 - 正在保存到数据库... +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 白班 金祥源 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 白班 东方吉 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 夜班 德盛6 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-03 夜班 海顺丰7 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 转堆作业 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 学友洋山 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 嘉洋16 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 泽远 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 白班 华信长和 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 华信长和 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 瀚旺 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-02 夜班 金祥源 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 弘旭968 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 东方祥 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 白班 学友洋山 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:180 - 插入记录: 2026-01-01 夜班 学友洋山 +2026-01-04 01:17:53 - src.database.daily_logs - INFO - daily_logs.py:202 - 批量插入完成,成功 16/16 条记录 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:700 - 已保存 16 条新记录 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:728 - 正在生成今日日报... +2026-01-04 01:17:53 - __main__ - INFO - gui.py:572 - 生成 2026-01-03 的日报... +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.daily_logs - DEBUG - daily_logs.py:155 - 数据库表结构初始化完成 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.report - INFO - report.py:34 - 日报生成器初始化完成 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:53 - 使用飞书应用凭证自动获取token +2026-01-04 01:17:53 - src.feishu.client - DEBUG - client.py:56 - 飞书客户端初始化完成,基础URL: https://open.feishu.cn/open-apis/sheets/v3 +2026-01-04 01:17:53 - src.feishu.client - DEBUG - client.py:57 - 使用应用ID: cli_a9d9... 如果配置 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.schedules - DEBUG - schedules.py:71 - 排班数据库表结构初始化完成 +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:41 - 飞书排班管理器初始化完成 +2026-01-04 01:17:53 - src.report - INFO - report.py:235 - 获取 2026-01-03 日报的班次人员,对应排班表日期: 2026-01-04 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:136 - 获取 2026-01-04 的排班信息 (格式: 01/04/1月4日) +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:57 - 数据库连接已建立: data/daily_logs.db +2026-01-04 01:17:53 - src.database.base - DEBUG - base.py:87 - 数据库连接已关闭 +2026-01-04 01:17:53 - src.feishu.manager - INFO - manager.py:141 - 从数据库获取 2026-01-04 的排班信息 +2026-01-04 01:17:53 - src.report - INFO - report.py:340 - 日报生成完成: 2026-01-03 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:589 - 日报生成完成: 2026-01-03 +2026-01-04 01:17:53 - __main__ - INFO - gui.py:733 - 自动获取完成,GUI已就绪 diff --git a/src/confluence/log_parser.py b/src/confluence/log_parser.py index cc772fc..97f827a 100644 --- a/src/confluence/log_parser.py +++ b/src/confluence/log_parser.py @@ -321,20 +321,54 @@ class HandoverLogParser: # 解析尺寸箱量 twenty_feet = None forty_feet = None + + # 尝试多种格式匹配 + size_pattern = None + + # 格式1: TEU,(20尺*2,40尺*3) 或 TEU(20尺*2,40尺*3) size_pattern = re.search(r'TEU[,,\s]*(([^)]+))', cleaned) if not size_pattern: - size_pattern = re.search(r'TEU\s*(([^)]+))', cleaned) + # 格式2: TEU(20尺*2,40尺*3)- 无空格版本 + size_pattern = re.search(r'TEU[((]([^))]+)[))]', cleaned) + if not size_pattern: + # 格式3: 作业量/效率:100TEU,20尺*2,40尺*3 + size_pattern = re.search(r'(\d+)尺\*(\d+)', cleaned) if size_pattern: size_text = size_pattern.group(1) - twenty_match = re.search(r'20尺\*(\d+)', size_text) + + # 尝试直接匹配 20尺*数字 或 40尺*数字 + twenty_match = re.search(r'20尺\s*[×x*]?\s*(\d+)', size_text) + if not twenty_match: + twenty_match = re.search(r'(\d+)\s*×\s*20尺', size_text) + if twenty_match: try: twenty_feet = int(twenty_match.group(1)) except ValueError as e: logger.warning(f"转堆作业 20尺箱量解析失败: {twenty_match.group(1)}, 错误: {e}") - forty_match = re.search(r'40尺\*(\d+)', size_text) + forty_match = re.search(r'40尺\s*[×x*]?\s*(\d+)', size_text) + if not forty_match: + forty_match = re.search(r'(\d+)\s*×\s*40尺', size_text) + + if forty_match: + try: + forty_feet = int(forty_match.group(1)) + except ValueError as e: + logger.warning(f"转堆作业 40尺箱量解析失败: {forty_match.group(1)}, 错误: {e}") + + # 备用解析:直接在cleaned中查找尺寸信息 + if twenty_feet is None: + twenty_match = re.search(r'20尺\s*[×x*]?\s*(\d+)', cleaned) + if twenty_match: + try: + twenty_feet = int(twenty_match.group(1)) + except ValueError as e: + logger.warning(f"转堆作业 20尺箱量解析失败: {twenty_match.group(1)}, 错误: {e}") + + if forty_feet is None: + forty_match = re.search(r'40尺\s*[×x*]?\s*(\d+)', cleaned) if forty_match: try: forty_feet = int(forty_match.group(1)) @@ -386,21 +420,53 @@ class HandoverLogParser: twenty_feet = None forty_feet = None - # 查找作业量/效率后面的括号内的尺寸信息 + # 尝试多种格式匹配 + size_pattern = None + + # 格式1: TEU,(20尺*2,40尺*3) 或 TEU(20尺*2,40尺*3) size_pattern = re.search(r'TEU[,,\s]*(([^)]+))', cleaned) if not size_pattern: - size_pattern = re.search(r'TEU\s*(([^)]+))', cleaned) + # 格式2: TEU(20尺*2,40尺*3)- 无空格版本 + size_pattern = re.search(r'TEU[((]([^))]+)[))]', cleaned) + if not size_pattern: + # 格式3: 作业量/效率:100TEU,20尺*2,40尺*3 + size_pattern = re.search(r'(\d+)尺\*(\d+)', cleaned) if size_pattern: size_text = size_pattern.group(1) - twenty_match = re.search(r'20尺\*(\d+)', size_text) + + # 尝试直接匹配 20尺*数字 或 40尺*数字 + twenty_match = re.search(r'20尺\s*[×x*]?\s*(\d+)', size_text) + if not twenty_match: + twenty_match = re.search(r'(\d+)\s*×\s*20尺', size_text) + if twenty_match: try: twenty_feet = int(twenty_match.group(1)) except ValueError as e: logger.warning(f"20尺箱量解析失败: {twenty_match.group(1)}, 错误: {e}") - forty_match = re.search(r'40尺\*(\d+)', size_text) + forty_match = re.search(r'40尺\s*[×x*]?\s*(\d+)', size_text) + if not forty_match: + forty_match = re.search(r'(\d+)\s*×\s*40尺', size_text) + + if forty_match: + try: + forty_feet = int(forty_match.group(1)) + except ValueError as e: + logger.warning(f"40尺箱量解析失败: {forty_match.group(1)}, 错误: {e}") + + # 备用解析:直接在cleaned中查找尺寸信息 + if twenty_feet is None: + twenty_match = re.search(r'20尺\s*[×x*]?\s*(\d+)', cleaned) + if twenty_match: + try: + twenty_feet = int(twenty_match.group(1)) + except ValueError as e: + logger.warning(f"20尺箱量解析失败: {twenty_match.group(1)}, 错误: {e}") + + if forty_feet is None: + forty_match = re.search(r'40尺\s*[×x*]?\s*(\d+)', cleaned) if forty_match: try: forty_feet = int(forty_match.group(1)) diff --git a/src/logging_config.py b/src/logging_config.py index af40c5e..f690e02 100644 --- a/src/logging_config.py +++ b/src/logging_config.py @@ -2,11 +2,13 @@ """ 统一日志配置模块 提供统一的日志配置,避免各模块自行配置 +支持按日期分片存储日志 """ import os import logging import sys -from logging.handlers import RotatingFileHandler +from datetime import datetime +from logging.handlers import RotatingFileHandler, TimedRotatingFileHandler from typing import Optional from src.config import config @@ -16,6 +18,8 @@ def setup_logging( log_file: Optional[str] = None, console_level: int = logging.INFO, file_level: int = logging.DEBUG, + use_date_split: bool = True, + date_folder_format: str = "%Y-%m", # 按月份分文件夹 max_bytes: int = 10 * 1024 * 1024, # 10MB backup_count: int = 5 ) -> logging.Logger: @@ -26,21 +30,31 @@ def setup_logging( log_file: 日志文件路径,如果为None则使用默认路径 console_level: 控制台日志级别 file_level: 文件日志级别 + use_date_split: 是否使用日期分片 + date_folder_format: 日期文件夹格式(默认按月份,如 logs/2025-12/) max_bytes: 单个日志文件最大大小 backup_count: 备份文件数量 返回: 配置好的根日志器 """ - # 创建日志目录 + # 获取当前日期用于构建路径 + now = datetime.now() + if log_file is None: log_dir = 'logs' - log_file = os.path.join(log_dir, 'app.log') + if use_date_split: + # 按日期分片:logs/2025-12/2025-12-30.log + date_folder = now.strftime(date_folder_format) + log_dir = os.path.join('logs', date_folder) + log_file = os.path.join(log_dir, now.strftime('%Y-%m-%d.log')) + else: + log_file = os.path.join(log_dir, 'app.log') else: log_dir = os.path.dirname(log_file) if log_dir and not os.path.exists(log_dir): - os.makedirs(log_dir) + os.makedirs(log_dir, exist_ok=True) # 获取根日志器 logger = logging.getLogger() @@ -59,13 +73,28 @@ def setup_logging( console_handler.setFormatter(console_formatter) logger.addHandler(console_handler) - # 文件handler(轮转) - file_handler = RotatingFileHandler( - log_file, - maxBytes=max_bytes, - backupCount=backup_count, - encoding='utf-8' - ) + # 文件handler(日期分片或大小轮转) + if use_date_split: + # 使用TimedRotatingFileHandler,每天午夜轮转 + file_handler = TimedRotatingFileHandler( + log_file, + when='midnight', + interval=1, + backupCount=backup_count, + encoding='utf-8', + atTime=datetime.strptime('00:00:00', '%H:%M:%S') + ) + logger.info(f"日志系统已初始化,使用日期分片: {log_file}") + else: + # 使用RotatingFileHandler,按大小轮转 + file_handler = RotatingFileHandler( + log_file, + maxBytes=max_bytes, + backupCount=backup_count, + encoding='utf-8' + ) + logger.info(f"日志系统已初始化,使用大小轮转: {log_file}") + file_handler.setLevel(file_level) file_formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(filename)s:%(lineno)d - %(message)s', @@ -78,7 +107,6 @@ def setup_logging( logging.getLogger('urllib3').setLevel(logging.WARNING) logging.getLogger('requests').setLevel(logging.WARNING) - logger.info(f"日志系统已初始化,日志文件: {log_file}") logger.info(f"控制台日志级别: {logging.getLevelName(console_level)}") logger.info(f"文件日志级别: {logging.getLevelName(file_level)}")