Set logging to output to file as well
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
use std::fs::File;
|
||||
|
||||
use config::CuddleConfig;
|
||||
use simplelog::{ColorChoice, Config, TermLogger, TerminalMode};
|
||||
use simplelog::{ColorChoice, CombinedLogger, Config, TermLogger, TerminalMode, WriteLogger};
|
||||
|
||||
mod actions;
|
||||
mod cli;
|
||||
@@ -8,14 +10,7 @@ mod context;
|
||||
mod model;
|
||||
|
||||
fn main() -> anyhow::Result<()> {
|
||||
TermLogger::init(
|
||||
log::LevelFilter::Info,
|
||||
Config::default(),
|
||||
TerminalMode::Mixed,
|
||||
ColorChoice::Auto,
|
||||
)?;
|
||||
|
||||
log::set_max_level(log::LevelFilter::Info);
|
||||
init_logging()?;
|
||||
|
||||
let config = CuddleConfig::from_env()?;
|
||||
|
||||
@@ -24,3 +19,24 @@ fn main() -> anyhow::Result<()> {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn init_logging() -> anyhow::Result<()> {
|
||||
let mut log_file = dirs::state_dir().ok_or(anyhow::anyhow!("could not find state_dir"))?;
|
||||
log_file.push("cuddle_cli.log");
|
||||
|
||||
CombinedLogger::init(vec![
|
||||
TermLogger::new(
|
||||
log::LevelFilter::Info,
|
||||
Config::default(),
|
||||
TerminalMode::Mixed,
|
||||
ColorChoice::Auto,
|
||||
),
|
||||
WriteLogger::new(
|
||||
log::LevelFilter::Debug,
|
||||
Config::default(),
|
||||
File::create(log_file).unwrap(),
|
||||
),
|
||||
])?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
Reference in New Issue
Block a user