aboutsummaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2026-04-23 04:08:40 +0200
committerPaul Oliver <contact@pauloliver.dev>2026-04-23 04:08:40 +0200
commit397286c87dc9aa3cba458973bdc65b3f3be14657 (patch)
tree78d857c87182784fd9a86450973c7ebe7cac0e48 /ui
parentf0876156404da87782c4b0cf2b8086e0859e63c1 (diff)
Unifies logging between C and Python
Diffstat (limited to 'ui')
-rw-r--r--ui/curses/ui.c48
-rw-r--r--ui/daemon/ui.c52
2 files changed, 12 insertions, 88 deletions
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);