Theo mặc định sử dụng qDebug(), qWarning(), v.v. sẽ cho phép bạn ghi thông tin ra bàn điều khiển.
#include <QtDebug>
qDebug() << "Hello world!";
QMessageLogger được thiết kế để tận dụng đặc biệt C++ macro (ví dụ như chức năng, dây chuyền, tập tin)
QMessageLogger(__FILE__, __LINE__, 0).debug() << "Hello world!";
Trong Qt5 logger nhắn được sử dụng đằng sau hậu trường kể từ qDebug() là một macro mà sẽ cuối cùng khởi tạo một thể hiện của QMessageLogger. Vì vậy, tôi chỉ cần đi với việc sử dụng qDebug thông thường().
QMessageLogContext chứa nội dung tôi muốn xem là "siêu dữ liệu", tức là tệp, số dòng, v.v. mà câu lệnh qDebug() được gọi từ đó. Thông thường bạn sẽ quan tâm đến bối cảnh log nếu bạn định nghĩa QtMessageHandler của riêng bạn (xem qInstallMessageHandler()).
Trình xử lý tin nhắn cho phép kiểm soát nhiều hơn cơ chế ghi nhật ký - như gửi thông tin ghi nhật ký đến máy chủ ghi nhật ký tùy chỉnh hoặc thậm chí tới một tệp.
Theo quy định trong Tài liệu Qt, tạo một handler thông báo tùy chỉnh rất đơn giản:
void myMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
std::cout << msg.toStdString();
}
Kiểm tra ví dụ tốt hơn và explanations here.
Bạn có ý gì khi "nối thêm vào"? – Huy
tôi có nghĩa là đăng nhập vào tệp, tôi đã chỉnh sửa câu hỏi để rõ ràng hơn. Cảm ơn đã giúp đỡ. – rreeves