diff --git a/src/main.rs b/src/main.rs index 10d421e6..11f61fa5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,5 @@ +use std::fs; + use crate::config::CliConfig; #[cfg(unix)] use color_eyre::eyre::eyre; @@ -61,10 +63,13 @@ fn setup_logger(log_target: LogTarget, verbose: bool) -> eyre::Result<()> { #[cfg(target_os = "windows")] LogTarget::Syslog => { let dirs = directories::BaseDirs::new().unwrap(); - let mut log_file = dirs.config_dir().to_path_buf(); + let mut log_file = dirs.data_local_dir().to_path_buf(); log_file.push("spotifyd"); log_file.push(".spotifyd.log"); + if let Some(p) = log_file.parent() { + fs::create_dir_all(p)? + }; logger.chain( std::fs::OpenOptions::new() .write(true)