Hana
Loading...
Searching...
No Matches
Log.h
1#pragma once
2
3#include "Hana/Core/Core.h"
4
5#include <spdlog/spdlog.h>
6#include <spdlog/fmt/ostr.h>
7
8namespace Hana
9{
10 class Log
11 {
12 public:
13 static void Init();
14
15 inline static Ref<spdlog::logger>& GetCoreLogger() { return s_CoreLogger; }
16 inline static Ref<spdlog::logger>& GetClientLogger() { return s_ClientLogger; }
17
18 private:
19 static Ref<spdlog::logger> s_CoreLogger;
20 static Ref<spdlog::logger> s_ClientLogger;
21 };
22}
23
24// Core log macros
25#define HN_CORE_TRACE(...) ::Hana::Log::GetCoreLogger()->trace(__VA_ARGS__)
26#define HN_CORE_INFO(...) ::Hana::Log::GetCoreLogger()->info(__VA_ARGS__)
27#define HN_CORE_WARN(...) ::Hana::Log::GetCoreLogger()->warn(__VA_ARGS__)
28#define HN_CORE_ERROR(...) ::Hana::Log::GetCoreLogger()->error(__VA_ARGS__)
29#define HN_CORE_CRITICAL(...) ::Hana::Log::GetCoreLogger()->critical(__VA_ARGS__)
30
31// Client log macros
32#define HN_TRACE(...) ::Hana::Log::GetClientLogger()->trace(__VA_ARGS__)
33#define HN_INFO(...) ::Hana::Log::GetClientLogger()->info(__VA_ARGS__)
34#define HN_WARN(...) ::Hana::Log::GetClientLogger()->warn(__VA_ARGS__)
35#define HN_ERROR(...) ::Hana::Log::GetClientLogger()->error(__VA_ARGS__)
36#define HN_CRITICAL(...) ::Hana::Log::GetClientLogger()->critical(__VA_ARGS__)
Definition Log.h:11