From 013b6cecc2c5ea438caf6f260b42137b4faff302 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Thu, 24 Nov 2016 22:49:31 +0800 Subject: [PATCH] install a message handler Signed-off-by: Le Tan --- src/main.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 1c1fc2a6..fc8cc968 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -5,8 +5,32 @@ #include "utils/vutils.h" #include "vsingleinstanceguard.h" +void VLogger(QtMsgType type, const QMessageLogContext &context, const QString &msg) +{ + QByteArray localMsg = msg.toUtf8(); + switch (type) { + case QtDebugMsg: + fprintf(stderr, "Debug:%s (%s:%u)\n", localMsg.constData(), context.file, context.line); + break; + case QtInfoMsg: + fprintf(stderr, "Info:%s (%s:%u)\n", localMsg.constData(), context.file, context.line); + break; + case QtWarningMsg: + fprintf(stderr, "Warning:%s (%s:%u)\n", localMsg.constData(), context.file, context.line); + break; + case QtCriticalMsg: + fprintf(stderr, "Critical:%s (%s:%u)\n", localMsg.constData(), context.file, context.line); + break; + case QtFatalMsg: + fprintf(stderr, "Fatal:%s (%s:%u)\n", localMsg.constData(), context.file, context.line); + abort(); + } +} + int main(int argc, char *argv[]) { + qInstallMessageHandler(VLogger); + VSingleInstanceGuard guard; if (!guard.tryRun()) { return 0;