diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2017-07-17 10:47:48 +0200 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2017-07-17 10:47:48 +0200 |
| commit | 6a4202fc8c55752f0fef86c04b628a3f9ada5279 (patch) | |
| tree | 587317172e99ec790b577b87c9ec62ac33a35342 | |
| parent | 56e6f7aae1988a84e96ab65b17c1d051881b9c88 (diff) | |
| parent | ece6d694e06d4d006d4bc9ace7cafa33e7146fad (diff) | |
| download | mullvadvpn-6a4202fc8c55752f0fef86c04b628a3f9ada5279.tar.xz mullvadvpn-6a4202fc8c55752f0fef86c04b628a3f9ada5279.zip | |
Merge branch 'nicer-error-print'
| -rw-r--r-- | mullvad_daemon/src/main.rs | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/mullvad_daemon/src/main.rs b/mullvad_daemon/src/main.rs index 74d6801cff..b26ca315a8 100644 --- a/mullvad_daemon/src/main.rs +++ b/mullvad_daemon/src/main.rs @@ -29,6 +29,7 @@ mod management_interface; mod rpc_info; mod shutdown; +use error_chain::ChainedError; use management_interface::{ManagementInterfaceServer, TunnelCommand}; use mullvad_types::states::{DaemonState, SecurityState, TargetState}; use std::io; @@ -245,7 +246,7 @@ impl Daemon { fn handle_tunnel_exited(&mut self, result: tunnel::Result<()>) -> Result<()> { if let Err(e) = result.chain_err(|| "Tunnel exited in an unexpected way") { - log_error(&e); + error!("{}", e.display()); } self.tunnel_close_handle = None; self.set_state(TunnelState::NotRunning) @@ -353,7 +354,7 @@ impl Daemon { (TargetState::Secured, TunnelState::NotRunning) => { debug!("Triggering tunnel start"); if let Err(e) = self.start_tunnel().chain_err(|| "Failed to start tunnel") { - log_error(&e); + error!("{}", e.display()); self.management_interface_broadcaster.notify_error(&e); self.set_target_state(TargetState::Unsecured)?; } @@ -438,24 +439,12 @@ impl DaemonShutdownHandle { impl Drop for Daemon { fn drop(self: &mut Daemon) { if let Err(e) = rpc_info::remove().chain_err(|| "Unable to clean up rpc address file") { - log_error(&e); + error!("{}", e.display()); } } } -fn log_error<E>(error: &E) - where E: error_chain::ChainedError -{ - let mut msg = error.to_string(); - for e in error.iter().skip(1) { - msg.push_str("\n\tCaused by: "); - msg.push_str(&e.to_string()[..]); - } - error!("{}", msg); -} - - quick_main!(run); fn run() -> Result<()> { |
