// vim:fileencoding=utf-8:foldmethod=marker #ifndef LOG_H #define LOG_H #include "../os/file/file.h" #include "../base/strings/str8/str8.h" typedef enum { WAPP_LOG_FATAL, WAPP_LOG_CRITICAL, WAPP_LOG_ERROR, WAPP_LOG_WARNING, WAPP_LOG_INFO, WAPP_LOG_DEBUG, COUNT_LOG_LEVEL, } LogLevel; typedef struct { Str8 name; } Logger; void wapp_log_set_level(LogLevel level); void wapp_log_configure(WFile *outlog, WFile *errlog, LogLevel level); Logger wapp_log_make_logger(Str8 name); void wapp_log_debug(const Logger *logger, Str8 msg); void wapp_log_info(const Logger *logger, Str8 msg); void wapp_log_warning(const Logger *logger, Str8 msg); void wapp_log_error(const Logger *logger, Str8 msg); void wapp_log_critical(const Logger *logger, Str8 msg); void wapp_log_fatal(const Logger *logger, Str8 msg); #endif // !LOG_H