同步函数或方法内如何调用异步方法
💡
原文中文,约3100字,阅读约需8分钟。
📝
内容提要
本文介绍了使用tokio、axum、tracing时如何打印入参的body参数,提供了示例代码,使用TraceLayer自定义日志记录行为并读取body。
🎯
关键要点
- 使用tokio、axum、tracing时,打印入参的body参数需要处理异步读取。
- 示例代码展示了如何初始化tracing_subscriber以记录日志。
- 应用程序通过Router构建,并定义了一个路由处理函数。
- TraceLayer由tower-http提供,支持自定义日志记录行为。
- 可以使用make_span_with方法记录请求的相关信息。
- on_request、on_response、on_body_chunk等方法允许在请求和响应的不同阶段记录信息。
- 在on_request中可以使用hyper::body::to_bytes读取请求的body。
➡️