zlsrs 0.1.0

Rust 标准库扩展工具集,提供更便捷的使用方式
Documentation
use crate::{zerror, zfile};

use super::*;
use std::path::Path;

#[test]
fn test_logger() {
    // 测试文件输出
    let test_log = "./target/test_logs/test.log";

    let _ = zerror::try_catch(|| {
        let mut logger = Logger::new(Level::Debug);

        // 测试控制台输出
        logger.debug("这是一条调试信息");
        logger.info("这是一条信息");
        logger.warn("这是一条警告");
        logger.error("这是一条错误");

        let _ = zfile::create_dir("./target/test_logs");
        let _ = zfile::create_file(test_log);
        logger.set_file(test_log).unwrap();
        logger.debug("这是写入文件的调试信息");
        logger.info("这是写入文件的信息");
        logger.warn("这是写入文件的警告");
        logger.error("这是写入文件的错误");

        assert!(Path::new(test_log).exists());
        let _ = zfile::remove(test_log, false);

        Ok(())
    });
}

#[test]
fn test_log_macros() {
    let mut logger = Logger::new(Level::Debug);

    // 测试日志级别设置
    set_log_level!(logger, Level::Info);

    // 测试日志输出
    debug!(logger, "这是一条调试信息");
    info!(logger, "这是一条信息");
    warn!(logger, "这是一条警告");
    error!(logger, "这是一条错误");

    // 测试文件输出
    let test_log = "./target/test_logs/test_macro.log";
    let _ = zfile::create_dir("./target/test_logs");
    let _ = zfile::create_file(test_log);
    set_log_file!(logger, test_log);

    debug!(logger, "这是写入文件的调试信息");
    info!(logger, "这是写入文件的信息");
    warn!(logger, "这是写入文件的警告");
    error!(logger, "这是写入文件的错误");

    assert!(Path::new(test_log).exists());
    let _ = zfile::remove(test_log, false);
}