From fb9fb21c2b158e43444d46050237b4dc25ed7d14 Mon Sep 17 00:00:00 2001 From: Daniel Karzel Date: Fri, 21 May 2021 09:53:06 +1000 Subject: [PATCH] CLI log statements to be more JSON friendly Values to be logged as fields. Upon starting a swap we print the swap-id as well. --- swap/src/bin/swap.rs | 16 +++++++++------- swap/src/protocol/bob/swap.rs | 19 +++++++++---------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/swap/src/bin/swap.rs b/swap/src/bin/swap.rs index d5e52d84..eb7523a3 100644 --- a/swap/src/bin/swap.rs +++ b/swap/src/bin/swap.rs @@ -100,6 +100,8 @@ async fn main() -> Result<()> { .behaviour_mut() .add_address(seller_peer_id, seller_addr); + let our_peer_id = swarm.local_peer_id(); + tracing::debug!(peer_id = %our_peer_id, "Initializing network module"); let (event_loop, mut event_loop_handle) = EventLoop::new( swap_id, swarm, @@ -110,7 +112,7 @@ async fn main() -> Result<()> { let event_loop = tokio::spawn(event_loop.run()); let max_givable = || bitcoin_wallet.max_giveable(TxLock::script_size()); - let (send_bitcoin, fees) = determine_btc_to_swap( + let (amount, fees) = determine_btc_to_swap( event_loop_handle.request_quote(), bitcoin_wallet.new_address(), || bitcoin_wallet.balance(), @@ -119,7 +121,7 @@ async fn main() -> Result<()> { ) .await?; - info!("Swapping {} with {} fees", send_bitcoin, fees); + info!(%amount, %fees, %swap_id, "Swapping"); db.insert_peer_id(swap_id, seller_peer_id).await?; @@ -131,7 +133,7 @@ async fn main() -> Result<()> { env_config, event_loop_handle, monero_receive_address, - send_bitcoin, + amount, ); tokio::select! { @@ -193,8 +195,8 @@ async fn main() -> Result<()> { let seller_peer_id = db.get_peer_id(swap_id)?; let mut swarm = swarm::bob(&seed, seller_peer_id, tor_socks5_port).await?; - let bob_peer_id = swarm.local_peer_id(); - tracing::debug!("Our peer-id: {}", bob_peer_id); + let our_peer_id = swarm.local_peer_id(); + tracing::debug!(peer_id = %our_peer_id, "Initializing network module"); swarm .behaviour_mut() .add_address(seller_peer_id, seller_addr); @@ -353,10 +355,10 @@ where debug!("Requesting quote"); let bid_quote = bid_quote.await?; info!( + price = %bid_quote.price, minimum_amount = %bid_quote.min_quantity, maximum_amount = %bid_quote.max_quantity, - "Received quote: 1 XMR ~ {}", - bid_quote.price + "Received quote: 1 XMR ~ ", ); let mut current_maximum_giveable = max_giveable().await?; diff --git a/swap/src/protocol/bob/swap.rs b/swap/src/protocol/bob/swap.rs index 07425f53..5cdf7165 100644 --- a/swap/src/protocol/bob/swap.rs +++ b/swap/src/protocol/bob/swap.rs @@ -61,7 +61,7 @@ async fn next_state( env_config: &Config, receive_monero_address: monero::Address, ) -> Result { - tracing::trace!("Current state: {}", state); + tracing::trace!(%state, "Advancing state"); Ok(match state { BobState::Started { btc_amount } => { @@ -152,7 +152,7 @@ async fn next_state( match received_xmr { Ok(()) => BobState::XmrLocked(state.xmr_locked(monero_wallet_restore_blockheight)), Err(e) => { - tracing::warn!("Waiting for refund because insufficient Monero have been locked! {}", e); + tracing::warn!("Waiting for refund because insufficient Monero have been locked! {:#}", e); tx_lock_status.wait_until_confirmed_with(state.cancel_timelock).await?; BobState::CancelTimelockExpired(state.cancel()) @@ -205,10 +205,10 @@ async fn next_state( BobState::BtcRedeemed(state) => { let (spend_key, view_key) = state.xmr_keys(); - let generated_wallet_file_name = swap_id.to_string(); + let wallet_file_name = swap_id.to_string(); if let Err(e) = monero_wallet .create_from_and_load( - generated_wallet_file_name.clone(), + wallet_file_name.clone(), spend_key, view_key, state.monero_wallet_restore_blockheight, @@ -219,11 +219,10 @@ async fn next_state( // exist! This is a very unlikely scenario, but if we don't take care of it we // might not be able to ever transfer the Monero. tracing::warn!("Failed to generate monero wallet from keys: {:#}", e); - tracing::info!( - "Falling back to trying to open the the wallet if it already exists: {}", - swap_id + tracing::info!(%wallet_file_name, + "Falling back to trying to open the the wallet if it already exists", ); - monero_wallet.open(generated_wallet_file_name).await?; + monero_wallet.open(wallet_file_name).await?; } // Ensure that the generated wallet is synced so we have a proper balance @@ -232,7 +231,7 @@ async fn next_state( let tx_hashes = monero_wallet.sweep_all(receive_monero_address).await?; for tx_hash in tx_hashes { - tracing::info!("Sent XMR to {} in tx {}", receive_monero_address, tx_hash.0); + tracing::info!(%receive_monero_address, txid=%tx_hash.0, "Sent XMR to"); } BobState::XmrRedeemed { @@ -281,7 +280,7 @@ pub async fn request_price_and_setup( ) -> Result { let xmr = event_loop_handle.request_spot_price(btc).await?; - tracing::info!("Spot price for {} is {}", btc, xmr); + tracing::info!(%btc, %xmr, "Spot price"); let state0 = State0::new( swap_id,