From c2d78989ffdf848f361218e4a6f7c44c73ec9106 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Wed, 27 Mar 2019 17:58:11 +1100 Subject: [PATCH 1/4] override StackWalker OnOutput to write to output using our logger util --- src/common/Util/CrashHandler.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/common/Util/CrashHandler.cpp b/src/common/Util/CrashHandler.cpp index 614496d7..5f142ba8 100644 --- a/src/common/Util/CrashHandler.cpp +++ b/src/common/Util/CrashHandler.cpp @@ -8,8 +8,20 @@ #include #else #include + +class SapphireStackWalker : public StackWalker +{ +public: + SapphireStackWalker() : StackWalker() {} +protected: + virtual void OnOutput( LPCSTR szText ) + { + Logger::critical( szText ); + } +}; #endif + using namespace Sapphire::Common; Util::CrashHandler::CrashHandler() @@ -137,7 +149,7 @@ void Util::CrashHandler::printStackTrace( unsigned int max_frames ) #else - StackWalker sw; + SapphireStackWalker sw; sw.ShowCallstack(); #endif From e9b190bd8569a95473f26be0dd004550ae8c54a2 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Wed, 27 Mar 2019 18:23:43 +1100 Subject: [PATCH 2/4] fix msvc build maybe --- src/common/Util/CrashHandler.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/common/Util/CrashHandler.cpp b/src/common/Util/CrashHandler.cpp index 5f142ba8..494a24b1 100644 --- a/src/common/Util/CrashHandler.cpp +++ b/src/common/Util/CrashHandler.cpp @@ -16,12 +16,11 @@ public: protected: virtual void OnOutput( LPCSTR szText ) { - Logger::critical( szText ); + Sapphire::Logger::critical( "{}", szText ); } }; #endif - using namespace Sapphire::Common; Util::CrashHandler::CrashHandler() From 8a5080746a74413eef8ee7222978fe50ea24de17 Mon Sep 17 00:00:00 2001 From: NotAdam Date: Wed, 27 Mar 2019 18:29:38 +1100 Subject: [PATCH 3/4] actually fix builds this time --- src/common/Util/CrashHandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/Util/CrashHandler.cpp b/src/common/Util/CrashHandler.cpp index 494a24b1..462c19ae 100644 --- a/src/common/Util/CrashHandler.cpp +++ b/src/common/Util/CrashHandler.cpp @@ -16,7 +16,7 @@ public: protected: virtual void OnOutput( LPCSTR szText ) { - Sapphire::Logger::critical( "{}", szText ); + Sapphire::Logger::fatal( "{}", szText ); } }; #endif From e8b1fed7a201b1798a805ce33d635d8d408b201a Mon Sep 17 00:00:00 2001 From: NotAdam Date: Wed, 27 Mar 2019 20:46:50 +1100 Subject: [PATCH 4/4] redefine critical log level to fatal in spdlog to be consistent with our logger api --- src/common/Logging/Logger.cpp | 12 ++---------- src/common/Logging/Logger.h | 4 ++-- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/src/common/Logging/Logger.cpp b/src/common/Logging/Logger.cpp index 13561543..bc063b25 100644 --- a/src/common/Logging/Logger.cpp +++ b/src/common/Logging/Logger.cpp @@ -1,5 +1,7 @@ #include "Logger.h" +#define SPDLOG_LEVEL_NAMES { "trace", "debug", "info", "warning", "error", "fatal", "off" } + #include #include #include @@ -10,16 +12,6 @@ namespace fs = std::experimental::filesystem; -Sapphire::Logger::Logger() -{ - -} - -Sapphire::Logger::~Logger() -{ - -} - void Sapphire::Logger::init( const std::string& logPath ) { auto pos = logPath.find_last_of( fs::path::preferred_separator ); diff --git a/src/common/Logging/Logger.h b/src/common/Logging/Logger.h index af0c9d0d..ced4cf9e 100644 --- a/src/common/Logging/Logger.h +++ b/src/common/Logging/Logger.h @@ -13,8 +13,8 @@ namespace Sapphire private: std::string m_logFile; - Logger(); - ~Logger(); + Logger() = default; + ~Logger() = default; public: