diff options
Diffstat (limited to 'src/citra/citra.cpp')
-rw-r--r-- | src/citra/citra.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/citra/citra.cpp b/src/citra/citra.cpp index 6ac5c5dc5..d6e8a4ec7 100644 --- a/src/citra/citra.cpp +++ b/src/citra/citra.cpp @@ -2,9 +2,15 @@ // Licensed under GPLv2 // Refer to the license.txt file included. +#include <thread> + #include "common/common.h" -#include "common/log_manager.h" +#include "common/logging/text_formatter.h" +#include "common/logging/backend.h" +#include "common/logging/filter.h" +#include "common/scope_exit.h" +#include "core/settings.h" #include "core/system.h" #include "core/core.h" #include "core/loader/loader.h" @@ -14,14 +20,21 @@ /// Application entry point int __cdecl main(int argc, char **argv) { - LogManager::Init(); + std::shared_ptr<Log::Logger> logger = Log::InitGlobalLogger(); + Log::Filter log_filter(Log::Level::Debug); + std::thread logging_thread(Log::TextLoggingLoop, logger, &log_filter); + SCOPE_EXIT({ + logger->Close(); + logging_thread.join(); + }); if (argc < 2) { - ERROR_LOG(BOOT, "Failed to load ROM: No ROM specified"); + LOG_CRITICAL(Frontend, "Failed to load ROM: No ROM specified"); return -1; } Config config; + log_filter.ParseFilterString(Settings::values.log_filter); std::string boot_filename = argv[1]; EmuWindow_GLFW* emu_window = new EmuWindow_GLFW; @@ -30,7 +43,7 @@ int __cdecl main(int argc, char **argv) { Loader::ResultStatus load_result = Loader::LoadFile(boot_filename); if (Loader::ResultStatus::Success != load_result) { - ERROR_LOG(BOOT, "Failed to load ROM (Error %i)!", load_result); + LOG_CRITICAL(Frontend, "Failed to load ROM (Error %i)!", load_result); return -1; } |