mbedtls打开日志输出

 最近笔者在调试pahomqtt连接加密网站时,总是看不到mbedtls内部日志,查找一番最后可以显示日志,方法如下。

在调用mbedtls初始化的地方,添加代码

//debug log
		mbedtls_ssl_conf_dbg(&net->ctx->conf, SslDebug, NULL);
		mbedtls_platform_set_printf(PlatformDebug);

定义两个日志打印函数:

static void SslDebug(void *ctx, int level, const char *file, int line, const char *str)
{
    Log(TRACE_PROTOCOL, -1, "ssllog=== %s:%04d: %s.", file, line, str);
}
#define DEBUG_BUF_SIZE      512
static int PlatformDebug(const char *format, ...)
{
    va_list argp;
    char str[DEBUG_BUF_SIZE];
    va_start(argp, format);
    int ret = vsnprintf(str, DEBUG_BUF_SIZE, format, argp);
    va_end(argp);

	if (ret < 0) {
		Log(TRACE_PROTOCOL, -1, "platformlog=== vsnprintf failed");
		return -1;
	}

    Log(TRACE_PROTOCOL, -1, "platformlog=== %s", str);
	return 0;
}

这里Log()为日志打印函数。

修改mbedtls中的源文件:

mbedtls/library/debug.c

static int debug_threshold = 10;

这里改一个大一点的值,否则日志出不来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值