{
struct failure_context ctx = { .type = LOG_TYPE_DEBUG };
+ if (event->forced_never_debug && level == LOG_TYPE_DEBUG)
+ return FALSE;
if (level >= event->min_log_level) {
/* Always log when level is at least this high */
return TRUE;
return event;
}
+struct event *event_set_forced_never_debug(struct event *event, bool force)
+{
+ event->forced_never_debug = force;
+ return event;
+}
+
void event_set_global_debug_log_filter(struct event_filter *filter)
{
event_unset_global_debug_log_filter();
struct event *event_set_forced_debug(struct event *event, bool force);
/* Set the forced-debug to FALSE */
struct event *event_unset_forced_debug(struct event *event);
+/* Set/unset "never log debug output" flag, even if it matches the global
+ debug log filter. */
+struct event *event_set_forced_never_debug(struct event *event, bool force);
/* Set the global filter to logging debug events. */
void event_set_global_debug_log_filter(struct event_filter *filter);
/* Return the current global debug log event filter. */
bool log_prefix_replace:1;
bool passthrough:1;
bool forced_debug:1;
+ bool forced_never_debug:1;
bool always_log_source:1;
bool sending_debug_log:1;
bool disable_callbacks:1;
event->passthrough = parent->passthrough;
event->min_log_level = parent->min_log_level;
event->forced_debug = parent->forced_debug;
+ event->forced_never_debug = parent->forced_never_debug;
event->disable_callbacks = parent->disable_callbacks;
}