diff options
| author | Nathan Perry <np@nathanperry.dev> | 2022-11-28 13:13:56 -0500 |
|---|---|---|
| committer | Nathan Perry <np@nathanperry.dev> | 2022-11-28 13:13:56 -0500 |
| commit | 14a9ad0c85b0ee6f190323a8903d1239b8968d22 (patch) | |
| tree | f2747f9814ea12081f4850a8970e6d800ece3902 /src/log_setup.rs | |
| parent | 22cdf56ffccaefd0c9a4cb67cac87c7620d2d3f3 (diff) | |
nix: write nixos test configuration
- filter rust sources to avoid spurious rebuilds
- fix accidental circular reference in nix flake
- fix postgres startup scripts and behavior
- thulani logger doesn't log to file by default
Diffstat (limited to 'src/log_setup.rs')
| -rw-r--r-- | src/log_setup.rs | 42 |
1 files changed, 24 insertions, 18 deletions
diff --git a/src/log_setup.rs b/src/log_setup.rs index a51ebcc..c01f3f5 100644 --- a/src/log_setup.rs +++ b/src/log_setup.rs @@ -2,13 +2,13 @@ use crate::{Result, Error}; use fern::colors::{Color, ColoredLevelConfig}; -pub fn init() -> Result<()> { +pub fn init(file_output: bool) -> Result<()> { let colors = ColoredLevelConfig::new() .info(Color::Green) .debug(Color::BrightBlue) .trace(Color::BrightMagenta); - fern::Dispatch::new() + let mut logger = fern::Dispatch::new() .level_for("serenity::voice::connection", log::LevelFilter::Error) .chain(fern::Dispatch::new() .format(move |out, message, record| { @@ -23,21 +23,27 @@ pub fn init() -> Result<()> { .level(log::LevelFilter::Warn) .level_for("thulani", log::LevelFilter::Debug) .chain(std::io::stdout()) - ) - .chain(fern::Dispatch::new() - .format(|out, message, record| { - out.finish(format_args!( - "{} [{}] [{}] {}", - chrono::Local::now().format("%_m/%_d/%y %l:%M:%S%P"), - record.level(), - record.target(), - message - )) - }) - .level(log::LevelFilter::Info) - .level_for("thulani", log::LevelFilter::Trace) - .chain(fern::log_file("thulani.log").expect("problem creating log file")) - ) + ); + + if file_output { + logger = logger + .chain(fern::Dispatch::new() + .format(|out, message, record| { + out.finish(format_args!( + "{} [{}] [{}] {}", + chrono::Local::now().format("%_m/%_d/%y %l:%M:%S%P"), + record.level(), + record.target(), + message + )) + }) + .level(log::LevelFilter::Info) + .level_for("thulani", log::LevelFilter::Trace) + .chain(fern::log_file("thulani.log").expect("problem creating log file")) + ); + } + + logger .apply() .map_err(Error::from) -}
\ No newline at end of file +} |
