Files
LLog/include/LLog.h

69 lines
1.3 KiB
C
Raw Permalink Normal View History

2026-05-18 16:21:05 -05:00
#ifndef LLog_H
#define LLog_H
2026-05-19 01:16:39 -05:00
#include "time.h"
2026-05-19 18:33:37 -05:00
#include <stdarg.h>
2026-05-19 22:25:09 -05:00
#include <stdio.h>
2026-05-19 18:33:37 -05:00
2026-05-20 15:29:16 -05:00
#ifndef max_string_len
2026-05-19 18:33:37 -05:00
#define max_string_len 1024
2026-05-20 15:29:16 -05:00
#endif
2026-05-19 01:16:39 -05:00
2026-05-20 15:34:09 -05:00
#define LLog_Author "Lucielle <luci@git.lunarware.tech>"
#define LLog_Repo "https://git.lunarware.tech/lucielle/LLog"
#define LLog_Version "1.0.0"
2026-05-19 01:16:39 -05:00
typedef struct {
char *buf;
size_t len;
} lLogString;
2026-05-18 16:21:05 -05:00
enum lLogLevel {
lINFO,
lWARNING,
lERROR,
lDEBUG
};
2026-05-19 01:16:39 -05:00
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);
2026-05-19 18:43:57 -05:00
typedef struct {
size_t count;
size_t capacity;
lLogString** items;
} lLogString_array;
int lLogString_array_append(lLogString_array* array, lLogString* string);
2026-05-19 01:16:39 -05:00
typedef struct {
2026-05-19 22:25:09 -05:00
FILE* log_file;
2026-05-19 01:16:39 -05:00
timer_array timers;
2026-05-19 22:25:09 -05:00
int historyEnabled;
int logFileEnabled;
2026-05-19 18:43:57 -05:00
lLogString_array history;
2026-05-19 22:25:09 -05:00
2026-05-19 01:16:39 -05:00
} Logger;
2026-05-19 22:25:09 -05:00
Logger* Logger_new(lLogString* logfolder, int history_enabled);
2026-05-19 01:16:39 -05:00
int create_timer(Logger* logger);
void start_timer(Logger* logger, int timer_id);
void stop_timer(Logger* logger, int timer_id);
2026-05-19 18:43:57 -05:00
lLogString* lLogString_new(const char* fmt, ...);
2026-05-19 01:16:39 -05:00
2026-05-19 18:43:57 -05:00
int lLog(Logger* logger, enum lLogLevel LOG_LEVEL, lLogString* MESSAGE);
2026-05-18 16:21:05 -05:00
#endif