Yayin Story Studio logo Yayin Story Studio 项目文档
回到主页 用户手册

LogMetaData Class

class Visindigo::General::LogMetaData

日志元数据类,用于存储日志消息的附加信息。. 详情...

头文件: #include <General/LogMetaData.h>
自以下版本: Visindigo 0.13.0

公开成员函数

(自 Visindigo 0.13.0 引入) LogMetaData()
(自 Visindigo 0.13.0 引入) LogMetaData(const QString &funcName, qint32 lineNumber)
(自 Visindigo 0.13.0 引入) LogMetaData(const Visindigo::General::LogMetaData &other)
(自 Visindigo 0.13.0 引入) LogMetaData(Visindigo::General::LogMetaData &&other)
(自 Visindigo 0.13.0 引入) ~LogMetaData()
(自 Visindigo 0.13.0 引入) QString getFunctionName() const
(自 Visindigo 0.13.0 引入) qint32 getLineNumber() const
(自 Visindigo 0.13.0 引入) bool isValid() const
(自 Visindigo 0.13.0 引入) void setFunctionName(const QString &funcName)
(自 Visindigo 0.13.0 引入) void setLineNumber(qint32 lineNumber)
(自 Visindigo 0.13.0 引入) QString toString() const
(自 Visindigo 0.13.0 引入) Visindigo::General::LogMetaData &operator=(Visindigo::General::LogMetaData &&other)
(自 Visindigo 0.13.0 引入) Visindigo::General::LogMetaData &operator=(const Visindigo::General::LogMetaData &other)

详细说明

LogMetaData 类用于存储与日志消息相关的附加信息,例如函数名称和行号。 这些信息可以帮助开发者更好地定位日志消息的来源,从而更有效地进行调试和问题排查。

因为这个类输入数据所依赖的__FUNCTION__宏和__LINE__宏在绝大多数 现代编译器下都可用,因此该类的信息几乎总是有效的,但不同编译器在__FUNCTION__宏 的实现细节上有所差异,例如MSVC下返回的是完整的函数名,而GCC和Clang下 则只有函数名本身,不带有命名空间和类名等信息。

如果需要完整函数签名,要考虑Q_FUNC_INFO宏。

如果需要更详细的堆栈跟踪信息,请使用Visindigo::General::StacktraceHelper类。

在VDebug中,这两个类一般同时使用,即使部分信息是重复的。

Visindigo::General::StacktraceFrame类不同,LogMetaData类是可变的,因此可以在创建后修改其内容。

成员函数文档

[since Visindigo 0.13.0] LogMetaData::LogMetaData()

默认构造函数,创建一个空的日志元数据对象。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] LogMetaData::LogMetaData(const QString &funcName, qint32 lineNumber)

构造函数,使用指定的函数名称和行号创建一个日志元数据对象。

funcName 函数名称。 lineNumber 行号。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] LogMetaData::LogMetaData(const Visindigo::General::LogMetaData &other)

拷贝构造函数

这个 function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] LogMetaData::LogMetaData(Visindigo::General::LogMetaData &&other)

移动构造函数

这个 function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] LogMetaData::~LogMetaData()

析构函数,销毁日志元数据对象。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString LogMetaData::getFunctionName() const

return 函数名称

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] qint32 LogMetaData::getLineNumber() const

return 行号

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool LogMetaData::isValid() const

return 日志元数据是否有效

此类将函数名称为空且行号为-1的对象视为无效对象。 如果需要表达“函数有效,但行号未知”,请将行号设置为0。

这在某些情况下很有用。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void LogMetaData::setFunctionName(const QString &funcName)

funcName 函数名称 设置函数名称

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void LogMetaData::setLineNumber(qint32 lineNumber)

lineNumber 行号 设置行号

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString LogMetaData::toString() const

return 将日志元数据格式化为字符串表示形式。

这是个用于调试的辅助函数,Visindigo输出日志时不依赖此函数,因此调用此函数 输出的结果和在日志上看到的结果有所不同。

这个 function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] Visindigo::General::LogMetaData &LogMetaData::operator=(Visindigo::General::LogMetaData &&other)

移动赋值运算符

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] Visindigo::General::LogMetaData &LogMetaData::operator=(const Visindigo::General::LogMetaData &other)

拷贝赋值运算符

这个 function 从 Visindigo 0.13.0 开始支持。