static void msg_event_send_with_suppression(EVTREC *e, gboolean (*suppress)(const gchar *msg)) { gchar *msg; msg = evt_format(e); if (!suppress || suppress(msg)) msg_send_formatted_message(evt_rec_get_syslog_pri(e) | EVT_FAC_SYSLOG, msg); free(msg); msg_event_free(e); }
void msg_event_send(EVTREC *e) { gchar *msg; msg = evt_format(e); if (log_syslog) { syslog(evt_rec_get_syslog_pri(e), "%s", msg); } else { msg_send_internal_message(evt_rec_get_syslog_pri(e) | EVT_FAC_SYSLOG, msg); } free(msg); g_static_mutex_lock(&evtlog_lock); evt_rec_free(e); g_static_mutex_unlock(&evtlog_lock); }
int main(void) { EVTCONTEXT *ctx; EVTREC *e; char *es; ctx = evt_ctx_init("evtfmt", LOG_AUTH); e = evt_rec_init(ctx, LOG_INFO, "Test message with an embedded ';' in it. It also contains an <XML> like tag."); evt_rec_add_tags(e, evt_tag_str("test:tag", "'value'"), evt_tag_str("test:tag2", "\n\n\n\n"), evt_tag_int("test:fd", fileno(stderr)), evt_tag_errno("test:error", EAGAIN), evt_tag_printf("test:printf", "%d %d", 5, 6), NULL); es = evt_format(e); printf("%s\n", es); free(es); evt_log(e); return 0; }