passage en global

This commit is contained in:
Valentin Moguérou 2024-04-16 00:39:53 +02:00
parent bda435c105
commit 793b1dd142
2 changed files with 38 additions and 34 deletions

View File

@ -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();
}

View File

@ -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