Skip to content

feat: adapt deepin-debug-config for dynamic log level control - #536

Closed
add-uos wants to merge 1 commit into
linuxdeepin:masterfrom
add-uos:feat/camera-debugsource
Closed

add-uos wants to merge 1 commit into
linuxdeepin:masterfrom
add-uos:feat/camera-debugsource

Conversation

@add-uos

@add-uos add-uos commented Oct 29, 2026

Copy link
Copy Markdown
Contributor

概要 / Summary

适配 deepin-debug-config 调试模式,支持通过 DConfig 动态调整 deepin-camera 日志级别。

  • 日志分类化:将全部活跃的 qDebug()/qInfo()/qWarning() 调用(21 个源文件、743 处)转换为 qCDebug/qCInfo/qCWarning(appLog),统一使用 org.deepin.camera 分类(ddlog.h),并补充对应头文件引入;注释掉的代码保持原样未改动
  • 动态日志规则:logconfigread.cpp 在应用实例创建前注册 DConfig(org.deepin.camera / org.deepin.camera,键 log_rules)并监听 valueChanged,运行中可实时切换日志级别;DConfig 不可用时回退环境变量
  • 新增 dconfig 元数据 src/assets/org.deepin.camera.json(键 log_rules,默认 *.debug=false;*.info=false;org.deepin.camera*.warning=true,public/readwrite),并从 org.deepin.camera.encode.json 移除旧的 rules 键
  • src/CMakeLists.txt 同步安装两个元数据文件(dtk_add_config_meta_files / dsg/configs 目录)
  • SPDX 版权年份更新为包含 2026

验证 / Verification

  • Release 构建(Qt6,-DQT_NO_DEBUG)通过,无编译错误
  • 四档级别实测(dde-dconfig 设置 log_rules 后运行):
    • warning(默认):仅 qCWarning 输出,0 条 Debug/Info ✓
    • info:qCInfo + qCWarning,0 条 Debug ✓
    • debug:全量日志,分类均为 org.deepin.camera,无 Qt 框架日志刷屏 ✓
    • shell 四档 state 读回 debug/info/warning 正确 ✓

配套 debug-config 侧提交(deepin-camera.json + deepin-camera_debug.sh)见 deepin-debug-config 仓库 develop/snipe 分支。

Convert plain qDebug/qInfo/qWarning to categorized qCDebug/qCInfo/qCWarning
with org.deepin.camera category, register log_rules DConfig listening before
application creation, and add dconfig meta org.deepin.camera.json.

将普通日志宏改为带 org.deepin.camera 分类的 qCDebug/qCInfo/qCWarning,
在应用创建前注册 log_rules DConfig 监听,并新增 dconfig 元数据文件。

Log: 适配deepin-debug-config调试模式,支持动态调整日志级别
Influence: 可通过deepin-debug-config动态切换deepin-camera的日志输出级别
@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: add-uos

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sourcery-ai

sourcery-ai Bot commented Oct 29, 2026

Copy link
Copy Markdown

Sorry @add-uos, your pull request is larger than the review limit of 150,000 diff characters

@deepin-ci-robot

Copy link
Copy Markdown

deepin pr auto review

🤖 AI 代码审查报告

总体评分: 100 分 (通过阈值: 70分)

Pass


📊 总体评价

项目 结果
审查结论 代码审查通过
评分详情 本次提交目的是适配 deepin-debug-config 实现动态日志级别控制。主要变更包括:将日志规则配置从 org.deepin.camera.encode.json 迁移到独立的 org.deepin.camera.json 配置文件(键名从 rules 改为 log_rules),在 logconfigread.cpp 中更新 DConfig 读取逻辑并增加 DConfig 不可用时的环境变量兜底,以及在约20个 .cpp 文件中将 qDebug/qInfo/qWarning 统一迁移为 qCDebug/qCInfo/qCWarning 分类日志(appLog 类别)。四维度分析均未发现问题:语法逻辑正确、代码质量良好、性能无负面影响、无安全漏洞。OCR 审查因 merge-base 错误未能完成,但不影响整体结论。

🔍 详细分析

1. 语法逻辑 ✅

评价: 语法正确,逻辑清晰 ✅ 通过

潜在问题:
✅ 未发现明显问题

建议: []


2. 代码质量 ✅

评价: 代码结构清晰,注释完整 ✅ 通过

潜在问题:
✅ 未发现明显问题

建议: []


3. 代码性能 ✅

评价: 性能良好,资源使用合理 ✅ 通过

潜在问题:
✅ 未发现明显问题

建议: []


4. 代码安全 🔒

评价: 存在0个安全漏洞 ✅ 通过

🔐 发现 0 个安全漏洞

安全漏洞详情:
✅ 未发现安全漏洞

建议: []


💡 改进建议代码示例


本报告由 AI 代码审查工具自动生成

@add-uos

add-uos commented Oct 30, 2026

Copy link
Copy Markdown
Contributor Author

本 PR(25 个文件合为 1 个 commit)已按要求拆分为 3 个独立 PR,每个 PR 一个 commit:

三个 PR 文件集无交集、均无合并冲突(#539 已 rebase 最新上游 master 解决 a11y 改动冲突),三 PR 依次合并后的最终状态已实测 Qt6 Release 构建通过。请转为评审 #538/#539/#540,本 PR 关闭。

@add-uos add-uos closed this Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants