diff options
| -rw-r--r-- | mullvad_daemon/Cargo.toml | 3 | ||||
| -rw-r--r-- | mullvad_daemon/src/main.rs | 18 |
2 files changed, 18 insertions, 3 deletions
diff --git a/mullvad_daemon/Cargo.toml b/mullvad_daemon/Cargo.toml index 73c9fe40dd..8de43cf83b 100644 --- a/mullvad_daemon/Cargo.toml +++ b/mullvad_daemon/Cargo.toml @@ -8,11 +8,12 @@ description = "The meat of Mullvad, the core if you wish" name = "mullvadd" [dependencies] +chrono = "0.4" error-chain = "0.10" +fern = "0.4" serde = "1.0" serde_derive = "1.0" log = "0.3" -env_logger = "0.4" jsonrpc-core = { git = "https://github.com/paritytech/jsonrpc" } jsonrpc-macros = { git = "https://github.com/paritytech/jsonrpc" } jsonrpc-pubsub = { git = "https://github.com/paritytech/jsonrpc" } diff --git a/mullvad_daemon/src/main.rs b/mullvad_daemon/src/main.rs index 51bf264465..4b2e03cfb3 100644 --- a/mullvad_daemon/src/main.rs +++ b/mullvad_daemon/src/main.rs @@ -1,8 +1,9 @@ +extern crate chrono; #[macro_use] extern crate log; -extern crate env_logger; #[macro_use] extern crate error_chain; +extern crate fern; extern crate serde; #[macro_use] @@ -467,5 +468,18 @@ fn run() -> Result<()> { } fn init_logger() -> Result<()> { - env_logger::init().chain_err(|| "Failed to bootstrap logging system") + let log_filename = "mullvadd.log"; + fern::Dispatch::new() + .format(|out, message, record| { + out.finish(format_args!("{}[{}][{}] {}", + chrono::Local::now() + .format("[%Y-%m-%d %H:%M:%S]"), + record.target(), + record.level(), + message)) + }) + .level(log::LogLevelFilter::Debug) + .chain(std::io::stdout()) + .chain(fern::log_file(log_filename).chain_err(|| "Failed to open log file for writing")?) + .apply().chain_err(|| "Failed to bootstrap logging system") } |
