KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
Log.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "spdlog/spdlog.h"
13
14#include "spdlog/sinks/stdout_color_sinks.h"
15#include "spdlog/fmt/ostr.h"
16
17namespace Karma
18{
32 {
33 public:
45 static void Init();
46
52 inline static std::shared_ptr<spdlog::logger>& GetCoreLogger() { return s_CoreLogger; }
53
59 inline static std::shared_ptr<spdlog::logger>& GetClientLogger() { return s_ClientLogger; }
60
61 private:
62 static std::shared_ptr<spdlog::logger> s_CoreLogger;
63 static std::shared_ptr<spdlog::logger> s_ClientLogger;
64 };
65}
66
67// Core log macros
73#define KR_CORE_ERROR(...) ::Karma::Log::GetCoreLogger()->error(__VA_ARGS__)
79#define KR_CORE_WARN(...) ::Karma::Log::GetCoreLogger()->warn(__VA_ARGS__)
85#define KR_CORE_INFO(...) ::Karma::Log::GetCoreLogger()->info(__VA_ARGS__)
91#define KR_CORE_TRACE(...) ::Karma::Log::GetCoreLogger()->trace(__VA_ARGS__)
97#define KR_CORE_FATAL(...) ::Karma::Log::GetCoreLogger()->fatal(__VA_ARGS__)
98
99// Client log macros
105#define KR_ERROR(...) ::Karma::Log::GetClientLogger()->error(__VA_ARGS__)
111#define KR_WARN(...) ::Karma::Log::GetClientLogger()->warn(__VA_ARGS__)
117#define KR_INFO(...) ::Karma::Log::GetClientLogger()->info(__VA_ARGS__)
123#define KR_TRACE(...) ::Karma::Log::GetClientLogger()->trace(__VA_ARGS__)
129#define KR_FATAL(...) ::Karma::Log::GetClientLogger()->fatal(__VA_ARGS__)
#define KARMA_API
Defining Karma's API macro for storage class information.
Definition Core.h:41
Karma's logging class with the logger like so.
Definition Log.h:32
static std::shared_ptr< spdlog::logger > & GetClientLogger()
Getter for the Client logger.
Definition Log.h:59
static std::shared_ptr< spdlog::logger > & GetCoreLogger()
Getter for the Core logger.
Definition Log.h:52
static void Init()
Initializes the logging class.
Definition Log.cpp:8