diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2018-05-09 16:37:53 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2018-05-14 23:12:21 +0200 |
| commit | 6b6ddb3642e8b7fdbab53cbbbb40171b2e015f86 (patch) | |
| tree | 085b692d15ed3928174178d30c310a75c4a70003 | |
| parent | 03ee852bdedfa17c39e097c31e23833cdae98663 (diff) | |
| download | mullvadvpn-6b6ddb3642e8b7fdbab53cbbbb40171b2e015f86.tar.xz mullvadvpn-6b6ddb3642e8b7fdbab53cbbbb40171b2e015f86.zip | |
Make mullvad-daemon create logging dir
| -rw-r--r-- | mullvad-daemon/src/logging.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/mullvad-daemon/src/logging.rs b/mullvad-daemon/src/logging.rs index 4f4869d6e6..2ef62ad8cb 100644 --- a/mullvad-daemon/src/logging.rs +++ b/mullvad-daemon/src/logging.rs @@ -6,6 +6,7 @@ use chrono; use log; use std::fmt; +use std::fs; use std::io; use std::path::PathBuf; @@ -13,7 +14,11 @@ error_chain! { errors { WriteFileError(path: PathBuf) { description("Unable to open log file for writing") - display("Unable to open log file for writing: {}", path.to_string_lossy()) + display("Unable to open log file for writing: {}", path.display()) + } + CreateDirError(path: PathBuf) { + description("Unable to create directory for log") + display("Unable to create directory for log: {}", path.display()) } } foreign_links { @@ -70,6 +75,9 @@ pub fn init_logger( top_dispatcher = top_dispatcher.chain(stdout_dispatcher); if let Some(ref log_file) = log_file { + if let Some(parent) = log_file.parent() { + fs::create_dir_all(parent).chain_err(|| ErrorKind::CreateDirError(parent.to_owned()))?; + } let file_formatter = Formatter { output_timestamp: true, output_color: false, |
