summaryrefslogtreecommitdiff
path: root/libraries/nonstd.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/nonstd.h')
-rw-r--r--libraries/nonstd.h87
1 files changed, 2 insertions, 85 deletions
diff --git a/libraries/nonstd.h b/libraries/nonstd.h
index 531834d..f1848d3 100644
--- a/libraries/nonstd.h
+++ b/libraries/nonstd.h
@@ -77,12 +77,12 @@ NONSTD_DEF void *safe_realloc(void *ptr, size_t item_size, size_t count);
#define UNUSED(value) (void)(value)
#define TODO(message) \
do { \
- fprintf(stderr, "%s:%d: TODO: %s\n", __FILE__, __LINE__, message); \
+ TraceLog(LOG_ERROR, "%s:%d: TODO: %s", __FILE__, __LINE__, message); \
abort(); \
} while (0)
#define UNREACHABLE(message) \
do { \
- fprintf(stderr, "%s:%d: UNREACHABLE: %s\n", __FILE__, __LINE__, message); \
+ TraceLog(LOG_ERROR, "%s:%d: UNREACHABLE: %s", __FILE__, __LINE__, message); \
abort(); \
} while (0)
@@ -315,29 +315,6 @@ NONSTD_DEF stringb read_entire_file_sb(const char *filepath);
NONSTD_DEF int write_file_sv(const char *filepath, stringv sv);
NONSTD_DEF int write_file_sb(const char *filepath, const stringb *sb);
-// Logging
-typedef enum {
- LOG_ERROR,
- LOG_WARN,
- LOG_INFO,
- LOG_DEBUG,
-} LogLevel;
-
-NONSTD_DEF void set_log_level(LogLevel level);
-NONSTD_DEF LogLevel get_log_level_from_env(void);
-NONSTD_DEF void log_message(FILE *stream, LogLevel level, const char *format, ...);
-
-#define LOG_INFO_MSG(...) log_message(stdout, LOG_INFO, __VA_ARGS__)
-#define LOG_DEBUG_MSG(...) log_message(stdout, LOG_DEBUG, __VA_ARGS__)
-#define LOG_WARN_MSG(...) log_message(stderr, LOG_WARN, __VA_ARGS__)
-#define LOG_ERROR_MSG(...) log_message(stderr, LOG_ERROR, __VA_ARGS__)
-
-#define COLOR_RESET "\033[0m"
-#define COLOR_INFO "\033[32m"
-#define COLOR_DEBUG "\033[36m"
-#define COLOR_WARNING "\033[33m"
-#define COLOR_ERROR "\033[31m"
-
#ifdef NONSTD_IMPLEMENTATION
NONSTD_DEF void *safe_malloc(size_t item_size, size_t count) {
@@ -587,66 +564,6 @@ NONSTD_DEF int write_file_sb(const char *filepath, const stringb *sb) {
return write_entire_file(filepath, sb->data, sb->length);
}
-// Logging Implementation
-
-static LogLevel max_level = LOG_INFO;
-
-static const char *level_strings[] = {
- "ERROR",
- "WARN",
- "INFO",
- "DEBUG",
-};
-
-static const char *level_colors[] = {
- COLOR_ERROR,
- COLOR_WARNING,
- COLOR_INFO,
- COLOR_DEBUG,
-};
-
-NONSTD_DEF void set_log_level(LogLevel level) {
- max_level = level;
-}
-
-NONSTD_DEF LogLevel get_log_level_from_env(void) {
- const char *env = getenv("LOG_LEVEL");
- if (env) {
- int level = atoi(env);
- if (level >= 0 && level <= 3) {
- return (LogLevel)level;
- }
- }
-
- return max_level;
-}
-
-NONSTD_DEF void log_message(FILE *stream, LogLevel level, const char *format, ...) {
- if (max_level < level)
- return;
-
- struct timeval tv;
- gettimeofday(&tv, NULL);
- struct tm *tm_info = localtime(&tv.tv_sec);
-
- char time_str[24];
- strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", tm_info);
-
- const char *color = isatty(fileno(stream)) ? level_colors[level] : "";
- const char *reset = isatty(fileno(stream)) ? COLOR_RESET : "";
-
- const char *log_format = "%s[%s.%03d] [%-5s] ";
- fprintf(stream, log_format, color, time_str, (int)(tv.tv_usec / 1000), level_strings[level]);
-
- va_list args;
- va_start(args, format);
- vfprintf(stream, format, args);
- va_end(args);
-
- fprintf(stream, "%s\n", reset);
- fflush(stream);
-}
-
// PPM Image Implementation
NONSTD_DEF Canvas ppm_init(u32 width, u32 height) {