1 | // This file is a part of Framsticks SDK. http://www.framsticks.com/ |
---|
2 | // Copyright (C) 1999-2019 Maciej Komosinski and Szymon Ulatowski. |
---|
3 | // See LICENSE.txt for details. |
---|
4 | |
---|
5 | #ifndef _COMMON_LOG_H_ |
---|
6 | #define _COMMON_LOG_H_ |
---|
7 | |
---|
8 | #include <stdarg.h> |
---|
9 | |
---|
10 | extern const char* LOG_LEVEL_ARRAY[]; |
---|
11 | #define LOG_FORMAT "%s%s.%s: %s" |
---|
12 | #define LOG_MULTILINE_CONTINUATION "..." |
---|
13 | |
---|
14 | void logPrintf(const char *obj, const char *method, int level, const char *msgf, ...); |
---|
15 | void logPrintf_va(const char *obj, const char *method, int level, const char *msgf, va_list va); //a different name than logPrintf - otherwise the compiler could confuse the "string" parameter with va_list and could call the wrong function |
---|
16 | void log_printf(const char *msgf, ...); //a shorthand for printf (a different name again to avoid the risk of confusion with the two functions above. This would be unlikely but possible when the argument types would match) |
---|
17 | void logMessage(const char *obj, const char *method, int level, const char *msg); |
---|
18 | const char* logLevelName(int level); |
---|
19 | |
---|
20 | |
---|
21 | //level (importance) of a message |
---|
22 | #define LOG_MIN LOG_DEBUG |
---|
23 | #define LOG_DEBUG -1 //debugging information, not needed for final users |
---|
24 | #define LOG_INFO 0 //information |
---|
25 | #define LOG_WARN 1 //warning or corrected error |
---|
26 | #define LOG_ERROR 2 //uncorrected error, can cause malfunction |
---|
27 | #define LOG_CRITICAL 3 //serious error, causes side effects. User should save what can be saved and restart the application |
---|
28 | #define LOG_MAX LOG_CRITICAL |
---|
29 | |
---|
30 | #endif |
---|