From deee29f5da1def3182084727424494f0a96e2590 Mon Sep 17 00:00:00 2001 From: gandc Date: Sat, 23 Nov 2024 19:48:49 +0300 Subject: [PATCH] new content --- libmysyslog-json/Makefile | 26 ++++++++++---------------- libmysyslog-json/include/log_json.h | 8 -------- libmysyslog-json/libmysyslog-json.c | 15 +++++++++++++++ libmysyslog-json/libmysyslog-json.h | 6 ++++++ libmysyslog-json/src/log_json.c | 15 --------------- 5 files changed, 31 insertions(+), 39 deletions(-) delete mode 100644 libmysyslog-json/include/log_json.h create mode 100644 libmysyslog-json/libmysyslog-json.c create mode 100644 libmysyslog-json/libmysyslog-json.h delete mode 100644 libmysyslog-json/src/log_json.c diff --git a/libmysyslog-json/Makefile b/libmysyslog-json/Makefile index 2d06086..4c209bb 100644 --- a/libmysyslog-json/Makefile +++ b/libmysyslog-json/Makefile @@ -1,23 +1,17 @@ CC = gcc -CFLAGS = -Wall -g -fPIC -LDFLAGS = +CFLAGS = -Wall -Wextra -fPIC +LDFLAGS = -shared +TARGET = libmysyslog-json.so -LIBRARY = libmysyslog-json.a -OBJ = src/log_json.o +all: $(TARGET) -all: $(LIBRARY) +$(TARGET): libmysyslog-json.o + $(CC) $(LDFLAGS) -o $@ $^ -$(LIBRARY): $(OBJ) - ar rcs $@ $^ +libmysyslog-json.o: libmysyslog-json.c libmysyslog-json.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 +.PHONY: all clean \ No newline at end of file diff --git a/libmysyslog-json/include/log_json.h b/libmysyslog-json/include/log_json.h deleted file mode 100644 index 41eb92d..0000000 --- a/libmysyslog-json/include/log_json.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef LOG_JSON_H -#define LOG_JSON_H - -#include "mysyslog.h" - -void log_json(const char* msg, LogLevel level, const char* path); - -#endif // LOG_JSON_H diff --git a/libmysyslog-json/libmysyslog-json.c b/libmysyslog-json/libmysyslog-json.c new file mode 100644 index 0000000..3bd3d94 --- /dev/null +++ b/libmysyslog-json/libmysyslog-json.c @@ -0,0 +1,15 @@ +#include "libmysyslog-json.h" +#include +#include + +static const char* log_levels[] = {"DEBUG", "INFO", "WARN", "ERROR", "CRITICAL"}; + +int log_to_json(const char* msg, int level, const char* path) { + FILE* file = fopen(path, "a"); + if (!file) return -1; + + time_t now = time(NULL); + fprintf(file, "{\"timestamp\":%ld,\"log_level\":\"%s\",\"message\":\"%s\"}\n", now, log_levels[level], msg); + fclose(file); + return 0; +} \ No newline at end of file diff --git a/libmysyslog-json/libmysyslog-json.h b/libmysyslog-json/libmysyslog-json.h new file mode 100644 index 0000000..071e046 --- /dev/null +++ b/libmysyslog-json/libmysyslog-json.h @@ -0,0 +1,6 @@ +#ifndef LIBMYSYSLOG_JSON_H +#define LIBMYSYSLOG_JSON_H + +int log_to_json(const char* msg, int level, const char* path); + +#endif // LIBMYSYSLOG_JSON_H \ No newline at end of file diff --git a/libmysyslog-json/src/log_json.c b/libmysyslog-json/src/log_json.c deleted file mode 100644 index 0b55b71..0000000 --- a/libmysyslog-json/src/log_json.c +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include "log_json.h" - -void log_json(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 in JSON - fprintf(f, "{\"timestamp\": %ld, \"log_level\": \"%d\", \"process\": \"example-app\", \"message\": \"%s\"}\n", t, level, msg); - fclose(f); -}