在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<Body>) -> Result<Response<Body>, 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
库的信息,请参阅它们的文档: