25 lines
717 B
C++
25 lines
717 B
C++
#include "dbg.hpp"
|
|
|
|
#define vargs_call2(f, x, y) \
|
|
va_list argp; \
|
|
va_start(argp, y); \
|
|
f(x, y, argp); \
|
|
va_end(argp);
|
|
|
|
namespace dbg {
|
|
static void
|
|
log(const char *level, const char *msg, ...)
|
|
{
|
|
va_list argp;
|
|
va_start(argp, msg);
|
|
fprintf(stderr, "[%s] ", level);
|
|
vfprintf(stderr, msg, argp);
|
|
fputc('\n', stderr);
|
|
va_end(argp);
|
|
}
|
|
|
|
void info(const char *s, ...) { vargs_call2(log, "INFO", s); }
|
|
void warn(const char *s, ...) { vargs_call2(log, "WARN", s); }
|
|
void fatal(const char *s, ...) { vargs_call2(log, "FATL", s); }
|
|
}
|