summaryrefslogtreecommitdiffstats
path: root/src/logger.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/logger.rs')
-rw-r--r--src/logger.rs21
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)