diff --git a/libmysyslog-text/Makefile b/libmysyslog-text/Makefile index 3a4c45f..58cda7d 100644 --- a/libmysyslog-text/Makefile +++ b/libmysyslog-text/Makefile @@ -1,23 +1,17 @@ CC = gcc -CFLAGS = -Wall -g -fPIC -LDFLAGS = +CFLAGS = -Wall -Wextra -fPIC +LDFLAGS = -shared +TARGET = libmysyslog-text.so -LIBRARY = libmysyslog-text.a -OBJ = src/log_text.o +all: $(TARGET) -all: $(LIBRARY) +$(TARGET): libmysyslog-text.o + $(CC) $(LDFLAGS) -o $@ $^ -$(LIBRARY): $(OBJ) - ar rcs $@ $^ +libmysyslog-text.o: libmysyslog-text.c libmysyslog-text.h + $(CC) $(CFLAGS) -c $< clean: - rm -f $(OBJ) $(LIBRARY) + rm -f *.o $(TARGET) -deb: - # Deb package building logic - -install: $(LIBRARY) - cp $(LIBRARY) /usr/local/lib - ldconfig - -.PHONY: all clean deb install \ No newline at end of file +.PHONY: all clean \ No newline at end of file diff --git a/libmysyslog-text/include/log_text.h b/libmysyslog-text/include/log_text.h deleted file mode 100644 index 34fa1a6..0000000 --- a/libmysyslog-text/include/log_text.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef LOG_TEXT_H -#define LOG_TEXT_H - -#include "mysyslog.h" - -void log_text(const char* msg, LogLevel level, const char* path); - -#endif // LOG_TEXT_H diff --git a/libmysyslog-text/libmysyslog-text.c b/libmysyslog-text/libmysyslog-text.c new file mode 100644 index 0000000..b97edeb --- /dev/null +++ b/libmysyslog-text/libmysyslog-text.c @@ -0,0 +1,15 @@ +#include "libmysyslog-text.h" +#include +#include + +static const char* log_levels[] = {"DEBUG", "INFO", "WARN", "ERROR", "CRITICAL"}; + +int log_to_text(const char* msg, int level, const char* path) { + FILE* file = fopen(path, "a"); + if (!file) return -1; + + time_t now = time(NULL); + fprintf(file, "%ld %s %s\n", now, log_levels[level], msg); + fclose(file); + return 0; +} \ No newline at end of file diff --git a/libmysyslog-text/libmysyslog-text.h b/libmysyslog-text/libmysyslog-text.h new file mode 100644 index 0000000..8eaeb54 --- /dev/null +++ b/libmysyslog-text/libmysyslog-text.h @@ -0,0 +1,6 @@ +#ifndef LIBMYSYSLOG_TEXT_H +#define LIBMYSYSLOG_TEXT_H + +int log_to_text(const char* msg, int level, const char* path); + +#endif // LIBMYSYSLOG_TEXT_H \ No newline at end of file diff --git a/libmysyslog-text/src/log_text.c b/libmysyslog-text/src/log_text.c deleted file mode 100644 index 55ce519..0000000 --- a/libmysyslog-text/src/log_text.c +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include "log_text.h" - -void log_text(const char* msg, LogLevel level, const char* path) { - FILE* f = fopen(path, "a"); - if (!f) return; - - time_t t = time(NULL); - struct tm* tm_info = localtime(&t); - - // Format log entry - fprintf(f, "%ld %d example-app %s\n", t, level, msg); - fclose(f); -}