35 lines
660 B
C
35 lines
660 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <time.h>
|
|
|
|
|
|
enum LogLevel {
|
|
PANIC=6,
|
|
FATAL=5,
|
|
ERROR=4,
|
|
WARN=3,
|
|
INFO=2,
|
|
DEBUG=1,
|
|
TRACE=0
|
|
};
|
|
typedef enum LogLevel LogLevel;
|
|
|
|
struct Logger {
|
|
clock_t t0;
|
|
LogLevel level;
|
|
FILE* logfile;
|
|
};
|
|
typedef struct Logger* Logger;
|
|
|
|
|
|
Logger create_logger(char *logpath, LogLevel level);
|
|
void destroy_logger(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);
|