aboutsummaryrefslogtreecommitdiff
path: root/core/logger.c
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2026-04-24 05:19:57 +0200
committerPaul Oliver <contact@pauloliver.dev>2026-05-04 02:23:18 +0200
commit8401fde7b1d10dc4c1ce9117c1eda7a21067778b (patch)
treeefde273443fd4591df3b4e1a270f61185f9f09e0 /core/logger.c
parent397286c87dc9aa3cba458973bdc65b3f3be14657 (diff)
Removes old data server and cleans up python code
Diffstat (limited to 'core/logger.c')
-rw-r--r--core/logger.c45
1 files changed, 22 insertions, 23 deletions
diff --git a/core/logger.c b/core/logger.c
index 38ac8ed..e088c55 100644
--- a/core/logger.c
+++ b/core/logger.c
@@ -3,35 +3,44 @@
enum LogLevel {
LOG_INFO,
LOG_WARN,
- LOG_ERRO,
};
char g_log_buff[LOG_LINE_SIZE];
-void log_msg_to_buff(char *out, int size, enum LogLevel level, const char *format, va_list args) {
+void log_msg_to_buff(char *out, int size, enum LogLevel level, bool colored, const char *format, va_list args) {
assert(out);
assert(size);
- assert(level == LOG_INFO || level == LOG_WARN || level == LOG_ERRO);
+ assert(level == LOG_INFO || level == LOG_WARN);
assert(format);
struct timespec ts;
clock_gettime(CLOCK_REALTIME, &ts);
long msec = ts.tv_nsec / 1000000;
struct tm tm = *localtime(&ts.tv_sec);
- int pid = getpid();
+ pid_t pid = getpid();
char *level_str = NULL;
switch (level) {
case LOG_INFO: level_str = "INFO"; break;
case LOG_WARN: level_str = "WARN"; break;
- case LOG_ERRO: level_str = "ERRO"; break;
default: assert(false);
}
+ char *color_code = NULL;
+ if (colored) {
+ switch (level) {
+ case LOG_INFO: color_code = "\033[1;32m"; break;
+ case LOG_WARN: color_code = "\033[1;33m"; break;
+ default: assert(false);
+ }
+ }
+
+ // Imitate formatting style configured in 'salis.py'
int col = snprintf(
out,
size,
- "%d-%02d-%02d %02d:%02d:%02d.%03ld %d [%s] ",
+ "%s%d-%02d-%02d %02d:%02d:%02d,%03ld %07d [%s]%s ",
+ colored ? color_code : "",
tm.tm_year + 1900,
tm.tm_mon + 1,
tm.tm_mday,
@@ -40,17 +49,18 @@ void log_msg_to_buff(char *out, int size, enum LogLevel level, const char *forma
tm.tm_sec,
msec,
pid,
- level_str
+ level_str,
+ colored ? "\033[0m" : ""
);
vsnprintf(out + col, size - col, format, args);
}
-void log_msg(enum LogLevel level, const char *format, va_list args) {
- assert(level == LOG_INFO || level == LOG_WARN || level == LOG_ERRO);
+void log_msg(enum LogLevel level, bool colored, const char *format, va_list args) {
+ assert(level == LOG_INFO || level == LOG_WARN);
assert(format);
- log_msg_to_buff(g_log_buff, LOG_LINE_SIZE, level, format, args);
+ log_msg_to_buff(g_log_buff, LOG_LINE_SIZE, level, colored, format, args);
printf("\r%s\n", g_log_buff);
}
@@ -59,7 +69,7 @@ void log_info(const char *format, ...) {
va_list args;
va_start(args, format);
- log_msg(LOG_INFO, format, args);
+ log_msg(LOG_INFO, true, format, args);
va_end(args);
}
@@ -68,17 +78,6 @@ void log_warn(const char *format, ...) {
va_list args;
va_start(args, format);
- log_msg(LOG_WARN, format, args);
- va_end(args);
-}
-
-void log_erro(const char *format, ...) {
- assert(format);
-
- va_list args;
- va_start(args, format);
- log_msg(LOG_ERRO, format, args);
+ log_msg(LOG_WARN, true, format, args);
va_end(args);
-
- exit(1);
}