#include <stdio.h>#include "website.h" struct Debug_Output { FILE *output; int min_level; int max_level; String name;}; Debug_Output info;Debug_Output error; void init_logger() { info.output = stdout; info.min_level = info.max_level = 0; info.name.assign("info", 4); error.output = stderr; error.min_level = info.max_level = 0; error.name.assign("error", 5);} static void log(Debug_Output& dbg, const char *fmt, va_list args) { String out; write_formatted_string(out, fmt, args); fwrite(out.data(), 1, out.len, dbg.output); if (out.data()[out.len-1] != '\n') fputc('\n', dbg.output);} void log_info(const char *fmt, ...) { va_list args; va_start(args, fmt); log(info, fmt, args); va_end(args);} void log_error(const char *fmt, ...) { va_list args; va_start(args, fmt); log(error, fmt, args); va_end(args);}