feat: add rsync info flags
CI / lint (pull_request) Successful in 12s
CI / sanitizers (address) (pull_request) Successful in 38s
CI / sanitizers (undefined) (pull_request) Successful in 37s
CI / fuzz-build (pull_request) Successful in 15s
CI / coverage (pull_request) Successful in 32s
CI / build-and-test (pull_request) Successful in 1m16s
CI / valgrind (pull_request) Successful in 33s

This commit is contained in:
2026-09-03 16:13:56 +02:00
parent 190fc5d300
commit 4872d425a3
8 changed files with 183 additions and 12 deletions
+30
View File
@@ -7,12 +7,21 @@
static const char* log_level_strings[] = {"DEBUG", "INFO", "WARN", "ERROR"};
static LogLevel current_log_level = LOG_LEVEL_WARNING;
static uint32_t info_flags = 0;
static FILE* log_fp = NULL;
void set_log_level(LogLevel level) {
current_log_level = level;
}
void set_log_info_flags(uint32_t flags) {
info_flags = flags;
}
uint32_t get_log_info_flags(void) {
return info_flags;
}
void log_set_file(FILE* fp) {
log_fp = fp;
}
@@ -53,6 +62,27 @@ void log_message(LogLevel log_level, const char* format, ...) {
}
}
void log_info_message(LogInfoFlag flag, const char* format, ...) {
if ((info_flags & flag) == 0 && current_log_level > LOG_LEVEL_DEBUG)
return;
time_t now = time(NULL);
struct tm t;
if (!localtime_r(&now, &t))
return;
va_list args;
va_start(args, format);
write_message(stdout, LOG_LEVEL_INFO, t, format, args);
va_end(args);
if (log_fp) {
va_start(args, format);
write_message(log_fp, LOG_LEVEL_INFO, t, format, args);
va_end(args);
}
}
void log_perror(const char* context) {
log_message(LOG_LEVEL_ERROR, "%s: %s", context, strerror(errno));
}