// 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 { WP_LOG_LEVEL_FATAL, WP_LOG_LEVEL_CRITICAL, WP_LOG_LEVEL_ERROR, WP_LOG_LEVEL_WARNING, WP_LOG_LEVEL_INFO, WP_LOG_LEVEL_DEBUG, COUNT_LOG_LEVEL, } LogLevel; typedef struct { Str8 name; } WpLogger; void wpLogSetLevel(LogLevel level); void wpLogConfigure(WFile *outlog, WFile *errlog, LogLevel level); WpLogger wpLogMakeLogger(Str8 name); void wpLogDebug(const WpLogger *logger, Str8 msg); void wpLogInfo(const WpLogger *logger, Str8 msg); void wpLogWarning(const WpLogger *logger, Str8 msg); void wpLogError(const WpLogger *logger, Str8 msg); void wpLogCritical(const WpLogger *logger, Str8 msg); void wpLogFatal(const WpLogger *logger, Str8 msg); #endif // !LOG_H