2 个稳定版本
1.1.0 | 2022年5月9日 |
---|---|
1.0.0 | 2022年5月8日 |
28 in #error-logging
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 以讨论您想要更改的内容。