已合并
[RFC]: MindIE-LLM 日志模块整改,包括 CPP 和 Python两侧——第二部分(支持动态调整日志等级、封装CPP接口) #384
KaiMa创建于 2月9日
[RFC]: MindIE-LLM 日志模块整改,包括 CPP 和 Python两侧——第二部分(支持动态调整日志等级、封装CPP接口) #384
已合并
Pull Request已成功合入, 合并人@ascend-robot
(感谢 KaiMa 的贡献)2月9日 关联了issue:[RFC]: MindIE-LLM 日志模块整改,包括 CPP 和 Python两侧
ascend-robot
2月9日 评论:
2月9日 评论:
Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here
以下是根据您提交的修改文件推荐的Reviewer和Committer序列,需各模块评审通过后方可合入.
| Module List | Reviewers | Committers |
|---|---|---|
| repo-Ascend/MindIE-LLM | jiangkaiqiang, imwangyue, liuzepeng6, guleo2, syli1107 | senxiangms, wumingjing, coding-lz, masiming, wu_yushan |


2月9日 添加了label:ascend-cla/yes
ascend-robot
2月9日 评论:
2月9日 评论:
问题/功能描述
本次PR旨在为项目构建一个统一的、可被Python代码直接调用的日志系统,并增强其动态管理能力。主要解决了原有C++日志系统无法被Python层使用,以及运行时无法动态调整日志级别的问题,从而提升了系统的可观测性和运维灵活性。同时,优化了构建流程,确保日志库能被正确集成到Python模块中。
修改方案描述
核心修改包括:1)在构建脚本中新增步骤,将生成的C++日志库(libfoundation.so)复制到Python模块路径,确保Python可调用。2)新增Python日志模块(system_log.py),通过Python C API封装底层C++日志库,提供标准日志接口。3)扩展C++日志库,引入DynamicLogManager类以支持通过外部配置文件动态调整日志级别。4)在守护进程入口初始化日志系统,并新增辅助函数以获取Python环境路径。5)重构了枚举映射、优化了特定类型日志的文件轮转策略,并移除了用于性能测试的临时代码。


mindie_llm/utils/system_log.py
已过期
@@ -0,0 +27,4 @@
27+ # set_log_level(level: str), e.g. 'debug', 'llm:info;llmmodels:warn;server:error'
28+ log.set_log_level(level)
29+
30+ """
可维护性和扩展性: 类LlmLog的文档字符串(第30-33行)的放置位置不当。它被放在类方法set_log_level和实例方法audit之间,而不是紧跟在类定义之后。这不符合Python的PEP 257约定,会影响文档工具(如help(LlmLog)或Sphinx)正确提取类文档。此外,文档字符串的内容是描述日志方法的参数,但未说明类本身的用途。
问题类型: 可维护性和扩展性
文件路径: mindie_llm/utils/system_log.py
行号: 30
问题代码:
"""
log.audit/debug/info/warn/error/critical parameters:
msg: str, comp: str (options: llm, llmmodels, server), type: str (options: general, request, token, tokenizer)
"""
def audit(self, msg, type="general"):
修改建议:
将文档字符串移动到类定义之后、`__new__`方法之前。并补充类的整体描述,例如:
```python
class LlmLog:
"""
一个单例日志类,用于封装基础日志库的调用。
日志方法参数说明:
msg: str - 日志消息
comp: str - 组件名(选项: llm, llmmodels, server)
type: str - 日志类型(选项: general, request, token, tokenizer)
"""
_instance = None
---
*此评论由代码审查工具自动生成*


KaiMa
2月9日 评论:
2月9日 评论:
ok
此处折叠了141条消息 查看更多
2月28日 添加了label:approvedlgtm
纪涛
3月1日 评论:
3月1日 评论:
/merge


3月1日 添加了label:keeper_approved
ascend-robot
3月1日 评论:
3月1日 评论:
3月1日 合入了pull request
合入背景
支持动态日志
Fix part of #139
修改内容
支持动态调整日志等级
新增加PY-CPP连桥模块封装接口供python侧使用
资料变更
不涉及
接口变更
不涉及
测试结果
修改level前:



打印warn日志:
修改level为error:
不再打印warn日志
CheckList