#logging #error-logging #logger #rust

bin+lib rust_logging

几个函数,使 Rust 中的日志记录更容易

2 个稳定版本

1.1.0 2022年5月9日
1.0.0 2022年5月8日

28 in #error-logging

MIT 许可证

145KB
257

Rust 日志 ⛔

💬 几个函数,使 Rust 中的日志记录更容易。

安装 📦

# Cargo.toml
[dependencies]
rust_logging = "1.1.0"

用法 📝

初始化

use rust_logging::*;

fn main() { 
    // With default settings
    let default_logger = Logger::new();

    // With custom settings
    let settings = LoggerOptions {
        error_icon: "💥", // the icon for errors
        warn_icon: "⚠️", // the icon for warnings
        info_icon: "ℹ️", // the icon for info
        success_icon: "", // the icon for success
        icon_connector: "=>", // the connector between the icon and the message
        log_file: "log.txt", // the file to log to when logging to a file
        highlight: true, // highlight text after ":" in the message
        ..Default::default() // the default values for the non specified settings
    };

    let custom_logger = settings.get_logger();
}

日志记录

此代码提供了以下函数

  • 🟡 warn(): 打印警告消息。
  • 🔴 error(): 打印错误消息。
  • 🔵 info(): 打印信息消息。
  • 🟢 success(): 打印成功消息。
  • ℹ️ 在函数名前添加 f 以将消息打印到日志文件

每个函数接受一个参数,即要打印的消息。

logger.error("a command failed : hello"); 
logger.info("executing command : hello");
logger.warn("a command is about to fail : hello");
logger.success("a command succeeded : hello");

高亮显示 🔍

默认情况下,冒号后面的文本将被高亮显示。

您可以通过在自定义设置中将 highlight 字段设置为 false 来禁用此功能。

let settings = LoggerOptions {
    highlight: false,
    ..Default::default()
};

let logger = settings.get_logger();

图标连接符 🔗

默认情况下,图标和消息之间用箭头 -> 分隔。

您可以通过将 icon_connector 字段设置为其他内容来更改此设置。

let settings = LoggerOptions {
    icon_connector: "=>",
    ..Default::default()
}

let logger = settings.get_logger();

图标 🔍

默认情况下,使用以下图标

图标 函数
[ x ] error()
[ i ] info()
[ v ] success()
[ ! ] warn()

您可以通过在自定义设置中设置以下字段来更改此设置

let settings = LoggerOptions {
    error_icon: "💥",
    warn_icon: "⚠️",
    info_icon: "ℹ️",
    success_icon: "",
    ..Default::default()
};

let logger = settings.get_logger();

自定义颜色 🎨

您可以通过在自定义设置中设置 colors 字段来更改消息的颜色。

值必须是 rust_logging::Colors 结构。

let my_colors = Colors {
    // \x1b is the escape character (ASCII 27) and [xxm is the color 'code'
    red: "\x1b[93m", // escape sequence for yellow foreground
    bg_red: "\x1b[42m", // escape sequence for green background
    ..Default::default()
};

let settings = LoggerOptions {
    colors: my_colors,
    ..Default::default()
};

let logger = settings.get_logger();

logger.error("a command failed : hello");

日志文件 📄

您可以使用 log_file 字段指定消息要写入的日志文件路径。

使用函数名前的 f 前缀将消息打印到日志文件。

let settings = LoggerOptions {
    log_file: "myProgram.log",
    ..Default::default()
}

let logger = settings.get_logger();

// -----------------------------

logger.fwarning("This is a : warning message");
logger.fsuccess("This is a : success message");
logger.finfo("This is an : information message");
logger.ferror("This is an : error message");

在记录到文件时也记录到终端 📄

您可以将环境变量 LOG 设置为 print 以在记录到文件时也记录到终端。

LOG=print [program]

#########
# PROGRAM SOURCE CODE #
# ferror("This is an : error message");
#########

[Terminal output] : 

[ x ] -> This is an : error message

#########
# LOGFILE CONTENT #
# [ x ] -> This is an : error message
#########

最终

如果您有任何问题,请不要犹豫,提出一个 issue

贡献

欢迎拉取请求。对于主要更改,请先提出一个 issue 以讨论您想要更改的内容。

依赖项