1. 概述
与许多开源库类似,libevent也提供了日志的支持。libevent提供的日志支持可以记录内部的错误和警告,并且这些日志仅libevent内部使用的,应用程序无法使用。值得一提的是,libevent提供的日志支持相对简单。默认配置下这些消息被写向标志错误输出(stderr),当然也提供定制日志函数覆盖默认的行为。对于在应用程序中想使用日志库的话,推荐glog、log4cplus、log4cpp、log4cxx等开源的日志库。
2. libevent 日志 API
在使用libevent中,我们可以看到日志API接口,这些日志API声明在time-internal.h中,表明是内部使用的。
void event_err(int eval, const char *fmt, ...) EV_CHECK_FMT(2,3) EV_NORETURN;
void event_warn(const char *fmt, ...) EV_CHECK_FMT(1,2);
void event_sock_err(int eval, evutil_socket_t sock, const char *fmt, ...) EV_CHECK_FMT(3,4) EV_NORETURN;
void event_sock_warn(evutil_socket_t sock, const char *fmt, ...) EV_CHECK_FMT(2,3);
void event_errx(int eval, const char *fmt, ...) EV_CHECK_FMT(2,3) EV_NORETURN;
void event_warnx(const char *fmt, ...) EV_CHECK_FMT(1,2);
void event_msgx(const char *fmt, ...) EV_CHECK_FMT(1,2);
void event_debugx_(const char *fmt, ...) EV_CHECK_FMT(1,2);
void event_logv_(int s