Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
LoggerMacro.h
Go to the documentation of this file.
1
6
7
8#pragma once
9#ifndef ECS_LOGGER_MACRO_H__
10#define ECS_LOGGER_MACRO_H__
11
12//#define ECS_DISABLE_LOGGING
13
14#if !defined(ECS_DISABLE_LOGGING)
15 #define DECLARE_LOGGER Log::Logger* LOGGER;
16 #define DECLARE_STATIC_LOGGER static Log::Logger* LOGGER;
17
18 #define DEFINE_LOGGER(name) LOGGER = ECS::Log::Internal::GetLogger(name)
19 #define DEFINE_STATIC_LOGGER(clazz, name) Log::Logger* clazz::LOGGER = ECS::Log::Internal::GetLogger(name)
20 #define DEFINE_STATIC_LOGGER_TEMPLATE(clazz, T, name) template<class T> Log::Logger* clazz<T>::LOGGER = ECS::Log::Internal::GetLogger(name)
21
22
23 #define LOG_TRACE(format, ...) LOGGER->LogTrace(format, ##__VA_ARGS__)
24 #define LOG_DEBUG(format, ...) LOGGER->LogDebug(format, ##__VA_ARGS__)
25 #define LOG_INFO(format, ...) LOGGER->LogInfo(format, ##__VA_ARGS__)
26 #define LOG_WARNING(format, ...) LOGGER->LogWarning(format, ##__VA_ARGS__)
27 #define LOG_ERROR(format, ...) LOGGER->LogError(format, ##__VA_ARGS__)
28 #define LOG_FATAL(format, ...) LOGGER->LogFatal(format, ##__VA_ARGS__)
29#else
30
31 #define DECLARE_LOGGER
32 #define DECLARE_STATIC_LOGGER
33
34 #define DEFINE_LOGGER(name) static_assert(true, "")
35 #define DEFINE_STATIC_LOGGER(class, name) static_assert(true, "")
36 #define DEFINE_STATIC_LOGGER_TEMPLATE(class, T, name) static_assert(true, "")
37
38 #define LOG_TRACE(format, ...) static_assert(true, "")
39 #define LOG_DEBUG(format, ...) static_assert(true, "")
40 #define LOG_INFO(format, ...) static_assert(true, "")
41 #define LOG_WARNING(format, ...) static_assert(true, "")
42 #define LOG_ERROR(format, ...) static_assert(true, "")
43 #define LOG_FATAL(format, ...) static_assert(true, "")
44#endif
45
46#endif // ECS_LOGGER_MACRO_H__