Default log level changed to INFO; added option to enable TRACE log level

This commit is contained in:
veeso
2021-12-12 12:54:36 +01:00
committed by Christian Visintin
parent e6ba4d8430
commit 2a3d4f2670
11 changed files with 57 additions and 72 deletions

View File

@@ -29,14 +29,15 @@
use crate::system::environment::{get_log_paths, init_config_dir};
use crate::utils::file::open_file;
// ext
use simplelog::{ConfigBuilder, LevelFilter, WriteLogger};
pub use simplelog::LevelFilter as LogLevel;
use simplelog::{ConfigBuilder, WriteLogger};
use std::fs::File;
use std::path::PathBuf;
/// ### init
///
/// Initialize logger
pub fn init() -> Result<(), String> {
pub fn init(level: LogLevel) -> Result<(), String> {
// Init config dir
let config_dir: PathBuf = match init_config_dir() {
Ok(Some(p)) => p,
@@ -56,7 +57,7 @@ pub fn init() -> Result<(), String> {
.set_time_format_str("%Y-%m-%dT%H:%M:%S%z")
.build();
// Make logger
WriteLogger::init(LevelFilter::Trace, config, file)
WriteLogger::init(level, config, file)
.map_err(|e| format!("Failed to initialize logger: {}", e))
}
@@ -67,6 +68,6 @@ mod test {
#[test]
fn test_system_logging_setup() {
assert!(init().is_ok());
assert!(init(LogLevel::Trace).is_ok());
}
}