R-Type
2
Doom but in better
Loading...
Searching...
No Matches
LogMacros.hpp
Go to the documentation of this file.
1
/*
2
** EPITECH PROJECT, 2024
3
** rtype (Workspace)
4
** File description:
5
** LogMacros.hpp
6
*/
7
8
35
#ifndef _LOG_MACROS
36
#define _LOG_MACROS
37
38
#include "
Log.hpp
"
39
40
#define COLOUR_LOG_DISABLED Logging::isRedirected()
41
42
// Core log level definitions
43
#ifndef _LOG_CORE
44
#define _LOG_CORE
45
#define _DEBUG_STR " DEBUG: "
46
#define _INFO_STR " INFO: "
47
#define _SUCCESS_STR " SUCCESS: "
48
#define _WARNING_STR " WARNING: "
49
#define _ERROR_STR " ERROR: "
50
#define _CRITICAL_STR " CRITICAL: "
51
#endif
52
53
// Color definitions for supported platforms
54
#ifndef _LOG_COLOURS
55
#define _LOG_COLOURS
56
#ifndef NO_LOG_COLOURS
57
#if defined(__linux__) || defined(MACOSX) || defined(__APPLE__) || defined(__MACH__)
61
#define BACKGROUND_COL (COLOUR_LOG_DISABLED ? "" : "\033[48;5;16m")
62
#define DEFAULT_FG (COLOUR_LOG_DISABLED ? "" : "\033[38;5;15m")
63
#define RESET_COL (COLOUR_LOG_DISABLED ? "" : "\033[0m")
64
#define DEBUG_COL (COLOUR_LOG_DISABLED ? "" : "\033[38;5;200m")
65
#define SUCCESS_COL (COLOUR_LOG_DISABLED ? "" : "\033[38;5;10m")
66
#define INFO_COL (COLOUR_LOG_DISABLED ? "" : "\033[38;5;14m")
67
#define WARNING_COL (COLOUR_LOG_DISABLED ? "" : "\033[38;5;11m")
68
#define ERROR_COL (COLOUR_LOG_DISABLED ? "" : "\033[38;5;9m")
69
#define CRITICAL_COL (COLOUR_LOG_DISABLED ? "" : "\033[1m\033[38;5;232m\033[48;5;9m")
70
#else
74
#define BACKGROUND_COL ""
75
#define DEFAULT_FG ""
76
#define RESET_COL ""
77
#define DEBUG_COL ""
78
#define SUCCESS_COL ""
79
#define INFO_COL ""
80
#define WARNING_COL ""
81
#define ERROR_COL ""
82
#define CRITICAL_COL ""
83
#endif
84
#else
88
#define BACKGROUND_COL ""
89
#define DEFAULT_FG ""
90
#define RESET_COL ""
91
#define DEBUG_COL ""
92
#define SUCCESS_COL ""
93
#define INFO_COL ""
94
#define WARNING_COL ""
95
#define ERROR_COL ""
96
#define CRITICAL_COL ""
97
#endif
98
#endif
99
104
#ifndef _FUNC_NAME
105
#if defined(__GNUG__) || defined(__GNUC__) || defined(__GNUC_MINOR__) || defined(__GNUC_PATCHLEVEL__)
106
#define _FUNC_NAME __PRETTY_FUNCTION__
107
#else
108
#define _FUNC_NAME "Function name: (" << __func__ << ')'
109
#endif
110
#endif
111
115
#ifndef _MY_FILE_GETTER
116
#define _MY_FILE_GETTER " " << __FILE__ << ":" << __LINE__ << " " << _FUNC_NAME << ": "
117
#endif
118
122
#ifndef _MY_COLOURED_FILE_GETTER
123
#define _MY_COLOURED_FILE_GETTER BACKGROUND_COL << DEFAULT_FG << " " << SUCCESS_COL << __FILE__ << DEFAULT_FG << ":" << INFO_COL << __LINE__ << DEFAULT_FG << " " << WARNING_COL << _FUNC_NAME << DEFAULT_FG << ": "
124
#endif
125
133
#ifndef _LOG_LEVELS
134
#define _LOG_LEVELS
135
#define LOG_DEBUG Logging::Log::getInstance(true) << _DEBUG_STR
136
#define LOG_SUCCESS Logging::Log::getInstance(false) << _SUCCESS_STR
137
#define LOG_INFO Logging::Log::getInstance(false) << _INFO_STR
138
#define LOG_WARNING Logging::Log::getInstance(false) << _WARNING_STR
139
#define LOG_ERROR Logging::Log::getInstance(false) << _ERROR_STR
140
#define LOG_CRITICAL Logging::Log::getInstance(false) << _CRITICAL_STR
141
#endif
151
#ifndef _PRECISE_LOG
152
#define _PRECISE_LOG
153
#define PRECISE_DEBUG Logging::Log::getInstance(true) << _DEBUG_STR << _MY_FILE_GETTER
154
#define PRECISE_SUCCESS Logging::Log::getInstance(false) << _SUCCESS_STR << _MY_FILE_GETTER
155
#define PRECISE_INFO Logging::Log::getInstance(false) << _INFO_STR << _MY_FILE_GETTER
156
#define PRECISE_WARNING Logging::Log::getInstance(false) << _WARNING_STR << _MY_FILE_GETTER
157
#define PRECISE_ERROR Logging::Log::getInstance(false) << _ERROR_STR << _MY_FILE_GETTER
158
#define PRECISE_CRITICAL Logging::Log::getInstance(false) << _CRITICAL_STR << _MY_FILE_GETTER
159
#endif
169
#ifndef _COLOUR_LOG
170
#define _COLOUR_LOG
171
#define COLOUR_DEBUG Logging::Log::getInstance(true) << RESET_COL << BACKGROUND_COL << DEBUG_COL << _DEBUG_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG
172
#define COLOUR_SUCCESS Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << SUCCESS_COL << _SUCCESS_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG
173
#define COLOUR_INFO Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << INFO_COL << _INFO_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG
174
#define COLOUR_WARNING Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << WARNING_COL << _WARNING_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG
175
#define COLOUR_ERROR Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << ERROR_COL << _ERROR_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG
176
#define COLOUR_CRITICAL Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << CRITICAL_COL << _CRITICAL_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG
177
#endif
187
#ifndef _PRETTY_LOG
188
#define _PRETTY_LOG
189
#define PRETTY_DEBUG Logging::Log::getInstance(true) << RESET_COL << BACKGROUND_COL << DEBUG_COL << _DEBUG_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG << _MY_COLOURED_FILE_GETTER
190
#define PRETTY_SUCCESS Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << SUCCESS_COL << _SUCCESS_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG << _MY_COLOURED_FILE_GETTER
191
#define PRETTY_INFO Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << INFO_COL << _INFO_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG << _MY_COLOURED_FILE_GETTER
192
#define PRETTY_WARNING Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << WARNING_COL << _WARNING_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG << _MY_COLOURED_FILE_GETTER
193
#define PRETTY_ERROR Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << ERROR_COL << _ERROR_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG << _MY_COLOURED_FILE_GETTER
194
#define PRETTY_CRITICAL Logging::Log::getInstance(false) << RESET_COL << BACKGROUND_COL << CRITICAL_COL << _CRITICAL_STR << RESET_COL << BACKGROUND_COL << DEFAULT_FG << _MY_COLOURED_FILE_GETTER
195
#endif
198
#endif
// _LOG_MACROS
Log.hpp
This is the file in charge of containing the Log class (the one in charge of outputing info only when...
gui
include
LogMacros.hpp
Generated on Thu Feb 6 2025 22:34:21 for R-Type by
1.12.0