diff options
Diffstat (limited to 'src/logger.rs')
| -rw-r--r-- | src/logger.rs | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/logger.rs b/src/logger.rs index f7ef2f5..25d6382 100644 --- a/src/logger.rs +++ b/src/logger.rs @@ -6,8 +6,9 @@ use simplelog::{format_description, Config as LogConfig, ConfigBuilder}; #[cfg(debug_assertions)] pub fn setup_logger(working_mode: WorkingMode) -> Result<()> { - let config = build_config(); - if working_mode == WorkingMode::Serve { + let is_serve = working_mode.is_serve(); + let config = build_config(is_serve); + if is_serve { simplelog::SimpleLogger::init(LevelFilter::Debug, config)?; } else { let file = std::fs::File::create(crate::config::Config::local_path("debug.log")?)?; @@ -18,17 +19,21 @@ pub fn setup_logger(working_mode: WorkingMode) -> Result<()> { #[cfg(not(debug_assertions))] pub fn setup_logger(working_mode: WorkingMode) -> Result<()> { - let config = build_config(); - if working_mode == WorkingMode::Serve { + if working_mode.is_serve() { + let config = build_config(true); simplelog::SimpleLogger::init(log::LevelFilter::Info, config)?; } Ok(()) } -fn build_config() -> LogConfig { - let log_filter = match std::env::var("AICHAT_LOG_FILTER") { - Ok(v) => v, - Err(_) => "aichat".into(), +fn build_config(is_serve: bool) -> LogConfig { + let log_filter = if is_serve { + "aichat::serve".into() + } else { + match std::env::var("AICHAT_LOG_FILTER") { + Ok(v) => v, + Err(_) => "aichat".into(), + } }; ConfigBuilder::new() .add_filter_allow(log_filter) |
