diff --git a/src/d3d11/d3d11_main.cpp b/src/d3d11/d3d11_main.cpp index a1ceaf14..6ff99e55 100644 --- a/src/d3d11/d3d11_main.cpp +++ b/src/d3d11/d3d11_main.cpp @@ -6,6 +6,10 @@ #include "d3d11_device.h" #include "d3d11_enums.h" +namespace dxvk { + Logger Logger::s_instance("d3d11.log"); +} + extern "C" { using namespace dxvk; diff --git a/src/dxgi/dxgi_main.cpp b/src/dxgi/dxgi_main.cpp index 98d84422..125193e2 100644 --- a/src/dxgi/dxgi_main.cpp +++ b/src/dxgi/dxgi_main.cpp @@ -3,6 +3,8 @@ namespace dxvk { + Logger Logger::s_instance("dxgi.log"); + struct SdlInstance { SdlInstance() { if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE)) diff --git a/src/dxvk/dxvk_main.cpp b/src/dxvk/dxvk_main.cpp index 68ae9811..a47c6993 100644 --- a/src/dxvk/dxvk_main.cpp +++ b/src/dxvk/dxvk_main.cpp @@ -2,10 +2,4 @@ namespace dxvk { - Logger g_logger("dxvk.log"); - - Logger* getGlobalLogger() { - return &g_logger; - } - } \ No newline at end of file diff --git a/src/dxvk/dxvk_main.h b/src/dxvk/dxvk_main.h index 2dd50cf2..624613e2 100644 --- a/src/dxvk/dxvk_main.h +++ b/src/dxvk/dxvk_main.h @@ -5,6 +5,4 @@ namespace dxvk { - Logger* getGlobalLogger(); - } \ No newline at end of file diff --git a/src/util/log/log.cpp b/src/util/log/log.cpp index 7408652d..93f7e3c3 100644 --- a/src/util/log/log.cpp +++ b/src/util/log/log.cpp @@ -10,22 +10,22 @@ namespace dxvk { void Logger::trace(const std::string& message) { - getGlobalLogger()->log(std::string("trace: ") + message); + s_instance.log(std::string("trace: ") + message); } void Logger::info(const std::string& message) { - getGlobalLogger()->log(std::string("info: ") + message); + s_instance.log(std::string("info: ") + message); } void Logger::warn(const std::string& message) { - getGlobalLogger()->log(std::string("warn: ") + message); + s_instance.log(std::string("warn: ") + message); } void Logger::err(const std::string& message) { - getGlobalLogger()->log(std::string("err: ") + message); + s_instance.log(std::string("err: ") + message); } diff --git a/src/util/log/log.h b/src/util/log/log.h index 7359f543..2d42af79 100644 --- a/src/util/log/log.h +++ b/src/util/log/log.h @@ -29,6 +29,8 @@ namespace dxvk { private: + static Logger s_instance; + std::mutex m_mutex; std::ofstream m_fileStream; diff --git a/tests/dxbc/test_dxbc_compiler.cpp b/tests/dxbc/test_dxbc_compiler.cpp index 09246ac6..e6f5da62 100644 --- a/tests/dxbc/test_dxbc_compiler.cpp +++ b/tests/dxbc/test_dxbc_compiler.cpp @@ -8,6 +8,10 @@ #include #include +namespace dxvk { + Logger Logger::s_instance("dxbc-compiler.log"); +} + using namespace dxvk; int WINAPI WinMain(HINSTANCE hInstance, diff --git a/tests/dxvk/test_dxvk_triangle.cpp b/tests/dxvk/test_dxvk_triangle.cpp index 41e39a88..af0986e7 100644 --- a/tests/dxvk/test_dxvk_triangle.cpp +++ b/tests/dxvk/test_dxvk_triangle.cpp @@ -9,6 +9,10 @@ #include #include +namespace dxvk { + Logger Logger::s_instance("dxvk-triangle.log"); +} + using namespace dxvk; const uint32_t vsCode[] = {