From a96d48f0ed5cd48874b56d2969f790178127892d Mon Sep 17 00:00:00 2001 From: TapTap Date: Mon, 6 Jul 2026 20:26:20 +0200 Subject: [PATCH] feat: default log level to WARNING, add -v/--verbose flag --- src/client/client.c | 3 +++ src/server/server.c | 12 ++++++++---- src/shared/log.c | 6 +++++- src/shared/log.h | 1 + 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/client/client.c b/src/client/client.c index 1ce3e61..beb2253 100644 --- a/src/client/client.c +++ b/src/client/client.c @@ -214,6 +214,7 @@ static void print_usage(void) { printf(" -m Enable multithreading\n"); printf(" -s Enable chunk serialization\n"); printf(" -f Enable sendfile (TCP only, not with -c or -s)\n"); + printf(" -v, --verbose Enable debug logging\n"); printf(" -M, --preserve Preserve file metadata\n"); printf(" --source-dir Source directory\n"); printf(" --dest-dir Destination directory\n"); @@ -282,6 +283,8 @@ int main(int argc, char *argv[]) { server_host = str_dup(argv[++i]); } else if (strcmp(argv[i], "--server-port") == 0 && i + 1 < argc) { server_port = atoi(argv[++i]); + } else if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--verbose") == 0) { + set_log_level(LOG_LEVEL_DEBUG); } else if (argv[i][0] == '-') { fprintf(stderr, "Unknown option: %s\n", argv[i]); print_usage(); diff --git a/src/server/server.c b/src/server/server.c index 83dba1d..a0f731f 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -169,10 +169,14 @@ void handler(int file_descriptor) { } int main(int argc, char *argv[]) { - if (argc > 1 && strcmp(argv[1], "--stdio") == 0) { - io_set_fds(STDIN_FILENO, STDOUT_FILENO); - handler(STDIN_FILENO); - return 0; + for (int i = 1; i < argc; i++) { + if (strcmp(argv[i], "--stdio") == 0) { + io_set_fds(STDIN_FILENO, STDOUT_FILENO); + handler(STDIN_FILENO); + return 0; + } else if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--verbose") == 0) { + set_log_level(LOG_LEVEL_DEBUG); + } } Server *server = server_create(8080); server_listen(server, handler); diff --git a/src/shared/log.c b/src/shared/log.c index 872f046..953a117 100644 --- a/src/shared/log.c +++ b/src/shared/log.c @@ -4,7 +4,11 @@ #include static const char *log_level_strings[] = {"DEBUG", "INFO", "WARN", "ERROR"}; -static LogLevel current_log_level = LOG_LEVEL_DEBUG; +static LogLevel current_log_level = LOG_LEVEL_WARNING; + +void set_log_level(LogLevel level) { + current_log_level = level; +} void log_message(LogLevel log_level, char *format, ...) { if (log_level < current_log_level) diff --git a/src/shared/log.h b/src/shared/log.h index f1274b1..1510b6b 100644 --- a/src/shared/log.h +++ b/src/shared/log.h @@ -9,5 +9,6 @@ typedef enum { } LogLevel; void log_message(LogLevel log_level, char *message, ...); +void set_log_level(LogLevel level); #endif