#logging #log #log-file #stdout #console

durylog

一个易于使用的库,实现标准输出、文件或两者的日志记录

3个版本

0.1.2 2023年1月20日
0.1.1 2023年1月18日
0.1.0 2023年1月17日

调试 中排名第 571

每月下载量 31

MIT 许可证

28KB
328

durylog

此crate为项目或库添加日志记录功能。

在尝试了很多用于日志记录的crate后,我发现有些crate虽然功能丰富,但使用复杂,或者有的crate易于使用,但只能在文件或控制台进行日志记录。

我决定编写自己的lib,旨在实现 易于使用并具有一些有用的特性

  • 可以仅在标准输出、仅文件或两者同时进行日志记录。
  • 非常易于开始:安装后即可使用。
  • API名称简短。
  • 它实现了 log crate,因此你可以使用Rust库的日志宏。

添加到项目中

在文件 cargo.toml 中添加

[dependencies]
durylog = "0.1.0"

入门指南

使用此crate有两种方式

  • 直接创建对象: let durylog=DLog::new(); 并像这样使用 durylog.d("日志消息");
  • 初始化日志记录器: DLog::new().init_logger().ok(); 并使用 log 宏,如 debug!("日志消息");

阅读 文档示例

默认设置下的输出(在控制台和/或文件中)如下

2023/01/02 18.01.27 : DEBUG  : Debug message

第一个标签是日期时间戳,第二个标签是级别名称,其后是日志消息标签

示例

直接使用默认设置

use durylog::DLog;

fn main() {
    let durylog=DLog::new();

    println!("{}", durylog.get_status()); // This prints all current crate settings (in this case are defaults)

    durylog.e("Error message");
    durylog.w("Warning message");
    durylog.i("Info message");
    durylog.d("Debug message");
    durylog.t("Trace message");
}

这将无颜色地记录到标准输出。

直接使用自定义设置

use durylog::DLog;

fn main() {
    let durylog=DLog::new()
    .with_color() // Enable colors in console output (default disabled)
    .widh_timestamp_format("%Y-%m-%d %H:%M:%S") // Change default timestamp
    .widh_custom_separator(" | ") // Change default separator pattern for items
    .with_file("durylog-custom.log").unwrap(); // Enable logging on file (default disable)

println!("{}", durylog.get_status()); // This prints all current crate settings (in this case there are custom)

    durylog.e("Error message");
    durylog.w("Warning message");
    durlog.i("Info message");
    durylog.d("Debug message");
    durylog.t("Trace message");
}

这将带颜色地记录到标准输出,时间戳和标签的格式不同,分隔符也不同,并在文件 durylog-custom.log 中添加与控制台相同的日志行。

使用默认设置的宏

use durylog::{error,warn,info,debug,trace,DLog};

fn main() {
    DLog::new().init_logger().ok();

    error!("Error message");
    warn!("Warning message");
    info!("Info message");
    debug!("Debug message");
    trace!("Trace message");
}

这将无颜色地记录到标准输出。

使用自定义设置的宏

use durylog::{error,warn,info,debug,trace,DLog};

fn main() {
    DLog::new()
        .with_color() // Enable colors in console output (default disabled)
        .widh_timestamp_format("%Y-%m-%d %H:%M:%S") // Change default timestamp
        .widh_custom_separator(" | ") // Change default separator pattern for items
        .with_file("log-custom.log").unwrap() // Enable logging on file (default disable)
        .init_logger().ok();

    error!("Error message");
    warn!("Warning message");
    info!("Info message");
    debug!("Debug message");
    trace!("Trace message");
}

这将带颜色地记录到标准输出,时间戳和标签的格式不同,分隔符也不同,并在文件 log-custom.log 中添加与控制台相同的日志行。

依赖项

~2MB
~33K SLoC