私はQt 5.0のロギングについていくつかの調査をしていましたが、ロギング用のクラスを組み込んでいるようです。私は例を見つけるのが難しいです。私はここに関連すると思う授業を見つけました。QT 5.0 - ログに組み込まれていますか?
私は、ドキュメントからQMessageLoggerオブジェクトを作成するために、おおよそどのように見ることができますが、どのように私は、ログファイルを作成し、それに追加することができますか?
私はQt 5.0のロギングについていくつかの調査をしていましたが、ロギング用のクラスを組み込んでいるようです。私は例を見つけるのが難しいです。私はここに関連すると思う授業を見つけました。QT 5.0 - ログに組み込まれていますか?
私は、ドキュメントからQMessageLoggerオブジェクトを作成するために、おおよそどのように見ることができますが、どのように私は、ログファイルを作成し、それに追加することができますか?
デフォルトでqDebug()、qWarning()などを使用すると、情報をコンソールにログアウトすることができます。
QMessageLoggerがqDebugは、()は最終的にマクロであるため、メッセージロガーが背後で使用される特殊なC++のマクロ(例えば機能、ライン、ファイルに)Qt5でQMessageLogger(__FILE__, __LINE__, 0).debug() << "Hello world!";
を活用するように設計されて
#include <QtDebug>
qDebug() << "Hello world!";
QMessageLoggerのインスタンスをインスタンス化します。だから、私は通常のqDebug()を使うだけです。
QMessageLogContextには、qDebug()ステートメントが呼び出されたファイル、行番号などの「メタデータ」と見なされる内容が含まれています。通常は、独自のQtMessageHandlerを定義している場合は、ログコンテキストに関心があります(qInstallMessageHandler()を参照)。
メッセージハンドラを使用すると、カスタムロギングサーバまたはファイルにロギング情報を送信するなど、ロギングメカニズムをより詳細に制御できます。
カスタムメッセージハンドラを作成し、Qtのドキュメントに提供されるようには簡単です:
void myMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
std::cout << msg.toStdString();
}
は、より良い例とexplanations hereをチェックしてください。
「追加する」とはどういう意味ですか? – Huy
私はファイルへのログを意味し、私は質問をより明確に編集しました。助けてくれてありがとう。 – rreeves