Exemplo n.º 1
0
static void
my_qb_log_filter(struct qb_log_callsite *cs)
{
	int32_t priority = cfs.debug ? LOG_DEBUG : LOG_INFO;

	if (qb_bit_is_set(cs->tags, QB_LOG_TAG_LIBQB_MSG_BIT)) {
		if (cs->priority <= (cfs.debug ? priority : LOG_WARNING)) {
			qb_bit_set(cs->targets, QB_LOG_SYSLOG);
		} else {
			qb_bit_clear(cs->targets, QB_LOG_SYSLOG);
		}
		if (cs->priority <= priority) {
			qb_bit_set(cs->targets, QB_LOG_STDERR);
		} else {
			qb_bit_clear(cs->targets, QB_LOG_STDERR);
		}
	} else {
		if (cs->priority <= priority) {
			qb_bit_set(cs->targets, QB_LOG_SYSLOG);
			qb_bit_set(cs->targets, QB_LOG_STDERR);
		} else {
			qb_bit_clear(cs->targets, QB_LOG_SYSLOG);
			qb_bit_clear(cs->targets, QB_LOG_STDERR);
		}
	}
}
Exemplo n.º 2
0
static void
m_filter(struct qb_log_callsite *cs)
{
	if ((cs->priority >= LOG_ALERT &&
	     cs->priority <= _log_priority) &&
	    strcmp(cs->filename, __FILE__) == 0) {
		qb_bit_set(cs->targets, QB_LOG_STDERR);
	} else {
		qb_bit_clear(cs->targets, QB_LOG_STDERR);
	}
}
Exemplo n.º 3
0
static void
m_filter(struct qb_log_callsite *cs)
{
	if ((cs->priority >= LOG_ALERT &&
	     cs->priority <= LOG_INFO) ||
	    cs->tags > 0) {
		qb_bit_set(cs->targets, _cust_t);
	} else {
		qb_bit_clear(cs->targets, _cust_t);
	}
}
Exemplo n.º 4
0
static void
crm_log_filter_source(int source, const char *trace_files, const char *trace_fns,
                      const char *trace_fmts, const char *trace_tags, const char *trace_blackbox,
                      struct qb_log_callsite *cs)
{
    if (qb_log_ctl(source, QB_LOG_CONF_STATE_GET, 0) != QB_LOG_STATE_ENABLED) {
        return;
    } else if (cs->tags != crm_trace_nonlog && source == QB_LOG_BLACKBOX) {
        /* Blackbox gets everything if enabled */
        qb_bit_set(cs->targets, source);

    } else if (source == blackbox_trigger && blackbox_trigger > 0) {
        /* Should this log message result in the blackbox being dumped */
        if (cs->priority <= LOG_ERR) {
            qb_bit_set(cs->targets, source);

        } else if (trace_blackbox) {
            char *key = g_strdup_printf("%s:%d", cs->function, cs->lineno);

            if (strstr(trace_blackbox, key) != NULL) {
                qb_bit_set(cs->targets, source);
            }
            free(key);
        }

    } else if (source == QB_LOG_SYSLOG) {       /* No tracing to syslog */
        if (cs->priority <= crm_log_priority && cs->priority <= crm_log_level) {
            qb_bit_set(cs->targets, source);
        }
        /* Log file tracing options... */
    } else if (cs->priority <= crm_log_level) {
        qb_bit_set(cs->targets, source);
    } else if (trace_files && strstr(trace_files, cs->filename) != NULL) {
        qb_bit_set(cs->targets, source);
    } else if (trace_fns && strstr(trace_fns, cs->function) != NULL) {
        qb_bit_set(cs->targets, source);
    } else if (trace_fmts && strstr(trace_fmts, cs->format) != NULL) {
        qb_bit_set(cs->targets, source);
    } else if (trace_tags
               && cs->tags != 0
               && cs->tags != crm_trace_nonlog && g_quark_to_string(cs->tags) != NULL) {
        qb_bit_set(cs->targets, source);
    }
}
Exemplo n.º 5
0
static void
crm_log_filter_source(int source, const char *trace_files, const char *trace_fns, const char *trace_fmts, const char *trace_tags, struct qb_log_callsite *cs)
{
    if (qb_log_ctl(source, QB_LOG_CONF_STATE_GET, 0) != QB_LOG_STATE_ENABLED) {
        return;
    } else if (source == QB_LOG_SYSLOG) { /* No tracing to syslog */
        if(cs->priority <= LOG_NOTICE && cs->priority <= crm_log_level) {
            qb_bit_set(cs->targets, source);
        }
        /* Tracing options... */
    } else if(source == QB_LOG_BLACKBOX && blackbox_tracing_enabled) {
        qb_bit_set(cs->targets, source);
    } else if (cs->priority <= crm_log_level) {
        qb_bit_set(cs->targets, source);
    } else if(trace_files && strstr(trace_files, cs->filename) != NULL) {
        qb_bit_set(cs->targets, source);
    } else if(trace_fns && strstr(trace_fns, cs->function) != NULL) {
        qb_bit_set(cs->targets, source);
    } else if(trace_fmts && strstr(trace_fmts, cs->format) != NULL) {
        qb_bit_set(cs->targets, source);
    } else if(trace_tags && cs->tags != 0 && g_quark_to_string(cs->tags) != NULL) {
        qb_bit_set(cs->targets, source);
    }
}