Taro3

View on GitHub

ログメッセージの改善

Qtはこれを行うための複数の方法を提供しています。結果と複雑さを両立させるには、Qt のログ型とカスタムメッセージパターンを組み合わせるのが良いでしょう。

Qtでは、最小レベルから最重要レベルまでの5つのログタイプを定義しています。

常に最適なものを使うようにしましょう!

デフォルトでは、メッセージ・パターンは余分なデータなしでメッセージのみを表示するように設定されていますが、より多くの情報を表示するようにパターンをカスタマイズすることができます。このパターンは、環境変数 QT_MESSAGE_PATTERN を設定することで、実行時に変更することができます。また、ソフトウェアからqSetMessagePattern関数を呼び出してパターンを変更することもできます。パターンは単なる文字列であり、いくつかのプレースホルダが含まれています。

これらは、よく使うプレースホルダです。

これを使う簡単な方法は、main.cppファイルを以下のように編集することです。

#include <QApplication>
#include <QDebug>

...

int main(int argc, char *argv[])
{
    qSetMessagePattern("[%{time yyyy-MM-dd hh:mm:ss}] [%{type}]
        %{function} %{message}");
    qInfo() << "Application starting...";

    QApplication a(argc, argv);
    ...
    return a.exec();
}

アプリケーションの出力には、このようなものが表示されるはずです。

[2016-10-03 10:22:40] [info] qMain Application starting...

Qt のログタイプとカスタムメッセージパターンを、自分にとって有用なパターンが見つかるまで遊び倒してみてください。


Tips

より複雑なアプリケーションでは、QLoggingCategoryクラスを使用してロギングのカテゴリを定義することができます。これについての詳細は http://doc.qt.io/qt-5/qloggingcategory.html を参照してください。


戻る