feat: get boot log path from DalamudStartInfo

This commit is contained in:
goaaats 2022-06-19 12:17:37 +02:00
parent ce49874935
commit 5c3c22490d
No known key found for this signature in database
GPG key ID: 49E2AA8C6A76498B
3 changed files with 8 additions and 1 deletions

View file

@ -79,6 +79,7 @@ void from_json(const nlohmann::json& json, DalamudStartInfo& config) {
config.GameVersion = json.value("GameVersion", config.GameVersion);
config.DelayInitializeMs = json.value("DelayInitializeMs", config.DelayInitializeMs);
config.BootLogPath = json.value("BootLogPath", config.BootLogPath);
config.BootShowConsole = json.value("BootShowConsole", config.BootShowConsole);
config.BootDisableFallbackConsole = json.value("BootDisableFallbackConsole", config.BootDisableFallbackConsole);
config.BootWaitMessageBox = json.value("BootWaitMessageBox", config.BootWaitMessageBox);
@ -99,6 +100,7 @@ void from_json(const nlohmann::json& json, DalamudStartInfo& config) {
}
void DalamudStartInfo::from_envvars() {
BootLogPath = utils::get_env<std::string>(L"DALAMUD_BOOT_LOGFILE");
BootShowConsole = utils::get_env<bool>(L"DALAMUD_SHOW_CONSOLE");
BootDisableFallbackConsole = utils::get_env<bool>(L"DALAMUD_DISABLE_FALLBACK_CONSOLE");
BootWaitMessageBox = static_cast<WaitMessageboxFlags>(utils::get_env<int>(L"DALAMUD_WAIT_MESSAGEBOX"));

View file

@ -31,6 +31,7 @@ struct DalamudStartInfo {
std::string GameVersion;
int DelayInitializeMs = 0;
std::string BootLogPath;
bool BootShowConsole = false;
bool BootDisableFallbackConsole = false;
WaitMessageboxFlags BootWaitMessageBox = WaitMessageboxFlags::None;

View file

@ -1,5 +1,7 @@
#include "pch.h"
#include <codecvt>
#include "DalamudStartInfo.h"
#include "logging.h"
#include "utils.h"
@ -26,8 +28,10 @@ DllExport DWORD WINAPI Initialize(LPVOID lpParam, HANDLE hMainThreadContinue) {
logging::update_dll_load_status(true);
const auto logFilePath = unicode::convert<std::wstring>(g_startInfo.BootLogPath);
auto attemptFallbackLog = false;
if (const auto logFilePath = utils::get_env<std::wstring>("DALAMUD_BOOT_LOGFILE"); logFilePath.empty()) {
if (logFilePath.empty()) {
attemptFallbackLog = true;
logging::I("No log file path given; not logging to file.");