Qtリファレンス QtGlobal::qInstallMessageHandler 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(QtGloba::qInstallMessageHandler 概要)
(QtGlobal::qInstallMessageHandler 概要)
 
3行: 3行:
 
 Qt5.15.2
 
 Qt5.15.2
  
 デバッグメッセージ、警告、重大なメッセージ、致命的なエラーを出力するときの設定をします。アプリケーション単位で一つの設定ができます。引数のQtMessageHandler型の関数ポインタ(ハンドラ)
+
 デバッグメッセージ、警告、重大なメッセージ、致命的なエラーを出力するときの設定をします。アプリケーション単位で一つの設定ができます。引数のQtMessageHandler型の関数ポインタ(ハンドラ)で表示設定関数を受け渡すことによって出力書式を変更できます。
  
 
 
 
 
13行: 13行:
  
  
 上記のような場合は標準出力を使ったときに「ファイル名:関数名: 出力メッセージ」のような形式になります。付加可能なメッセージパターン(%{file}のような表現で、プレースホルダーと呼ばれています。)には以下のようなものがあります。
+
 このときappMessageHandlerは以下のような関数のポインタとなっています。このとき、appMessageHandler関数は以下のような構造を設定することでしょう。出力内容やQString&型のmsgの処理方法とかは、自由に設定します。
 
+
 
+
*'''%{appname}'''
+
:QCoreApplication::applicationName()
+
*'''%{category}'''
+
:標準出力使用カテゴリー
+
*'''%{file}'''
+
:プログラムファイルパス
+
*'''%{function}'''
+
:関数
+
*'''%{line}'''
+
:行番号
+
*'''%{message}'''
+
:メッセージ※これがないと出力したメッセージが表示されないので、本来の機能が無くなってしまいます。お望みとあらば消してください。
+
*'''%{pid}'''
+
:プロセスID
+
*'''%{threadid}'''
+
:スレッドID
+
*'''%{qthreadptr}'''
+
:QThreadのポインター
+
*'''%{type}'''
+
:{"debug", "warning", critical", "fatal"}のどの種別の情報か?
+
*'''%{time process}'''
+
:プロセス起動経過時間
+
*'''%{time boot}'''
+
:システム起動経過時間
+
*'''%{time [format]}'''
+
:システム時刻 合わせてフォーマットも指定できます。%{time yyyy-MM-dd hh:mm:ss.zzz t}のように指定します。
+
*'''%{backtrace [depth=N] [separator="char"]}'''
+
:
+
 
+
 
+
 
+
 
+
 
+
 
+
 
+
  
 +
<syntaxhighlight2 lang="cpp">
 +
void appMessageHandler(QtMsgType qmsgtype, const QMessageLogContext& context, const QString &msg){
 +
    QByteArray qbytearrayMsg = msg.toLocal8bit;
 +
    switch(qmsgtype){
 +
        case QtDebugMsg:
 +
            fprintf( stderr, "Debug: %s (%s:%u, %s)\n", qbytearrayMsg.constData(), context.file(), context.line(), context.function() );
 +
            break;
 +
        case QtInfoMsg:…
 +
        case QtWarningMsg:…
 +
        case QtCriticalMsg:…
 +
        case QtFatalMsg:…
 +
    }
 +
}
 +
</syntaxhighlight2>
 
 
 
 
  
 
[[Qt#Qtリファレンス|Qtリファレンス]]へ戻る
 
[[Qt#Qtリファレンス|Qtリファレンス]]へ戻る

2021年2月19日 (金) 00:00時点における最新版



個人用ツール
名前空間

変種
操作
案内
ツールボックス