Libevent-2.1.8源码分析——日志消息

本文将详细分析Libevent 2.1.8的源码,重点探讨其日志API,包括日志级别如EVENT_LOG_DEBUG、EVENT_LOG_MSG、EVENT_LOG_WARN和EVENT_LOG_ERR的使用,以及如何处理错误和自定义日志函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值