diff --git a/qelectrotech.pro b/qelectrotech.pro index b9e37c9e5..5b5a1df03 100644 --- a/qelectrotech.pro +++ b/qelectrotech.pro @@ -74,6 +74,7 @@ include(SingleApplication/singleapplication.pri) include(sources/QWidgetAnimation/QWidgetAnimation.pri) DEFINES += QAPPLICATION_CLASS=QApplication +DEFINES += QT_MESSAGELOGCONTEXT TEMPLATE = app DEPENDPATH += . diff --git a/sources/machine_info.cpp b/sources/machine_info.cpp index 816da8f88..81488139d 100644 --- a/sources/machine_info.cpp +++ b/sources/machine_info.cpp @@ -20,6 +20,7 @@ #include #include #include +#include /** @brief Machine_info::Machine_info @@ -195,5 +196,6 @@ QString Machine_info::compilation_info() * screens[ii]->devicePixelRatio()) + " )
"; } + qDebug()< +/** + @brief myMessageOutput + for debugging + @param type : the messages that can be sent to a message handler + @param context : were? wat? + @param msg : Message +*/ +void myMessageOutput(QtMsgType type, + const QMessageLogContext &context, + const QString &msg) +{ + + QByteArray dbs = + QTime::currentTime().toString("hh:mm:ss.zzz").toLocal8Bit(); + QByteArray localMsg = msg.toLocal8Bit(); + const char *file = context.file ? context.file : ""; + const char *function = context.function ? context.function : ""; + switch (type) { + case QtDebugMsg: + fprintf(stderr, + "%s Debug: %s (%s:%u, %s)\n", + dbs.constData(), + localMsg.constData(), + file, + context.line, + function); + break; + case QtInfoMsg: + fprintf(stderr, + "%s Info: %s (%s:%u, %s)\n", + dbs.constData(), + localMsg.constData(), + file, + context.line, + function); + break; + case QtWarningMsg: + fprintf(stderr, + "%s Warning: %s (%s:%u, %s)\n", + dbs.constData(), + localMsg.constData(), + file, context.line, + function); + break; + case QtCriticalMsg: + fprintf(stderr, + "%s Critical: %s (%s:%u, %s)\n", + dbs.constData(), + localMsg.constData(), + file, + context.line, + function); + break; + case QtFatalMsg: + fprintf(stderr, + "%s Fatal: %s (%s:%u, %s)\n", + dbs.constData(), + localMsg.constData(), + file, + context.line, + function); + break; + default: + fprintf(stderr, + "%s Unknown: %s (%s:%u, %s)\n", + dbs.constData(), + localMsg.constData(), + file, + context.line, + function); + } +} + /** @brief main Main function of QElectroTech @@ -32,10 +105,20 @@ */ int main(int argc, char **argv) { + qInstallMessageHandler(myMessageOutput); //Some setup, notably to use with QSetting. QCoreApplication::setOrganizationName("QElectroTech"); QCoreApplication::setOrganizationDomain("qelectrotech.org"); QCoreApplication::setApplicationName("QElectroTech"); + qDebug()<<"test message generated"; + qInfo()<<"OS:" + + QString(QSysInfo::kernelType()) + + "-" + + QString(QSysInfo::currentCpuArchitecture()) + + " Version:" + + QString(QSysInfo::prettyProductName()) + + " Kernel:" + + QString(QSysInfo::kernelVersion()); //Creation and execution of the application //HighDPI QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);