diff options
Diffstat (limited to 'src/trace.h')
-rw-r--r-- | src/trace.h | 49 |
1 files changed, 37 insertions, 12 deletions
diff --git a/src/trace.h b/src/trace.h index 220e820..b81e616 100644 --- a/src/trace.h +++ b/src/trace.h @@ -1,26 +1,45 @@ -#define trace(level, ...) vtrace(__FILE__, __func__, __LINE__, level, __VA_ARGS__) -#define debug(...) vtrace(__FILE__, __func__, __LINE__, TraceLevel_DEBUG, __VA_ARGS__) -#define info(...) vtrace(__FILE__, __func__, __LINE__, TraceLevel_INFO, __VA_ARGS__) -#define warning(...) vtrace(__FILE__, __func__, __LINE__, TraceLevel_WARNING, __VA_ARGS__) -#define error(...) vtrace(__FILE__, __func__, __LINE__, TraceLevel_ERROR, __VA_ARGS__) +#define trace(level, ...) tracef(__FILE__, __func__, __LINE__, level, __VA_ARGS__) +#define debug(...) tracef(__FILE__, __func__, __LINE__, TraceLevel_DEBUG, __VA_ARGS__) +#define info(...) tracef(__FILE__, __func__, __LINE__, TraceLevel_INFO, __VA_ARGS__) +#define warning(...) tracef(__FILE__, __func__, __LINE__, TraceLevel_WARNING, __VA_ARGS__) +#define error(...) tracef(__FILE__, __func__, __LINE__, TraceLevel_ERROR, __VA_ARGS__) enum TraceLevel { - TraceLevel_DEBUG = 1, - TraceLevel_INFO = 2, + TraceLevel_NONE = 1, + TraceLevel_ERROR = 2, TraceLevel_WARNING = 3, - TraceLevel_ERROR = 4, - TraceLevel_NONE = 5, + TraceLevel_INFO = 4, + TraceLevel_DEBUG = 5, }; void -set_level(const enum TraceLevel level); +vftracef( + const char *const file, + const char *const function, + const int lineno, + FILE *restrict stream, + const enum TraceLevel level, + const char *restrict format, + va_list args +); + +void +ftracef( + const char *const file, + const char *const function, + const int lineno, + FILE *restrict stream, + const enum TraceLevel level, + const char *restrict format, + ... +); -int -vtrace( +void +tracef( const char *const file, const char *const function, const int lineno, @@ -28,3 +47,9 @@ vtrace( const char *restrict format, ... ); + +void +trace_set_stream(FILE *stream); + +void +trace_set_level(const enum TraceLevel level); |