]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
log: lua: add list_log_group
authorLukáš Ježek <lukas.jezek@nic.cz>
Wed, 9 Jun 2021 11:32:34 +0000 (13:32 +0200)
committerTomas Krizek <tomas.krizek@nic.cz>
Thu, 29 Jul 2021 09:40:50 +0000 (11:40 +0200)
daemon/engine.c

index 6b4b5b82b2b52ac682e2e3e861a7d17152078088..f0979d6a35a9c05111dbd334ec9d9f63061136c8 100644 (file)
@@ -215,6 +215,24 @@ static int l_del_log_group(lua_State *L)
        return handle_log_groups(L, kr_log_del_group);
 }
 
+static int l_list_log_group(lua_State *L)
+{
+       int grp_b = 1;
+       char *grp_name = kr_log_grp2name(1 << grp_b);
+
+       printf("groups: \n\t");
+       while (grp_name) {
+               printf("%s%s, ", group_is_set(1 << grp_b) ? "*":"", grp_name);
+               if (grp_b%8 == 0)
+                       printf("\n\t");
+               ++grp_b;
+               grp_name = kr_log_grp2name(1 << grp_b);
+       }
+       printf("\n* = groups logged in debug level\n");
+
+       return 0;
+}
+
 char *engine_get_hostname(struct engine *engine) {
        static char hostname_str[KNOT_DNAME_MAXLEN];
        if (!engine) {
@@ -503,6 +521,8 @@ static int init_state(struct engine *engine)
        lua_setglobal(engine->L, "add_log_group");
        lua_pushcfunction(engine->L, l_del_log_group);
        lua_setglobal(engine->L, "del_log_group");
+       lua_pushcfunction(engine->L, l_list_log_group);
+       lua_setglobal(engine->L, "list_log_group");
        lua_pushcfunction(engine->L, l_setuser);
        lua_setglobal(engine->L, "user");
        lua_pushcfunction(engine->L, l_hint_root_file);