<QtDlt> - Qt DLT 声明
该 <QtDlt> 头文件包含用于与 dlt-daemon 注册并映射 QLoggingCategories 到 dlt 上下文的宏。更多...
头文件 | #include <QtDlt> |
宏
QDLT_FALLBACK_CATEGORY(CATEGORY) | |
QDLT_LOGGING_CATEGORY(CATEGORY, CATEGORYNAME, DLT_CTX_NAME, DLT_CTX_DESCRIPTION) | |
QDLT_REGISTER_APPLICATION(NAME, DESCRIPTION) | |
QDLT_REGISTER_CONTEXT_ON_FIRST_USE(ENABLED) | |
QDLT_REGISTER_LOGGING_CATEGORY(CATEGORY, CATEGORYNAME, DLT_CTX_NAME, DLT_CTX_DESCRIPTION) |
详细描述
GENIVI DLT
GENIVI DLT 是一种汽车日志系统。它由两个应用程序组成;一个用于收集各种应用程序和 Linux 系统日志的日志守护进程(dlt-daemon),以及一个运行在主机上的查看器应用程序(dlt-viewer),它可以连接到运行 dlt-daemon 的目标。
可以配置 dlt-daemon 将日志记录到文件中,或者在多个 ECU 情况下将日志转发到另一个 dlt-daemon。有关 dlt-daemon 的更多信息,请参阅 dlt-daemon 文档。
DLT 应用程序、上下文和日志级别
每个想要将日志记录到 dlt-daemon 的应用程序都需要注册自己。应用程序通过一个四字符长的标识符和表示 dlt-viewer 的更完整描述来识别。
每个已注册的应用程序都可以注册多个 dlt 上下文,它们由一个四字符长的标识符和详细的描述组成。
每个 dlt 上下文都有一个当前的日志级别,它定义了哪些日志被转发到 dlt-daemon 或在应用程序中丢弃。
控制 dlt-daemon
运行在主机机器上的 dlt-viewer 控制着 dlt-daemon。dlt-viewer 可以看到所有注册到 dlt-daemon 的应用程序,包括它们的上下文和当前的日志级别。所有日志都从 dlt-daemon 转发到连接的 dlt-viewer,并且可以进行过滤和导出。
此外,dlt-viewer 可以向 dlt-daemon 发送所谓的“控制消息”,以更改 dlt 上下文的日志级别。从 dlt-daemon 版本 2.12 开始,这些“控制消息”也会转发到日志应用程序,并由 Qt 解析,以设置已注册的 QLoggingCategory 的匹配日志级别。
Qt 消息类型映射
由于 DLT 系统与 Qt 带有分类的日志系统不是一对一的对应关系,因此需要一个日志级别的映射。在 DLT 中,无法仅使 QLoggingCategory 的特定消息类型生效,因为 DLT 仅定义了最大日志级别。由于此限制,一旦更改了 dlt 上下文的日志级别,所有较低的消息类型都会自动启用。
以下映射用于向 DLT 记录日志
Qt 消息类型 | DLT 日志级别 |
---|---|
Qt调试消息 | DLT_LOG_DEBUG |
Qt信息消息 | DLT_LOG_INFO |
Qt警告消息 | DLT_LOG_WARN |
Qt临界消息 | DLT_LOG_ERROR |
Qt致命消息 | DLT_LOG_FATAL |
未启用消息类型 | DLT_LOG_OFF |
使用dlt-viewer更改日志级别将启用以下消息类型
DLT 日志级别 | Qt消息类型 |
---|---|
DLT_LOG_VERBOSE | QtDebugMsg QtInfoMsg QtWarningMsg QtCriticalMsg QtFatalMsg |
DLT_LOG_INFO | QtDebugMsg QtInfoMsg QtWarningMsg QtCriticalMsg QtFatalMsg |
DLT_LOG_DEBUG | QtInfoMsg QtWarningMsg QtCriticalMsg QtFatalMsg |
DLT_LOG_WARN | QtWarningMsg QtCriticalMsg QtFatalMsg |
DLT_LOG_ERROR | QtCriticalMsg QtFatalMsg |
DLT_LOG_FATAL | Qt致命消息 |
DLT_LOG_OFF | 未启用消息类型 |
宏文档
QDLT_FALLBACK_CATEGORY(CATEGORY)
将现有的QLoggingCategory CATEGORY注册为dlt后备类别。 CATEGORY必须已经通过使用QDLT_LOGGING_CATEGORY或QDLT_REGISTER_LOGGING_CATEGORY映射到dlt上下文。后备类别用于所有未映射到dlt上下文或未使用QLoggingCategory的日志消息。
QDLT_LOGGING_CATEGORY(CATEGORY, CATEGORYNAME, DLT_CTX_NAME, DLT_CTX_DESCRIPTION)
定义一个新的QLoggingCategory CATEGORY并将其在CATEGORYNAME标识符下设置为可配置的。dlt上下文将注册为DLT_CTX_NAME,并使用DLT_CTX_DESCRIPTION作为描述。
注意: DLT_CTX_NAME限制为(大小为)4个字符。
QDLT_REGISTER_APPLICATION(NAME, DESCRIPTION)
将应用程序以NAME和DESCRIPTION注册到dlt-daemon。所有已注册的DLT日志类别都将成为dlt-daemon中此应用程序的一部分。每个进程只能注册一个应用程序。
注意: NAME限制为(大小为)4个字符。
QDLT_REGISTER_CONTEXT_ON_FIRST_USE(ENABLED)
当设置为ENABLED时,在首次使用类别时进行注册。
否则,注册将在调用QDLT_LOGGING_CATEGORY或QDLT_REGISTER_LOGGING_CATEGORY时直接进行。
QDLT_REGISTER_LOGGING_CATEGORY(CATEGORY, CATEGORYNAME, DLT_CTX_NAME, DLT_CTX_DESCRIPTION)
将现有的QLoggingCategory CATEGORY注册为CATEGORYNAME标识符下的可配置类别。新类别将映射到DLT_CTX_NAME dlt上下文,并使用DLT_CTX_DESCRIPTION。
注意: DLT_CTX_NAME限制为(大小为)4个字符。
©2020 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及相关标志是The Qt Company Ltd.在芬兰和/或其他国家的商标。所有其他商标均为各自所有者的财产。