aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--launcher/Application.cpp23
-rw-r--r--program_info/prismlauncher.6.scd18
2 files changed, 30 insertions, 11 deletions
diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 3f313ee4..ff34a168 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -146,19 +146,12 @@ static const QLatin1String liveCheckFile("live.check");
PixmapCache* PixmapCache::s_instance = nullptr;
namespace {
+
+/** This is used so that we can output to the log file in addition to the CLI. */
void appDebugOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg)
{
- const char *levels = "DWCFIS";
- const QString format("%1 %2 %3\n");
-
- qint64 msecstotal = APPLICATION->timeSinceStart();
- qint64 seconds = msecstotal / 1000;
- qint64 msecs = msecstotal % 1000;
- QString foo;
- char buf[1025] = {0};
- ::snprintf(buf, 1024, "%5lld.%03lld", seconds, msecs);
-
- QString out = format.arg(buf).arg(levels[type]).arg(msg);
+ QString out = qFormatLogMessage(type, context, msg);
+ out += QChar::LineFeed;
APPLICATION->logFile->write(out.toUtf8());
APPLICATION->logFile->flush();
@@ -431,6 +424,14 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv)
return;
}
qInstallMessageHandler(appDebugOutput);
+
+ qSetMessagePattern(
+ "%{time process}" " "
+ "%{if-debug}D%{endif}" "%{if-info}I%{endif}" "%{if-warning}W%{endif}" "%{if-critical}C%{endif}" "%{if-fatal}F%{endif}"
+ " " "|" " "
+ "%{if-category}[%{category}]: %{endif}"
+ "%{message}");
+
qDebug() << "<> Log initialized.";
}
diff --git a/program_info/prismlauncher.6.scd b/program_info/prismlauncher.6.scd
index f979e457..e1ebfff3 100644
--- a/program_info/prismlauncher.6.scd
+++ b/program_info/prismlauncher.6.scd
@@ -41,6 +41,24 @@ Here are the current features of Prism Launcher.
*-a, --profile*=PROFILE
Use the account specified by PROFILE (only valid in combination with --launch).
+# ENVIRONMENT
+
+The behavior of the launcher can be customized by the following environment
+variables, besides other common Qt variables:
+
+*QT_LOGGING_RULES*
+ Specifies which logging categories are shown in the logs. One can
+ enable/disable multiple categories by separating them with a semicolon (;).
+
+ The specific syntax, and alternatives to this setting, can be found at
+ https://doc.qt.io/qt-6/qloggingcategory.html#configuring-categories.
+
+*QT_MESSAGE_PATTERN*
+ Specifies the format in which the console output will be shown.
+
+ Available options, as well as syntax, can be viewed at
+ https://doc.qt.io/qt-6/qtglobal.html#qSetMessagePattern.
+
# EXIT STATUS
*0*