* coroutines * string modified: * http: fixed a couple of bugs * strutils: renamed to os, it is now a header for some generic platform-indipendent code * tracelog: added option to not print newline at the end of a message + bug fixes
31 lines
No EOL
891 B
C
31 lines
No EOL
891 B
C
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Define any of this to turn on the option
|
|
* -> TLOG_NO_COLOURS: print without using colours
|
|
* -> TLOG_VS: print to visual studio console, also turns on TLOG_NO_COLOURS
|
|
* -> TLOG_DONT_EXIT_ON_FATAL: don't call 'exit(1)' when using LogFatal
|
|
*/
|
|
|
|
#include <stdbool.h>
|
|
|
|
typedef enum {
|
|
LogAll, LogTrace, LogDebug, LogInfo, LogWarning, LogError, LogFatal
|
|
} LogLevel;
|
|
|
|
void traceLog(LogLevel level, const char *fmt, ...);
|
|
void traceUseNewline(bool use_newline);
|
|
|
|
#define trace(...) traceLog(LogTrace, __VA_ARGS__)
|
|
#define debug(...) traceLog(LogDebug, __VA_ARGS__)
|
|
#define info(...) traceLog(LogInfo, __VA_ARGS__)
|
|
#define warn(...) traceLog(LogWarning, __VA_ARGS__)
|
|
#define err(...) traceLog(LogError, __VA_ARGS__)
|
|
#define fatal(...) traceLog(LogFatal, __VA_ARGS__)
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif |