From: Bastian Dehn Date: Fri, 14 Feb 2025 07:25:18 +0000 (+0100) Subject: add set default log level with setter X-Git-Tag: v1.0.35^2~1^2~8 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=bdd2320c37da0a7160dc1c5d2f7dbe1287b4dc7f;p=sane-kds-s2000w-net.git add set default log level with setter --- diff --git a/src/kds_s2000w_client.c b/src/kds_s2000w_client.c index a2deebc..7fd64ad 100644 --- a/src/kds_s2000w_client.c +++ b/src/kds_s2000w_client.c @@ -77,6 +77,7 @@ void kds_s2000w_client_init() char* config_stream = kds_s2000w_config_read(CONFIG_FILE); config = kds_s2000w_config_load(config_stream); + kds_s2000w_debug_set_default_log_level(config->log_level); curl_global_init(CURL_GLOBAL_ALL); curl = curl_easy_init(); errbuf = malloc(CURL_ERROR_SIZE); diff --git a/src/kds_s2000w_config.c b/src/kds_s2000w_config.c index 0533b4b..4c8a811 100644 --- a/src/kds_s2000w_config.c +++ b/src/kds_s2000w_config.c @@ -15,13 +15,6 @@ void _kds_s2000w_config_copy_string_to_config_value(cfg_t* cfg, const char* key, memcpy(*config_value, value_str, size_str); } -void _kds_s2000w_config_set_log_level(uint8_t log_level) -{ - char log_level_str[2]; - snprintf(log_level_str, 2, "%hhi", log_level); - setenv("KDS_S2000W_NET_DEBUG", log_level_str, 0); -} - char* kds_s2000w_config_read(const char* filename) { FILE* config_file = fopen(filename, "r"); @@ -83,8 +76,6 @@ program_config* kds_s2000w_config_load(char* config_string) _kds_s2000w_config_copy_string_to_config_value(cfg, "username", &config->username); config->log_level = cfg_getint(cfg, "default_log_level"); - _kds_s2000w_config_set_log_level(config->log_level); - config->heartbeat = cfg_getint(cfg, "heartbeat_seconds"); if (config->heartbeat < 1) config->heartbeat = 1; diff --git a/src/kds_s2000w_debug.c b/src/kds_s2000w_debug.c index 483b000..38d6627 100644 --- a/src/kds_s2000w_debug.c +++ b/src/kds_s2000w_debug.c @@ -5,6 +5,8 @@ #define STDOUT_LEVEL 3 +uint8_t log_level_default = 0; + const char* _kds_s2000w_debug_string(uint8_t level) { switch(level) { @@ -28,15 +30,19 @@ const char* _kds_s2000w_debug_string(uint8_t level) } uint8_t _kds_s2000w_debug_get_log_level() { - uint8_t log_level_int = 0; char* log_level = getenv("KDS_S2000W_NET_DEBUG"); if (log_level == NULL) - return log_level_int; + return log_level_default; return atoi(log_level); } +void kds_s2000w_debug_set_default_log_level(uint8_t level) +{ + log_level_default = level; +} + void kds_s2000w_debug_printf(uint8_t level, const char* message) { if (level > _kds_s2000w_debug_get_log_level()) diff --git a/src/kds_s2000w_debug.h b/src/kds_s2000w_debug.h index 2a9699d..7b7be3c 100644 --- a/src/kds_s2000w_debug.h +++ b/src/kds_s2000w_debug.h @@ -10,6 +10,7 @@ #define DEBUG 5 #define ALL 6 +void kds_s2000w_debug_set_default_log_level(uint8_t level); void kds_s2000w_debug_printf(uint8_t level, const char* message); void kds_s2000w_debug_printf_int(uint8_t level, const char* message, uint32_t value); void kds_s2000w_debug_printf_long(uint8_t level, const char* message, uint64_t value);