Files
d330viewer/src/main.cpp

65 lines
1.5 KiB
C++

#include <QApplication>
#include <QDateTime>
#include <QDir>
#include <QStandardPaths>
#include "gui/MainWindow.h"
#include "core/Logger.h"
// Redirect Qt log output to file logger.
void messageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
Q_UNUSED(context);
Logger *logger = Logger::instance();
switch (type) {
case QtDebugMsg:
logger->debug(msg);
break;
case QtInfoMsg:
logger->info(msg);
break;
case QtWarningMsg:
logger->warning(msg);
break;
case QtCriticalMsg:
case QtFatalMsg:
logger->error(msg);
break;
}
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
app.setOrganizationName("Viewer");
app.setApplicationName("Viewer");
app.setApplicationVersion("0.3.3");
// Prefer LocalAppData so MSI installs under Program Files can always write logs.
QString logDir = QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation);
if (logDir.isEmpty()) {
logDir = QCoreApplication::applicationDirPath();
}
QDir().mkpath(logDir);
const QString logPath = QDir(logDir).filePath("viewer.log");
Logger::instance()->setLogFile(logPath);
Logger::instance()->setMaxLines(10000);
qInstallMessageHandler(messageHandler);
qDebug() << "Viewer started";
qDebug() << "Log file:" << logPath;
MainWindow mainWindow;
mainWindow.show();
const int result = app.exec();
qDebug() << "Viewer exiting";
return result;
}