转载请注明出处: http://blog.csdn.net/luotuo44/article/details/38317797
日志处理:
在Libevent的源码中,经常会见到形如event_warn、event_msgx、event_err之类的函数。这通常出现在代码中一些值是不合理时。这些函数就是Libevent的日志函数。它能把这些不合理的情况打印出来,告知用户。
定制日志回调函数:
Libevent在默认情况下,会将这些日志信息输出到终端上。这当然就不利于日后的观察。为此,Libevent允许用户定制自己的日志回调函数。所有的日志函数在最后输出信息时,都会调用日志回调函数的。所以用户可以通过定制自己的日志回调函数(在回调函数中把信息输出到一个文件上),方便日后的查看。定制回调函数就像设置自己信号处理函数那样,设置一个日志回调函数。当有日志时,Libevent库就会调用这个日志回调函数。
回调函数的格式和日志定制函数如下所示:
typedef void (*event_log_cb)(int severity, const char *msg);
void event_set_log_callback(event_log_cb cb);
回调函数中的第一个参数severity是日志级别类型,有下面这些:
#define EVENT_LOG_DEBUG 0
#define EVENT_LOG_MSG 1
#define EVENT_LOG_WARN 2
#define EVENT_LOG_ERR 3
/* Obsolete names: these are deprecated, but older programs might use them.
* They violate the reserved-identifier namespace. */
#define _EVENT_LOG_DEBUG EVENT_LOG_DEBUG
#define _EV