58 lines
1.0 KiB
C
58 lines
1.0 KiB
C
#ifndef LLog_H
|
|
#define LLog_H
|
|
|
|
#include "time.h"
|
|
#include <stdarg.h>
|
|
|
|
#define max_string_len 1024
|
|
|
|
typedef struct {
|
|
char *buf;
|
|
size_t len;
|
|
} lLogString;
|
|
|
|
enum lLogLevel {
|
|
lINFO,
|
|
lWARNING,
|
|
lERROR,
|
|
lDEBUG
|
|
};
|
|
|
|
typedef struct {
|
|
time_t start;
|
|
time_t end;
|
|
} lTimespan;
|
|
|
|
typedef struct {
|
|
lTimespan time;
|
|
} lTimer;
|
|
|
|
typedef struct {
|
|
size_t count;
|
|
size_t capacity;
|
|
lTimer* items;
|
|
} timer_array;
|
|
int timer_array_append(timer_array* array, lTimer timer);
|
|
|
|
typedef struct {
|
|
size_t count;
|
|
size_t capacity;
|
|
lLogString** items;
|
|
} lLogString_array;
|
|
int lLogString_array_append(lLogString_array* array, lLogString* string);
|
|
|
|
typedef struct {
|
|
lLogString logfolder;
|
|
timer_array timers;
|
|
lLogString_array history;
|
|
} Logger;
|
|
|
|
int create_timer(Logger* logger);
|
|
void start_timer(Logger* logger, int timer_id);
|
|
void stop_timer(Logger* logger, int timer_id);
|
|
|
|
lLogString* lLogString_new(const char* fmt, ...);
|
|
|
|
int lLog(Logger* logger, enum lLogLevel LOG_LEVEL, lLogString* MESSAGE);
|
|
|
|
#endif |