Files
helmetc/logger.c
Олег Бородин 9ce556bb6a work in progress
2025-10-19 19:28:06 +02:00

62 lines
1.5 KiB
C

/*
* Copyright 2025 Oleg Borodin <onborodin@gmail.com>
*
*/
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
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");
}