15void DTTR_Log(
int level,
const char *file,
int line,
const char *
fmt, ...);
20#define DTTR_LOG_AT(level, ...) \
22 if (DTTR_Log_IsEnabled(level)) { \
23 DTTR_Log_Unchecked(level, __FILE__, __LINE__, __VA_ARGS__); \
27#define DTTR_LOG_TRACE(...) DTTR_LOG_AT(LOG_TRACE, __VA_ARGS__)
28#define DTTR_LOG_DEBUG(...) DTTR_LOG_AT(LOG_DEBUG, __VA_ARGS__)
29#define DTTR_LOG_INFO(...) DTTR_LOG_AT(LOG_INFO, __VA_ARGS__)
30#define DTTR_LOG_WARN(...) DTTR_LOG_AT(LOG_WARN, __VA_ARGS__)
31#define DTTR_LOG_ERROR(...) DTTR_LOG_AT(LOG_ERROR, __VA_ARGS__)
32#define DTTR_LOG_FATAL(...) DTTR_LOG_AT(LOG_FATAL, __VA_ARGS__)
void DTTR_Log(int level, const char *file, int line, const char *fmt,...)
bool DTTR_Log_IsEnabled(int level)
void DTTR_Log_SetLevel(int level)
void DTTR_Log_Unchecked(int level, const char *file, int line, const char *fmt,...)
int DTTR_Log_AddFP(FILE *fp, int level)