美文网首页
Rust log 设置

Rust log 设置

作者: 球果假水晶蓝 | 来源:发表于2024-04-15 20:16 被阅读0次

    程序运行中,记录一些运行中关键信息,有助于开发者和使用者维护和使用。此外 我还想把关键信息再加上颜色。

    [dependencies]
    log = "0.4"
    env_logger = "0.10"
    colored = "2.0"
    
    
    use colored::*;
    use env_logger::{Builder, fmt::Target, LevelFilter};
    use log::{info, log};
    use std::io::Write;
    
    fn main() {
        // 初始化日志设置
        Builder::new()
            .format(|buf, record| {
                let level = { buf.default_styled_level(record.level()) };
                let mut style = buf.style();
                style.set_bold(true);
                writeln!(
                    buf,
                    "{}\t[{}]\t{}",
                    style.value(Local::now().format("%Y/%m/%d %H:%M:%S")),
                    level,
                    style.value(record.args())
                )
            })
            .target(Target::Stdout)
            .filter(None, LevelFilter::Debug)
            .init();
    
        // 创建日志消息,其中特定部分("three")被着色和加粗
        let message = format!("This are {} message", "three".blue().bold());
        info!("{}", message);
    }
    
    

    此外,我还看到了其他的写法,它借助chrono获取时间,colored库给字体加上颜色。

    use chrono::prelude::*;
    use colored::Colorize;
    
    
    pub fn section_header(text: &str) {
        colored::control::set_override(true);
        let now = Local::now().format("%Y-%m-%d %H:%M:%S").to_string();
        let date = format!("({})", now);
        eprintln!();
        eprintln!("{} {}", text.bold().bright_yellow().underline(), date.dimmed());
        colored::control::unset_override();
    }
    
    
    pub fn explanation(text: &str) {
        colored::control::set_override(true);
        let mut term_width = 80;
        if let Some((w, _)) = term_size::dimensions_stderr() {
            term_width = w;
        }
        let indented_text = format!("    {}", text);
        eprintln!("{}", textwrap::fill(&indented_text, term_width).dimmed());
        eprintln!();
        colored::control::unset_override();
    }
    //https://github.com/rrwick/Polypolish/blob/main/src/log.rs
    

    此外,在Linux系统中,我习惯使用以下命令查看log信息,这样能看到彩色提示的信息。

    less -SR  log.file 来查看文件
    
    image.png

    相关文章

      网友评论

          本文标题:Rust log 设置

          本文链接:https://www.haomeiwen.com/subject/uugdxjtx.html