/* * Copyright 2025 Oleg Borodin * */ #include #include #include #include #include #include typedef struct { FILE* logout; } logger_t; static logger_t logger; int logger_init(void) { //int fd = fileno(stdout); //int newfd = dup(fd); //logger.logout = fdopen(newfd, "w"); logger.logout = stdout; return 0; } void logger_dprintf(char* message, ...) { fprintf(logger.logout, "debug: "); va_list argptr; va_start(argptr, message); vfprintf(logger.logout, message, argptr); va_end(argptr); fprintf(logger.logout, "\n"); } void logger_iprintf(char* message, ...) { fprintf(logger.logout, "warning: "); va_list argptr; va_start(argptr, message); vfprintf(logger.logout, message, argptr); va_end(argptr); fprintf(logger.logout, "\n"); } void logger_wprintf(char* message, ...) { fprintf(logger.logout, "warning: "); va_list argptr; va_start(argptr, message); vfprintf(logger.logout, message, argptr); va_end(argptr); fprintf(logger.logout, "\n"); } void logger_eprintf(char* message, ...) { fprintf(logger.logout, "error: "); va_list argptr; va_start(argptr, message); vfprintf(logger.logout, message, argptr); va_end(argptr); fprintf(logger.logout, "\n"); }