38bool PrintFile(FILE* stream,
const char *formatstring, ... ) {
41 va_start(args, formatstring);
42 char res = fprintf(stream, formatstring, args);
47bool PrintVerbose(
unsigned char subject,
unsigned char level,
const char *formatstring, ... ) {
52 va_start(args, formatstring);
53 res =
PrintFile(stdout, formatstring, args);
59bool PrintError(
unsigned char level,
const char *formatstring, ... ) {
64 va_start(args, formatstring);
65 res =
PrintFile(stderr, formatstring, args);
71bool PrintDebug(
unsigned char subject,
unsigned char level,
const char *formatstring, ... ) {
76 va_start(args, formatstring);
77 res =
PrintFile(stdout, formatstring, args);
Levelled console logging: verbose, debug and error printf-style output with per-subject filtering.
#define CONSOLE_COUNT
Number of defined subjects (array sizes below).
bool SetDebugLevel(unsigned char level)
Set the debug level for all subjects at once.
bool PrintError(unsigned char level, const char *formatstring,...)
Print an error message if enabled.
bool SetVerboseLevel(unsigned char level)
Set the verbose level for all subjects at once.
bool PrintVerbose(unsigned char subject, unsigned char level, const char *formatstring,...)
Print a verbose (informational) message if enabled for the subject.
static unsigned char ErrorLevel
Current error level threshold.
bool PrintDebug(unsigned char subject, unsigned char level, const char *formatstring,...)
Print a debug message if enabled for the subject.
static unsigned char VerboseLevel[5]
Current verbose level per subject (index = subject-1).
bool PrintFile(FILE *stream, const char *formatstring,...)
Print a printf-style formatted string to an arbitrary stdio stream.
bool SetErrorLevel(unsigned char level)
Set the global error output level.
static unsigned char DebugLevel[5]
Current debug level per subject (index = subject-1).