event-log.h (dovecot-2.3.16) | : | event-log.h (dovecot-2.3.17) | ||
---|---|---|---|---|
skipping to change at line 91 | skipping to change at line 91 | |||
const char *source_filename, unsigned int source_linenum, | const char *source_filename, unsigned int source_linenum, | |||
const char *fmt, ...) ATTR_FORMAT(5, 6); | const char *fmt, ...) ATTR_FORMAT(5, 6); | |||
#define e_log(_event, level, ...) STMT_START { \ | #define e_log(_event, level, ...) STMT_START { \ | |||
struct event *_tmp_event = (_event); \ | struct event *_tmp_event = (_event); \ | |||
if (event_want_level(_tmp_event, level)) \ | if (event_want_level(_tmp_event, level)) \ | |||
e_log(_tmp_event, level, __FILE__, __LINE__, __VA_ARGS__); \ | e_log(_tmp_event, level, __FILE__, __LINE__, __VA_ARGS__); \ | |||
else \ | else \ | |||
event_send_abort(_tmp_event); \ | event_send_abort(_tmp_event); \ | |||
} STMT_END | } STMT_END | |||
/* Returns TRUE if debug event should be sent (either logged or sent to | /* Returns TRUE if event should be logged. Typically event_want_debug_log() | |||
stats). */ | could be used in deciding whether to build an expensive debug log message | |||
(e.g. requires extra disk IO). Note that if this is used, the actual | ||||
event being sent won't be matched against event filters because it's never | ||||
called. The result of the check is cached in the event, so repeated calls | ||||
are efficient. */ | ||||
bool event_want_log_level(struct event *event, enum log_type level, | bool event_want_log_level(struct event *event, enum log_type level, | |||
const char *source_filename, | const char *source_filename, | |||
unsigned int source_linenum); | unsigned int source_linenum); | |||
#define event_want_log_level(_event, level) event_want_log_level((_event), (leve l), __FILE__, __LINE__) | #define event_want_log_level(_event, level) event_want_log_level((_event), (leve l), __FILE__, __LINE__) | |||
#define event_want_debug_log(_event) event_want_log_level((_event), LOG_TYPE_DEB UG) | #define event_want_debug_log(_event) event_want_log_level((_event), LOG_TYPE_DEB UG) | |||
/* Returns TRUE if event should be processed (for logging or sending to stats). | ||||
The logging is checked with event_want_log_level() with the same caching | ||||
behavior. */ | ||||
bool event_want_level(struct event *event, enum log_type level, | bool event_want_level(struct event *event, enum log_type level, | |||
const char *source_filename, | const char *source_filename, | |||
unsigned int source_linenum); | unsigned int source_linenum); | |||
#define event_want_level(_event, level) event_want_level((_event), (level), __FI LE__, __LINE__) | #define event_want_level(_event, level) event_want_level((_event), (level), __FI LE__, __LINE__) | |||
#define event_want_debug(_event) event_want_level((_event), LOG_TYPE_DEBUG) | #define event_want_debug(_event) event_want_level((_event), LOG_TYPE_DEBUG) | |||
void event_log(struct event *event, const struct event_log_params *params, | void event_log(struct event *event, const struct event_log_params *params, | |||
const char *fmt, ...) | const char *fmt, ...) | |||
ATTR_FORMAT(3, 4); | ATTR_FORMAT(3, 4); | |||
void event_logv(struct event *event, const struct event_log_params *params, | void event_logv(struct event *event, const struct event_log_params *params, | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 9 lines changed or added |