Rust-日志输出

举报
林太白 发表于 2025/07/30 10:42:56 2025/07/30
【摘要】 Rust-日志输出

Rust-日志输出

1、认识日志库logenv_logger

日志库logenv_logger

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

2、安装

👉在 Cargo.toml 中添加依赖

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

3、使用

👉在项目之中使用

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.");
}


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

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

👉配置日志输出级别

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

不同的级别:


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

👉文件之中输出

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

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>,
}

这个时候我们才可以输出

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


[2025-07-20T09:35:23Z INFO  nexusrust::modules::user::handlers] 收到查询 请求2
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。