From 397286c87dc9aa3cba458973bdc65b3f3be14657 Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Thu, 23 Apr 2026 04:08:40 +0200 Subject: Unifies logging between C and Python --- ui/curses/ui.c | 48 ++++++++---------------------------------------- ui/daemon/ui.c | 52 ++++------------------------------------------------ 2 files changed, 12 insertions(+), 88 deletions(-) (limited to 'ui') diff --git a/ui/curses/ui.c b/ui/curses/ui.c index 0f87c2d..3564ef3 100644 --- a/ui/curses/ui.c +++ b/ui/curses/ui.c @@ -1,5 +1,6 @@ +#include "logger.c" + #define LOG_LINE_COUNT 1024 -#define LOG_LINE_SIZE 1024 #define PANE_WIDTH 27 #define PROC_FIELD_WIDTH 21 #define PROC_PAGE_LINES 12 @@ -68,8 +69,6 @@ uint64_t g_wcursor_pointed; uint64_t g_log_cnt; unsigned g_log_ptr; unsigned g_log_scroll; -bool g_log_warns[LOG_LINE_COUNT]; -time_t g_log_times[LOG_LINE_COUNT]; char g_logs[LOG_LINE_COUNT][LOG_LINE_SIZE]; uint64_t g_vlin; uint64_t g_vsiz; @@ -796,12 +795,12 @@ void ui_print_ipc(int l) { // Log page functions // ---------------------------------------------------------------------------- void ui_info_impl(const char *format, ...) { - g_log_warns[g_log_ptr] = false; - g_log_times[g_log_ptr] = time(NULL); + assert(format); + assert(false); va_list args; va_start(args, format); - vsnprintf(g_logs[g_log_ptr], LOG_LINE_SIZE, format, args); + log_msg_to_buff(g_logs[g_log_ptr], LOG_LINE_SIZE, LOG_INFO, format, args); va_end(args); g_log_cnt++; @@ -809,12 +808,11 @@ void ui_info_impl(const char *format, ...) { } void ui_warn_impl(const char *format, ...) { - g_log_warns[g_log_ptr] = true; - g_log_times[g_log_ptr] = time(NULL); + assert(format); va_list args; va_start(args, format); - vsnprintf(g_logs[g_log_ptr], LOG_LINE_SIZE, format, args); + log_msg_to_buff(g_logs[g_log_ptr], LOG_LINE_SIZE, LOG_WARN, format, args); va_end(args); g_log_cnt++; @@ -833,37 +831,7 @@ void ui_print_log_line(unsigned lptr, int line) { ui_clear_log_line(line); if (strlen(g_logs[lptr])) { - struct tm tm = *localtime(&g_log_times[lptr]); - - ui_field( - line, - PANE_WIDTH, - PAIR_NORMAL, - A_NORMAL, - " %d-%02d-%02d %02d:%02d:%02d --", - tm.tm_year + 1900, - tm.tm_mon + 1, - tm.tm_mday, - tm.tm_hour, - tm.tm_min, - tm.tm_sec - ); - - ui_field( - line, - PANE_WIDTH + 25, - g_log_warns[lptr] ? PAIR_WARN : PAIR_HEADER, - A_NORMAL, - g_log_warns[lptr] ? "WARN" : "INFO" - ); - - ui_field( - line, - PANE_WIDTH + 30, - PAIR_NORMAL, - A_NORMAL, - g_logs[lptr] - ); + ui_field(line, PANE_WIDTH + 2, PAIR_NORMAL, A_NORMAL, g_logs[lptr]); } } diff --git a/ui/daemon/ui.c b/ui/daemon/ui.c index 269d5d7..0e4ea15 100644 --- a/ui/daemon/ui.c +++ b/ui/daemon/ui.c @@ -1,52 +1,8 @@ +#include "logger.c" + volatile bool g_running; uint64_t g_step_block; -void info_impl(const char *restrict fmt, ...) { - assert(fmt); - - time_t t = time(NULL); - struct tm tm = *localtime(&t); - printf( - "\r%d-%02d-%02d %02d:%02d:%02d -- \033[1;34mINFO\033[0m ", - tm.tm_year + 1900, - tm.tm_mon + 1, - tm.tm_mday, - tm.tm_hour, - tm.tm_min, - tm.tm_sec - ); - - va_list args; - va_start(args, fmt); - vprintf(fmt, args); - va_end(args); - - printf("\n"); -} - -void warn_impl(const char *restrict fmt, ...) { - assert(fmt); - - time_t t = time(NULL); - struct tm tm = *localtime(&t); - printf( - "\r%d-%02d-%02d %02d:%02d:%02d -- \033[1;33mWARN\033[0m ", - tm.tm_year + 1900, - tm.tm_mon + 1, - tm.tm_mday, - tm.tm_hour, - tm.tm_min, - tm.tm_sec - ); - - va_list args; - va_start(args, fmt); - vprintf(fmt, args); - va_end(args); - - printf("\n"); -} - void sig_handler(int signo) { (void)signo; @@ -78,8 +34,8 @@ void step_block(void) { int main(void) { g_running = true; g_step_block = 1; - g_info = info_impl; - g_warn = warn_impl; + g_info = log_info; + g_warn = log_warn; signal(SIGINT, sig_handler); signal(SIGTERM, sig_handler); -- cgit v1.3