如何从QT源代码输出日志?

电脑杂谈  发布时间:2020-03-25 19:28:10  来源:网络整理

qc全能模块源码_超级模块源码_vmp保护模块源码

在运行过程中,可以控制和打印QT应用程序自己的程序日志. 然后qc全能模块源码,当我们要查找源代码并查看一些错误输出或执行序列时,我们需要将其打开. Qt源日志开关.

qt本身的模块

让我们检查qt的源代码并查看其日志输出使用: qCDebug,qCWarning,qCInfo,qCCritical,

那么如何在QT源代码中打开QCDebug输出?

我们了解qt本身具有完整的日志记录框架----> QLoggingCategory

QLoggingCategory可以控制打印输出类别和模块. 在调试过程中可以过滤掉未打印的打印信息.

超级模块源码_vmp保护模块源码_qc全能模块源码

以qCDebug获取说明:

我们打开qt和Windows的源代码,并查看qwindowstablesupport类(该类与Windows下平板电脑的触摸类有关)

看到qCDebug的第一个参数lcQpaTablet,我们找到其对应的声明,并发现它代表模块名称:

我们知道qCDebug会打印日志,这些日志是由与各个模块相对应的子模块打印的,那么如何打开与此模块相对应的日志输出?

通过检查QLoggingCategory类的描述qc全能模块源码,我们发现有五种方法来设置日志过滤规则和优先级:

qc全能模块源码_vmp保护模块源码_超级模块源码

如果我们使用qt的默认配置,关于过滤配置文件的路径,我们可以从代码中看到qt读取的默认配置路径是: %AppData%\ Local / QtProje

1. 注册方式

2. QtProject / qtlogging.ini: 在%AppData%\ Local / QtProject中创建qtlogging.ini文件

3. QLoggingSettingsParser设置过滤规则

vmp保护模块源码_qc全能模块源码_超级模块源码

4.QT_LOGGING_CONF: 环境变量,文件指定日志过滤规则,可以是相对路径或绝对路径: export QT_LOGGING_CONF =. / LoggingCategory / logconfig.ini

5. QT_LOGGING_RULES: 环境变量,可以设置多个用逗号分隔的规则: QT_LOGGING_RULES =“ *. debug = false; logA.loga.debug = false”

日志文件过滤规则的描述:

使用上述方法,我们设置为打开Q_LOGGING_CATEGORY(lcQpaTablet,“ qt.qpa.input.tablet”)模块的日志

超级模块源码_qc全能模块源码_vmp保护模块源码

运行程序查看,qt中源码 QWindowsTabletSupport类中的 qCDebug 日志都已经成功打印:

第二,用于自定义模块

我们在自己的模块中使用QLoggingCategory

1. 声明头文件: #include

2. 创建: 使用宏Q_LOGGING_CATEGORY(lCustomLog,“ CustomLog”)

3. 设置过滤规则: QLoggingCategory :: setFilterRules(QLatin1String(“ lCustomLog.debug = false”));

4. 使用: 通过qCDebug <<“这是一个日志!”输出qCDebug(lCustomLog);


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-152115-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 陈潜心
        陈潜心

        告诉美军这里不是你想来就来

      • 硕德八剌
        硕德八剌

        人家那演双簧

        • 朱淑真
          朱淑真

          中国海的12海里内就更不能让其自由通行

      热点图片
      拼命载入中...