return handle_log_groups(L, kr_log_del_group);
}
-static int l_list_log_group(lua_State *L)
+static int l_get_log_group(lua_State *L)
{
- int grp_b = 1;
- char *grp_name = kr_log_grp2name(1 << grp_b);
+ int grp = 1;
+ char *name = kr_log_grp2name(grp);
- 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);
+ lua_newtable(L);
+ while (name) {
+ if (kr_log_group_is_set(grp)) {
+ lua_pushboolean(L, true);
+ lua_setfield(L, -2, name);
+ }
+ ++grp;
+ name = kr_log_grp2name(grp);
}
- printf("\n* = groups logged in debug level\n");
- return 0;
+ return 1;
}
char *engine_get_hostname(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_get_log_group);
+ lua_setglobal(engine->L, "get_log_group");
lua_pushcfunction(engine->L, l_setuser);
lua_setglobal(engine->L, "user");
lua_pushcfunction(engine->L, l_hint_root_file);
};
#endif
-int group_is_set(log_groups_t group)
+int kr_log_group_is_set(log_groups_t group)
{
return kr_log_groups & (1ULL << group);
}
{
va_list args;
- if (!(KR_LOG_LEVEL_IS(level) || group_is_set(group)))
+ if (!(KR_LOG_LEVEL_IS(level) || kr_log_group_is_set(group)))
return;
if (kr_log_target == LOG_TARGET_SYSLOG) {
- if (group_is_set(group))
+ if (kr_log_group_is_set(group))
setlogmask(LOG_UPTO(LOG_DEBUG));
va_start(args, fmt);
#endif
va_end(args);
- if (group_is_set(group))
+ if (kr_log_group_is_set(group))
setlogmask(LOG_UPTO(kr_log_level));
} else {
/* gnutls logs messages related to our TLS and also libdnssec,
* and the logging is set up in a global way only */
- if (KR_LOG_LEVEL_IS(LOG_DEBUG) || group_is_set(LOG_GRP_TLS) || group_is_set(LOG_GRP_TLSCLIENT)) {
+ if (KR_LOG_LEVEL_IS(LOG_DEBUG) || kr_log_group_is_set(LOG_GRP_TLS) || kr_log_group_is_set(LOG_GRP_TLSCLIENT)) {
gnutls_global_set_log_function(kres_gnutls_log);
}