Moved code back into OpenVulkano namespace, removed unnecessary comment
This commit is contained in:
@@ -23,45 +23,6 @@
|
|||||||
# include <dbghelp.h>
|
# include <dbghelp.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace
|
|
||||||
{
|
|
||||||
bool didLoggerShutdown = false;
|
|
||||||
|
|
||||||
void signalHandler(int sigCode)
|
|
||||||
{
|
|
||||||
if(!didLoggerShutdown)
|
|
||||||
spdlog::error("Received signal {}", sigCode);
|
|
||||||
spdlog::shutdown();
|
|
||||||
didLoggerShutdown = true;
|
|
||||||
std::raise(sigCode); // calls default handler
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
LONG WINAPI win32ExceptionHandler(EXCEPTION_POINTERS *exceptionPointers)
|
|
||||||
{
|
|
||||||
// NOTE(vb): We can report some of the exceptionPointers fields to the user... But this is for windows only
|
|
||||||
if(!didLoggerShutdown)
|
|
||||||
spdlog::error("An exception occured");
|
|
||||||
spdlog::shutdown();
|
|
||||||
didLoggerShutdown = true;
|
|
||||||
return EXCEPTION_CONTINUE_SEARCH;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void setupSignalHandlers()
|
|
||||||
{
|
|
||||||
std::signal(SIGSEGV, signalHandler);
|
|
||||||
std::signal(SIGABRT, signalHandler);
|
|
||||||
std::signal(SIGFPE, signalHandler);
|
|
||||||
std::signal(SIGILL, signalHandler);
|
|
||||||
// std::signal(SIGINT, signalHandler);
|
|
||||||
std::signal(SIGTERM, signalHandler);
|
|
||||||
#ifdef _WIN32
|
|
||||||
// SetConsoleCtrlHandler(handlerRoutine, TRUE);
|
|
||||||
SetUnhandledExceptionFilter(win32ExceptionHandler);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace OpenVulkano
|
namespace OpenVulkano
|
||||||
{
|
{
|
||||||
@@ -84,6 +45,44 @@ namespace OpenVulkano
|
|||||||
Logger::Ptr Logger::PERF = nullptr;
|
Logger::Ptr Logger::PERF = nullptr;
|
||||||
Logger::Ptr Logger::APP = nullptr;
|
Logger::Ptr Logger::APP = nullptr;
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
bool didLoggerShutdown = false;
|
||||||
|
|
||||||
|
void signalHandler(int sigCode)
|
||||||
|
{
|
||||||
|
if(!didLoggerShutdown)
|
||||||
|
spdlog::error("Received signal {}", sigCode);
|
||||||
|
spdlog::shutdown();
|
||||||
|
didLoggerShutdown = true;
|
||||||
|
std::raise(sigCode); // calls default handler
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
LONG WINAPI win32ExceptionHandler(EXCEPTION_POINTERS *exceptionPointers)
|
||||||
|
{
|
||||||
|
// NOTE(vb): We can report some of the exceptionPointers fields to the user... But this is for windows only
|
||||||
|
if(!didLoggerShutdown)
|
||||||
|
spdlog::error("An exception occured");
|
||||||
|
spdlog::shutdown();
|
||||||
|
didLoggerShutdown = true;
|
||||||
|
return EXCEPTION_CONTINUE_SEARCH;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void setupSignalHandlers()
|
||||||
|
{
|
||||||
|
std::signal(SIGSEGV, signalHandler);
|
||||||
|
std::signal(SIGABRT, signalHandler);
|
||||||
|
std::signal(SIGFPE, signalHandler);
|
||||||
|
std::signal(SIGILL, signalHandler);
|
||||||
|
// std::signal(SIGINT, signalHandler);
|
||||||
|
std::signal(SIGTERM, signalHandler);
|
||||||
|
#ifdef _WIN32
|
||||||
|
SetUnhandledExceptionFilter(win32ExceptionHandler);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void Logger::SetupLogger(std::string logFolder, const std::string& logFile)
|
void Logger::SetupLogger(std::string logFolder, const std::string& logFile)
|
||||||
{
|
{
|
||||||
@@ -123,7 +122,7 @@ namespace OpenVulkano
|
|||||||
|
|
||||||
spdlog::flush_every(std::chrono::seconds(5));
|
spdlog::flush_every(std::chrono::seconds(5));
|
||||||
|
|
||||||
::setupSignalHandlers();
|
setupSignalHandlers();
|
||||||
|
|
||||||
MANAGER->info("Logger initialized");
|
MANAGER->info("Logger initialized");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user