va_end(args);
}
+#undef e_log
+void e_log(struct event *event, enum log_type level,
+ const char *source_filename, unsigned int source_linenum,
+ const char *fmt, ...)
+{
+ struct event_log_params params = {
+ .log_type = level,
+ .source_filename = source_filename,
+ .source_linenum = source_linenum,
+ };
+ va_list args;
+
+ va_start(args, fmt);
+ event_logv(event, ¶ms, fmt, args);
+ va_end(args);
+}
+
static bool event_get_log_prefix(struct event *event, string_t *log_prefix,
bool *replace_prefix, unsigned int *type_pos)
{
else \
event_send_abort(_tmp_event); \
} STMT_END
+
+void e_log(struct event *event, enum log_type level,
+ const char *source_filename, unsigned int source_linenum,
+ const char *fmt, ...) ATTR_FORMAT(5, 6);
+#define e_log(_event, level, ...) STMT_START { \
+ struct event *_tmp_event = (_event); \
+ if (event_want_level(_tmp_event, level)) \
+ e_log(_tmp_event, level, __FILE__, __LINE__, __VA_ARGS__); \
+ else \
+ event_send_abort(_tmp_event); \
+ } STMT_END
+
/* Returns TRUE if debug event should be sent (either logged or sent to
stats). */
bool event_want_log_level(struct event *event, enum log_type level,