已合并
[RFC]: MindIE-LLM 日志模块整改,包括 CPP 和 Python两侧——第二部分(支持动态调整日志等级、封装CPP接口) #384
[RFC]: MindIE-LLM 日志模块整改,包括 CPP 和 Python两侧——第二部分(支持动态调整日志等级、封装CPP接口) #384
已合并
KaiMa创建于 2月9日
KaiMa
KaiMa成员
2月9日

合入背景

请描述为什么要做这个PR内的改动。
如涉及,请关联前序PR或同特性/需求下的其他PR。
如果是修复之前PR引入的问题,请关联引入问题的PR。
注意:Fixes #ISSUE ID会自动关闭issue,如问题部分解决请不要使用Fixes,可以用Fix part of #ISSUE ID替代.

支持动态日志
Fix part of #139

修改内容

请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列。
如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容)。

支持动态调整日志等级

新增加PY-CPP连桥模块封装接口供python侧使用

资料变更

请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及”。

不涉及

接口变更

请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及”。

不涉及

测试结果

请说明测试场景,测试方法以及测试结果。
测试用例设计时需考虑硬件、部署方式、功能、性能、精度、显存等维度。

修改level前:
image.png
打印warn日志:
image.png
修改level为error:
image.png
不再打印warn日志

CheckList

PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x]。

likedislike
Pull Request已成功合入, 合并人@ascend-robot
(感谢 KaiMa 的贡献)
KaiMaKaiMa成员
2月9日 关联了issue:[RFC]: MindIE-LLM 日志模块整改,包括 CPP 和 Python两侧
ascend-robot
ascend-robot成员
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
likedislike
ascend-robotascend-robot成员
2月9日 添加了label:ascend-cla/yes
ascend-robot
ascend-robot成员
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)重构了枚举映射、优化了特定类型日志的文件轮转策略,并移除了用于性能测试的临时代码。

likedislike
ascend-robot
ascend-robot成员2月9日进行代码检视3
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+ """
ascend-robot
ascend-robot2月9日评论:

可维护性和扩展性: 类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

---
*此评论由代码审查工具自动生成*
likedislike
KaiMa
KaiMa成员
2月9日 评论:

ok

System
系统消息系统
2月9日 评论:

changed this line on 28811824 view diff detail

此处折叠了141条消息 查看更多
ascend-robotascend-robot成员
2月28日 添加了label:approvedlgtm
纪涛
纪涛成员
3月1日 评论:

/merge

likedislike
ascend-robotascend-robot成员
3月1日 添加了label:keeper_approved
ascend-robot
ascend-robot成员
3月1日 评论:

Review Guide

This pull-request passes review.
Committers who wrote a comment of /approve are: taojiovvo.
Reviewers who wrote a comment of /lgtm are: taojiovvo, zouzy5137.

likedislike
ascend-robotascend-robot成员
3月1日 合入了pull request