Skip to content

日志输出

1、认识日志库logenv_logger

日志库logenv_logger

项目之中我们灵活地管理日志(例如,调试、信息、警告和错误级别的日志),可以使用 log 库和 env_logger 来输出日志信息

2、安装

👉在 Cargo.toml 中添加依赖

javascript
[dependencies]
log = "0.4"
env_logger = "0.9"

3、使用

👉在项目之中使用

javascript
use log::{info, warn, error};

fn main() {
    // 初始化日志记录器
    env_logger::init();

    // 使用不同的日志级别
    info!("This is an info message.");
    warn!("This is a warning message.");
    error!("This is an error message.");
}

👉显式设置日志级别和输出格式

javascript
// 手动方式设置输出
// 显式设置日志级别和输出格式
Builder::new()
    .parse_filters("info") // 设置日志级别为 info
    .init(); // 初始化日志记录器

👉配置日志输出级别

env_logger 支持通过环境变量配置日志的输出级别。例如,在命令行中设置环境变量 RUST_LOG 来控制输出

javascript
不同的级别:

trace - 调试时记录的详细信息(最详细)
debug - 调试信息
info - 一般信息
warn - 警告信息
error - 错误信息(最少)

👉文件之中输出

需要注意我们在文件之中使用的时候需要把Debug的功能开启了才能进行使用

javascript
pub async fn get_all_users(
    pool: web::Data<MySqlPool>,
    query: web::Query<Pagination>,
) -> impl Responder {
  
}


// 分页数据模型 加Debug
#[derive(serde::Deserialize,Debug)]
pub struct Pagination {
    #[serde(rename = "pageNum")]
    pub page_num: Option<u32>,
    #[serde(rename = "pageSize")]
    pub page_size: Option<u32>,
}

这个时候我们才可以输出

javascript
info!("收到查询请求{}",query.page_num.unwrap_or(1));

[2025-07-20T09:35:23Z INFO  nexusrust::modules::user::handlers] 收到查询 请求2

4、项目使用

👉项目入口输出

Released under the MIT License.