Skip to content

Commit

Permalink
moved the logger to its own module
Browse files Browse the repository at this point in the history
  • Loading branch information
Siel committed Oct 3, 2023
1 parent f2609e2 commit a5d088c
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 25 deletions.
26 changes: 1 addition & 25 deletions src/entrypoints.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,14 @@ use crate::prelude::output::NPCycle;
use crate::prelude::{
output::NPResult,
predict::{Engine, Predict},
settings::run::Data,
*,
};
use csv::{ReaderBuilder, WriterBuilder};
use eyre::Result;

use log::LevelFilter;
use log4rs::append::file::FileAppender;
use log4rs::config::{Appender, Config, Root};
use log4rs::encode::pattern::PatternEncoder;
use ndarray::Array2;
use ndarray_csv::Array2Reader;
use predict::sim_obs;
use std::fs;
use std::fs::File;
use std::thread::spawn;
use std::time::Instant;
Expand Down Expand Up @@ -64,7 +58,7 @@ where
{
let now = Instant::now();
let settings = settings::run::read(settings_path);
setup_log(&settings);
logger::setup_log(&settings);
let (tx, rx) = mpsc::unbounded_channel::<NPCycle>();
let mut algorithm = initialize_algorithm(engine.clone(), settings.clone(), tx);
// Spawn new thread for TUI
Expand All @@ -84,21 +78,3 @@ where

Ok(result)
}

//TODO: move elsewhere
fn setup_log(settings: &Data) {
if let Some(log_path) = &settings.parsed.paths.log_out {
if fs::remove_file(log_path).is_ok() {};
let logfile = FileAppender::builder()
.encoder(Box::new(PatternEncoder::new("{l}: {m}\n")))
.build(log_path)
.unwrap();

let config = Config::builder()
.appender(Appender::builder().build("logfile", Box::new(logfile)))
.build(Root::builder().appender("logfile").build(LevelFilter::Info))
.unwrap();

log4rs::init_config(config).unwrap();
};
}
2 changes: 2 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,14 @@ pub mod routines {
}
}
pub mod entrypoints;
pub mod logger;
pub mod tui;

pub mod prelude {
pub use crate::algorithms;
pub use crate::entrypoints::simulate;
pub use crate::entrypoints::start;
pub use crate::logger;
pub use crate::prelude::evaluation::{prob, sigma, *};
pub use crate::routines::initialization::*;
pub use crate::routines::optimization::*;
Expand Down
23 changes: 23 additions & 0 deletions src/logger.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
use crate::prelude::settings::run::Data;
use log::LevelFilter;
use log4rs::append::file::FileAppender;
use log4rs::config::{Appender, Config, Root};
use log4rs::encode::pattern::PatternEncoder;
use std::fs;

pub fn setup_log(settings: &Data) {
if let Some(log_path) = &settings.parsed.paths.log_out {
if fs::remove_file(log_path).is_ok() {};
let logfile = FileAppender::builder()
.encoder(Box::new(PatternEncoder::new("{l}: {m}\n")))
.build(log_path)
.unwrap();

let config = Config::builder()
.appender(Appender::builder().build("logfile", Box::new(logfile)))
.build(Root::builder().appender("logfile").build(LevelFilter::Info))
.unwrap();

log4rs::init_config(config).unwrap();
};
}

0 comments on commit a5d088c

Please sign in to comment.