fix(logging): bugs in windows implementation
This commit is contained in:
parent
b8b0646e9f
commit
5d97ef58f5
3 changed files with 9 additions and 9 deletions
|
@ -35,10 +35,10 @@ void Logger::log(std::string message, Logger::LogLevel logLevel) {
|
|||
|
||||
std::string formattedLogLine = std::format("[{:%Y-%m-%d %X}] [{}] {}", now, logLevelStr, message);
|
||||
|
||||
printf("%s\n", formattedLogLine.c_str());
|
||||
logStream << formattedLogLine << std::endl;
|
||||
printf("FATAL ERROR: %s\n", message.c_str());
|
||||
|
||||
if (logLevel == Logger::LogLevel::FATAL_ERROR) {
|
||||
displayErrorMessage(formattedLogLine);
|
||||
displayErrorMessage(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ void panic() {
|
|||
abort();
|
||||
trySafeAbort = true;
|
||||
|
||||
#ifndef NDEBUG
|
||||
#ifdef NDEBUG
|
||||
displayErrorMessage(std::string("A fatal error has occurred and Openblocks had to shut down.\n\
|
||||
The currently open document will be attempted to be saved, and logs will be written to " + getProgramLogsDir()));
|
||||
#endif
|
||||
|
@ -26,4 +26,4 @@ The currently open document will be attempted to be saved, and logs will be writ
|
|||
// TODO: Autosave document
|
||||
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,15 +42,15 @@ std::string getProgramDataDir() {
|
|||
CHAR localAppData[MAX_PATH];
|
||||
int status = SHGetFolderPathA(NULL, CSIDL_LOCAL_APPDATA, NULL, 0, localAppData);
|
||||
if (status != 0) {
|
||||
printErrorMessage("Failed to find local appdata folder");
|
||||
displayErrorMessage("Failed to find local appdata folder");
|
||||
panic();
|
||||
}
|
||||
return localAppData + "/openblocks";
|
||||
return std::string(localAppData) + "/openblocks";
|
||||
}
|
||||
|
||||
void displayErrorMessage(std::string message) {
|
||||
fprintf(stderr, "%s\n", message.c_str());
|
||||
MessageBoxA(NULL, message.c_str(), "Fatal Error", MB_OK);
|
||||
MessageBoxA(NULL, message.c_str(), "Fatal Error", MB_OK | MB_ICONERROR);
|
||||
}
|
||||
|
||||
#endif // WIN32
|
||||
|
@ -65,4 +65,4 @@ void initProgramDataDir() {
|
|||
|
||||
void initProgramLogsDir() {
|
||||
std::filesystem::create_directories(getProgramLogsDir());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue