mirror of
https://github.com/Maschell/libutils.git
synced 2024-11-06 05:05:08 +01:00
f02d7da869
Remove some features (kernel, function patcher) to be a userland only lib.
50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
#ifndef __LOGGER_H_
|
|
#define __LOGGER_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <string.h>
|
|
|
|
void log_init_();
|
|
//void log_deinit_(void);
|
|
void log_print_(const char *str);
|
|
void log_printf_(const char *format, ...);
|
|
void OSFatal_printf(const char *format, ...);
|
|
|
|
#define __FILENAME_X__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__)
|
|
#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILENAME_X__)
|
|
|
|
#define OSFATAL_FUNCTION_LINE(FMT, ARGS...)do { \
|
|
OSFatal_printf("[%s]%s@L%04d: " FMT "",__FILENAME__,__FUNCTION__, __LINE__, ## ARGS); \
|
|
} while (0)
|
|
|
|
#ifdef __LOGGING__
|
|
|
|
#define log_init() log_init_()
|
|
//#define log_deinit() log_deinit_()
|
|
#define log_print(str) log_print_(str)
|
|
#define log_printf(FMT, ARGS...) log_printf_(FMT, ## ARGS);
|
|
|
|
#define DEBUG_FUNCTION_LINE(FMT, ARGS...)do { \
|
|
log_printf("[%23s]%30s@L%04d: " FMT "",__FILENAME__,__FUNCTION__, __LINE__, ## ARGS); \
|
|
} while (0)
|
|
|
|
|
|
#else
|
|
|
|
#define log_init()
|
|
//#define log_deinit()
|
|
#define log_print(x)
|
|
#define log_printf(x, ...)
|
|
#define DEBUG_FUNCTION_LINE(FMT, ARGS...)
|
|
|
|
#endif //__LOGGING__
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|