Update logger

This commit is contained in:
2020-12-05 14:13:12 +01:00
parent 01fd1c7aaf
commit 96602df23f
2 changed files with 27 additions and 22 deletions

View File

@@ -23,14 +23,15 @@ namespace openVulkanoCpp
std::vector<spdlog::sink_ptr> Logger::SINKS;
std::vector<std::weak_ptr<spdlog::logger>> Logger::LOGGERS;
std::shared_ptr<spdlog::logger> Logger::WINDOW = nullptr;
std::shared_ptr<spdlog::logger> Logger::MANAGER = nullptr;
std::shared_ptr<spdlog::logger> Logger::RENDER = nullptr;
std::shared_ptr<spdlog::logger> Logger::PHYSIC = nullptr;
std::shared_ptr<spdlog::logger> Logger::AUDIO = nullptr;
std::shared_ptr<spdlog::logger> Logger::DATA = nullptr;
std::shared_ptr<spdlog::logger> Logger::SCENE = nullptr;
std::shared_ptr<spdlog::logger> Logger::INPUT = nullptr;
Logger::Ptr Logger::WINDOW = nullptr;
Logger::Ptr Logger::MANAGER = nullptr;
Logger::Ptr Logger::RENDER = nullptr;
Logger::Ptr Logger::PHYSIC = nullptr;
Logger::Ptr Logger::AUDIO = nullptr;
Logger::Ptr Logger::DATA = nullptr;
Logger::Ptr Logger::SCENE = nullptr;
Logger::Ptr Logger::INPUT = nullptr;
Logger::Ptr Logger::FILESYS = nullptr;
void Logger::SetupLogger(const std::string& logFolder, const std::string& logFile)
{
@@ -38,8 +39,8 @@ namespace openVulkanoCpp
try
{
try
{ //TODO allow log files in folders
SINKS.push_back(std::make_shared<spdlog::sinks::rotating_file_sink_mt>(logFile, MAX_LOG_FILE_SIZE, MAX_LOG_FILE_COUNT, true));
{
SINKS.push_back(std::make_shared<spdlog::sinks::rotating_file_sink_mt>(logFolder + "/" + logFile, MAX_LOG_FILE_SIZE, MAX_LOG_FILE_COUNT, true));
}
catch (const spdlog::spdlog_ex& e)
{
@@ -62,6 +63,7 @@ namespace openVulkanoCpp
DATA = CreateLogger("data");
SCENE = CreateLogger("scene");
INPUT = CreateLogger("input");
FILESYS = CreateLogger("filesys");
spdlog::flush_every(std::chrono::seconds(5));
@@ -73,7 +75,7 @@ namespace openVulkanoCpp
}
}
std::shared_ptr<spdlog::logger> Logger::CreateLogger(const std::string& name, const bool reg)
Logger::Ptr Logger::CreateLogger(const std::string& name, const bool reg)
{
auto logger = std::make_shared<spdlog::logger>(name, SINKS.begin(), SINKS.end());
if (reg) spdlog::register_logger(logger);
@@ -91,7 +93,7 @@ namespace openVulkanoCpp
return logger;
}
std::shared_ptr<spdlog::logger> Logger::GetLogger(const std::string& name)
Logger::Ptr Logger::GetLogger(const std::string& name)
{
return spdlog::get(name);
}

View File

@@ -19,14 +19,17 @@ namespace openVulkanoCpp
static std::vector<std::weak_ptr<spdlog::logger>> LOGGERS;
public:
static std::shared_ptr<spdlog::logger> WINDOW;
static std::shared_ptr<spdlog::logger> MANAGER;
static std::shared_ptr<spdlog::logger> RENDER;
static std::shared_ptr<spdlog::logger> PHYSIC;
static std::shared_ptr<spdlog::logger> AUDIO;
static std::shared_ptr<spdlog::logger> DATA;
static std::shared_ptr<spdlog::logger> SCENE;
static std::shared_ptr<spdlog::logger> INPUT;
typedef std::shared_ptr<spdlog::logger> Ptr;
static Ptr WINDOW;
static Ptr MANAGER;
static Ptr RENDER;
static Ptr PHYSIC;
static Ptr AUDIO;
static Ptr DATA;
static Ptr SCENE;
static Ptr INPUT;
static Ptr FILESYS;
static void SetupLogger(const std::string& logFolder = "logs", const std::string& logFile = "openVulkano.log");
@@ -36,9 +39,9 @@ namespace openVulkanoCpp
* \param reg If set to true the logger can be accessed again with Logger::GetLogger(name)
* \return The created logger
*/
static std::shared_ptr<spdlog::logger> CreateLogger(const std::string& name, bool reg = true);
static Ptr CreateLogger(const std::string& name, bool reg = true);
static std::shared_ptr<spdlog::logger> GetLogger(const std::string& name);
static Ptr GetLogger(const std::string& name);
static void RegisterSink(const spdlog::sink_ptr& newSink);
};