12次发布
0.2.7 | 2024年1月10日 |
---|---|
0.2.6 | 2024年1月10日 |
0.2.5 | 2023年10月7日 |
0.2.4 | 2023年7月18日 |
0.1.0 | 2023年3月17日 |
#21 in #toml-config
35 monthly downloads
15KB
291 代码行
Dyn Logger
此Crate提供对跟踪日志记录器的配置选项,允许您根据logging.toml
文件配置日志记录。使用此文件,您可以轻松更改每个模块的日志级别,以及记录器的格式和其他选项。此外,此Crate允许您配置多个文件记录器,每个记录器都有自己的日志级别、格式、颜色和路径选项。
用法
要使用此Crate,只需将其添加到您的Cargo.toml文件中作为依赖项
[dependencies]
dyn-logger = "0.2"
然后,按照以下方式配置您的记录器。这将读取您项目根目录中的logging.toml文件,并将配置设置应用于您的跟踪记录器。
fn main() -> Result<(), Box<dyn std::error::Error>> {
let logger = DynamicLogger::new("path/to/logging.toml")?
.with_stdout()?
.with_file_logger()?;
logger.init();
// ...
Ok(())
}
配置
logging.toml文件允许您配置应用程序的日志记录选项。以下是一个示例
# global logging options
[global]
log_level = "trace"
enabled = false
format = "compact" # Options: `full`, `compact`, `pretty` and `json`
line_number = true
file = true
thread_name = true
thread_id = true
# special std out logging, overrides global settings
[stream_logger]
enabled = true
color = true
format = "pretty" # Options: `full`, `compact`, `pretty` and `json`
line_number = true
file = true
thread_name = true
thread_id = true
modules = [
"module=trace",
"module::submodule_one=trace",
"module::submodule_two=debug",
"module::submodule_three=info",
]
# logging to files, uses global options
[[file_logger]]
enabled = true
filename = "logfile.log"
path = "./logs"
line_number = false # override global options
thread_id = false # override global options
format = "json" # Options: `full`, `compact`, `pretty` and `json`
modules = [
"module_name::submodule::example=trace",
]
[[file_logger]]
enabled = true
filename = "another_logfile.log"
path = "./logs"
format = "compact" # Options: `full`, `compact`, `pretty` and `json`
modules = [
"module_name::submodule=trace",
"module_name::other_submodule=debug",
]
许可证
此Crate受EUPL-1.2许可证的许可。有关更多信息,请参阅LICENSE文件。
依赖项
~6–8.5MB
~150K SLoC