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;