Skip to content

Commit

Permalink
Add filtering to specified module logs
Browse files Browse the repository at this point in the history
  • Loading branch information
baoyachi committed Aug 20, 2024
1 parent f09fd0a commit 8594ab8
Show file tree
Hide file tree
Showing 3 changed files with 78 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[workspace.package]
version = "1.7.2"
version = "1.7.3"
edition = "2021"
authors = ["baoyachi <[email protected]>"]
description = "A simple log. It's really simple use"
Expand Down
73 changes: 73 additions & 0 deletions examples/filter_module.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
//! `cargo run --example console`
//!
//! With OutPut
//! ```bash
//! 16:57:13.619320000 [DEBUG] <filter_module:25>:test console debug
//! 16:57:13.619481000 [INFO] <filter_module:26>:test console info
//! 16:57:13.619489000 [WARN] <filter_module:27>:test console warn
//! 16:57:13.619495000 [ERROR] <filter_module:28>:test console error
//! 16:57:13.619501000 [INFO] <filter_module::app:41>:init app
//! 16:57:13.619507000 [INFO] <filter_module::app::launch:46>:init launch
//! 16:57:13.619515000 [DEBUG] <filter_module::app::launch::parser:57>:parser log
//! ```
#[macro_use]
extern crate simple_log;

use simple_log::LogConfig;

fn main() -> Result<(), String> {
let config = r#"
level = "debug"
out_kind = "console"
time_format = "%H:%M:%S.%f"
filter_module = ["filter_module::app::ctrl","filter_module::app::launch::conf"]
"#;
let conf: LogConfig = toml::from_str(config).unwrap();

simple_log::new(conf).unwrap(); //init log

debug!("test console debug");
info!("test console info");
warn!("test console warn");
error!("test console error");

app::init_app();
app::launch::init_launch();
app::launch::conf::err_conf(); // this log filter
app::launch::parser::err_parser();
app::ctrl::init_ctrl(); // this log filter

Ok(())
}

pub(crate) mod app {
pub fn init_app() {
info!("init app")
}

pub mod launch {
pub fn init_launch() {
info!("init launch")
}

pub mod conf {
pub fn err_conf() {
error!("conf log")
}
}

pub mod parser {
pub fn err_parser() {
debug!("parser log")
}
}
}

pub mod ctrl {
pub fn init_ctrl() {
info!("init ctrl")
}
}
}
4 changes: 4 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,12 +251,16 @@ pub fn get_log_conf() -> SimpleResult<LogConfig> {

#[derive(Debug, Default, Serialize, Deserialize, Clone, PartialEq, Eq)]
pub struct LogConfig {
#[serde(default)]
pub path: Option<String>,
pub level: String,
#[serde(default)]
pub size: u64,
#[serde(deserialize_with = "deserialize_out_kind", default)]
pub out_kind: Vec<OutKind>,
#[serde(default)]
pub roll_count: u32,
#[serde(default)]
pub time_format: Option<String>,
#[serde(default)]
pub filter_module: Vec<String>,
Expand Down

0 comments on commit 8594ab8

Please sign in to comment.