在Axum Rust中,您可以使用log
和env_logger
这两个库进行日志记录。首先,您需要在您的Cargo.toml
文件中添加这两个库作为依赖项:
[dependencies] log = "0.4" env_logger = "0.9"
接下来,您可以在您的Axum Rust应用程序中设置和使用日志记录器。以下是一个简单的示例:
use axum::{body::Body, Response, Server}; use log::{info, error}; use env_logger::Env; async fn handle(req: Request) -> Result, axum::Error> { // 初始化日志记录器 env_logger::from_env(Env::default().default_filter_or("info")).init(); // 记录请求信息 info!("Received request: {:?}", req); // 处理请求并记录响应信息 let response = Response::new(Body::from("Hello, world!")); info!("Sent response: {:?}", response); Ok(response) } #[tokio::main] async fn main() { // 创建Axum服务器 let server = Server::bind(&std::net::SocketAddr::from(([127, 0, 0, 1], 3000))).serve(handle); // 运行服务器并记录启动信息 info!("Server is running on http://127.0.0.1:3000"); if let Err(e) = server.await { error!("Server error: {:?}", e); } }
在这个示例中,我们首先导入了log
和env_logger
库。然后,在handle
函数中,我们使用env_logger::from_env
函数初始化日志记录器,并使用默认的环境变量设置日志级别。接下来,我们使用info!
宏记录请求和响应信息。最后,在main
函数中,我们记录服务器启动信息。
您可以根据需要调整日志记录器的配置,例如更改日志级别或格式。更多关于log
和env_logger
库的信息,请参阅它们的文档: