在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
庫的信息,請參閱它們的文檔: