From 793b1dd142759b41fc06129423b53a4aeac35321 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valentin=20Mogu=C3=A9rou?= Date: Tue, 16 Apr 2024 00:39:53 +0200 Subject: [PATCH] passage en global --- logger.c | 51 ++++++++++++++++++++++++++------------------------- logger.h | 21 ++++++++++++--------- 2 files changed, 38 insertions(+), 34 deletions(-) diff --git a/logger.c b/logger.c index c3d409b..dcc921e 100644 --- a/logger.c +++ b/logger.c @@ -6,9 +6,7 @@ #include "logger.h" -Logger create_logger(char* logpath, LogLevel level) { - Logger logger = malloc(sizeof(*logger)); - +void create_logger(char* logpath, LogLevel level) { logger->t0 = clock(); logger->level = level; @@ -18,17 +16,15 @@ Logger create_logger(char* logpath, LogLevel level) { } else logger->logfile = NULL; - - return logger; } -void destroy_logger(Logger logger) { +void destroy_logger() { if (logger->logfile != NULL) fclose(logger->logfile); free(logger); } -void logprint(Logger logger, LogLevel level, char* str, va_list args) +void logprint(LogLevel level, char* str, va_list args) { clock_t t = clock(); @@ -76,69 +72,74 @@ void logprint(Logger logger, LogLevel level, char* str, va_list args) } -void panic(Logger logger, char *str, ...) +void panic(char *str, ...) { va_list args; va_start(args, str); - logprint(logger, PANIC, str, args); + logprint(PANIC, str, args); va_end(args); } -void fatal(Logger logger, char *str, ...) +void fatal(char *str, ...) { va_list args; va_start(args, str); - logprint(logger, FATAL, str, args); + logprint(FATAL, str, args); va_end(args); } -void error(Logger logger, char *str, ...) +void error(char *str, ...) { va_list args; va_start(args, str); - logprint(logger, ERROR, str, args); + logprint(ERROR, str, args); va_end(args); } -void warn(Logger logger, char *str, ...) +void warn(char *str, ...) { va_list args; va_start(args, str); - logprint(logger, WARN, str, args); + logprint(WARN, str, args); va_end(args); } -void info(Logger logger, char *str, ...) +void info(char *str, ...) { va_list args; va_start(args, str); - logprint(logger, INFO, str, args); + logprint(INFO, str, args); va_end(args); } -void debug(Logger logger, char *str, ...) +void debug(char *str, ...) { va_list args; va_start(args, str); - logprint(logger, DEBUG, str, args); + logprint(DEBUG, str, args); va_end(args); } -void trace(Logger logger, char *str, ...) +void trace(char *str, ...) { va_list args; va_start(args, str); - logprint(logger, TRACE, str, args); + logprint(TRACE, str, args); va_end(args); } int main() { - Logger logger = create_logger("logger.log", WARN); + create_logger("logger.log", TRACE); - warn(logger, "Ceci est un warn de test %f", 1.6*2.5); - trace(logger, "Ceci est un trace de test %f", 1.6*2.5); + info("Je me lève."); + trace("Il y a un oiseau derrière la fenêtre."); + info("Je sors de ma chambre. Il fait %d degrés.", 18); + warn("Je trébuche."); + info("Je descends les escaliers"); + info("Je suis dans la rue"); + panic("Je meurs"); - destroy_logger(logger); + destroy_logger(); } diff --git a/logger.h b/logger.h index 80c956a..a468486 100644 --- a/logger.h +++ b/logger.h @@ -25,15 +25,18 @@ struct Logger { typedef struct Logger* Logger; -Logger create_logger(char *logpath, LogLevel level); -void destroy_logger(Logger logger); +extern Logger logger; -void panic(Logger logger, char *str, ...); -void fatal(Logger logger, char *str, ...); -void error(Logger logger, char *str, ...); -void warn(Logger logger, char *str, ...); -void info(Logger logger, char *str, ...); -void debug(Logger logger, char *str, ...); -void trace(Logger logger, char *str, ...); +void create_logger(char *logpath, LogLevel level); +void destroy_logger(); + + +void panic(char *str, ...); +void fatal(char *str, ...); +void error(char *str, ...); +void warn(char *str, ...); +void info(char *str, ...); +void debug(char *str, ...); +void trace(char *str, ...); #endif