我正在对Qt 5.0 Logging进行一些研究,它似乎已经内置了日志记录类.我找不到一个例子.我找到了我认为与此相关的课程.
我可以大致看到如何从文档中创建QMessageLogger对象,但是如何创建日志文件并附加到它?
Huy*_*Huy 40
默认情况下,使用qDebug(),qWarning()等将允许您将信息记录到控制台.
#include <QtDebug>
qDebug() << "Hello world!";
Run Code Online (Sandbox Code Playgroud)
QMessageLogger旨在利用特殊的C++宏(例如函数,行,文件)
QMessageLogger(__FILE__, __LINE__, 0).debug() << "Hello world!";
Run Code Online (Sandbox Code Playgroud)
在Qt5中,消息记录器在幕后使用,因为qDebug()是一个最终将实例化QMessageLogger实例的宏.所以我只想使用常规的qDebug().
QMessageLogContext包含我认为的"元数据",即调用它的qDebug()语句的文件,行号等.通常,如果您要定义自己的QtMessageHandler,请关注日志上下文(请参阅qInstallMessageHandler()).
消息处理程序允许更多地控制日志记录机制 - 例如将日志记录信息发送到自定义日志记录服务器甚至文件.
正如Qt文档中所提供的,创建自定义消息处理程序很简单:
void myMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
std::cout << msg.toStdString();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25722 次 |
| 最近记录: |