]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
logging: ensure get/set_log_level behaves consistently
authorTomas Krizek <tomas.krizek@nic.cz>
Wed, 7 Jul 2021 13:45:26 +0000 (15:45 +0200)
committerTomas Krizek <tomas.krizek@nic.cz>
Wed, 7 Jul 2021 13:45:26 +0000 (15:45 +0200)
Ensure both these functions return string that represents the log level.

Also avoid using printf - it'd probably break API when using map().

daemon/engine.c
lib/log.c

index cc684c66fd569cfc65021d6b566624586a2fc739..2a5d7ff4bb63f9e31fa26dc513e39ae308989420 100644 (file)
@@ -161,16 +161,16 @@ static int l_set_log_level(lua_State *L)
        }
 
        log_level_t lvl = kr_log_name2level(lua_tostring(L, 1));
+       lvl = kr_log_level_set(lvl);
 
-       lua_pushinteger(L, kr_log_level_set(lvl));
+       lua_pushstring(L, kr_log_level2name(lvl));
        return 1;
 }
 
 static int l_get_log_level(lua_State *L)
 {
-       printf("%s\n", kr_log_level2name(kr_log_level_get()));
-
-       return 0;
+       lua_pushstring(L, kr_log_level2name(kr_log_level_get()));
+       return 1;
 }
 
 static int handle_log_groups(lua_State *L, void (*action)(log_groups_t grp))
index 3d8482d551f36d27d0bdf063f1a713740c23b242..aaca7ccd44fc61b35426d87aa2fd7ba46fda43b8 100644 (file)
--- a/lib/log.c
+++ b/lib/log.c
@@ -182,8 +182,10 @@ log_groups_t kr_log_name2grp(const char *name)
 
 int kr_log_level_set(log_level_t level)
 {
-       if (level < LOG_CRIT || level > LOG_DEBUG)
+       if (level < LOG_CRIT || level > LOG_DEBUG) {
+               kr_log_warning(SYSTEM, "invalid log level\n");
                return kr_log_level;
+       }
 
        kr_log_level = level;
        setlogmask(LOG_UPTO(kr_log_level));