Skip to content

Commit 2232588

Browse files
committedOct 18, 2024
refactor(relay): use a dedicated logger for all logs
+ remove `slog_scope`, now only used in integration tests.
1 parent 01d5414 commit 2232588

File tree

11 files changed

+95
-70
lines changed

11 files changed

+95
-70
lines changed
 

‎mithril-relay/Cargo.toml

+3-1
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,10 @@ slog = { version = "2.7.0", features = [
4343
] }
4444
slog-async = "2.8.0"
4545
slog-bunyan = "2.5.0"
46-
slog-scope = "4.4.0"
4746
slog-term = "2.9.1"
4847
thiserror = "1.0.64"
4948
tokio = { version = "1.40.0", features = ["full"] }
5049
warp = "0.3.7"
50+
51+
[dev-dependencies]
52+
slog-scope = "4.4.0"

‎mithril-relay/src/commands/aggregator.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clap::Parser;
22
use libp2p::Multiaddr;
33
use mithril_common::StdResult;
4-
use slog_scope::error;
4+
use slog::error;
55

66
use super::CommandContext;
77
use crate::AggregatorRelay;
@@ -27,16 +27,16 @@ impl AggregatorCommand {
2727
let dial_to = self.dial_to.to_owned();
2828
let addr: Multiaddr = format!("/ip4/0.0.0.0/tcp/{}", self.listen_port).parse()?;
2929
let aggregator_endpoint = self.aggregator_endpoint.to_owned();
30+
let logger = context.logger();
3031

31-
let mut relay =
32-
AggregatorRelay::start(&addr, &aggregator_endpoint, context.logger()).await?;
32+
let mut relay = AggregatorRelay::start(&addr, &aggregator_endpoint, logger).await?;
3333
if let Some(dial_to_address) = dial_to {
3434
relay.dial_peer(dial_to_address.clone())?;
3535
}
3636

3737
loop {
3838
if let Err(err) = relay.tick().await {
39-
error!("RelayAggregator: tick error"; "error" => format!("{err:#?}"));
39+
error!(logger, "RelayAggregator: tick error"; "error" => format!("{err:#?}"));
4040
}
4141
}
4242
}

‎mithril-relay/src/commands/mod.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ use clap::Parser;
1313
use config::{builder::DefaultState, ConfigBuilder, Map, Source, Value};
1414
use context::CommandContext;
1515
use mithril_common::StdResult;
16-
use slog::{Level, Logger};
17-
use slog_scope::debug;
16+
use slog::{debug, Level, Logger};
1817
use std::path::PathBuf;
1918

2019
/// Relay for Mithril Node
@@ -46,9 +45,9 @@ pub struct Args {
4645
impl Args {
4746
/// execute command
4847
pub async fn execute(&self, logger: Logger) -> StdResult<()> {
49-
debug!("Run Mode: {}", self.run_mode);
48+
debug!(logger, "Run Mode: {}", self.run_mode);
5049
let filename = format!("{}/{}.json", self.config_directory.display(), self.run_mode);
51-
debug!("Reading configuration file '{}'.", filename);
50+
debug!(logger, "Reading configuration file '{filename}'.");
5251
let config: ConfigBuilder<DefaultState> = config::Config::builder()
5352
.add_source(config::File::with_name(&filename).required(false))
5453
.add_source(self.clone());

‎mithril-relay/src/commands/passive.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use clap::Parser;
22
use libp2p::Multiaddr;
33
use mithril_common::StdResult;
4-
use slog_scope::error;
4+
use slog::error;
55

66
use super::CommandContext;
77
use crate::PassiveRelay;
@@ -22,14 +22,15 @@ impl PassiveCommand {
2222
pub async fn execute(&self, context: CommandContext) -> StdResult<()> {
2323
let dial_to = self.dial_to.to_owned();
2424
let addr: Multiaddr = format!("/ip4/0.0.0.0/tcp/{}", self.listen_port).parse()?;
25+
let logger = context.logger();
2526

26-
let mut relay = PassiveRelay::start(&addr, context.logger()).await?;
27+
let mut relay = PassiveRelay::start(&addr, logger).await?;
2728
if let Some(dial_to_address) = dial_to {
2829
relay.dial_peer(dial_to_address.clone())?;
2930
}
3031
loop {
3132
if let Err(err) = relay.tick().await {
32-
error!("P2PClient: tick error"; "error" => format!("{err:#?}"));
33+
error!(logger, "P2PClient: tick error"; "error" => format!("{err:#?}"));
3334
}
3435
}
3536
}

‎mithril-relay/src/commands/signer.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use std::time::Duration;
33
use clap::Parser;
44
use libp2p::Multiaddr;
55
use mithril_common::StdResult;
6-
use slog_scope::error;
6+
use slog::error;
77

88
use super::CommandContext;
99
use crate::SignerRelay;
@@ -34,6 +34,7 @@ pub struct SignerCommand {
3434
impl SignerCommand {
3535
/// Main command execution
3636
pub async fn execute(&self, context: CommandContext) -> StdResult<()> {
37+
let logger = context.logger();
3738
let server_port = self.server_port.to_owned();
3839
let dial_to = self.dial_to.to_owned();
3940
let addr: Multiaddr = format!("/ip4/0.0.0.0/tcp/{}", self.listen_port).parse()?;
@@ -45,7 +46,7 @@ impl SignerCommand {
4546
&server_port,
4647
&aggregator_endpoint,
4748
&signer_repeater_delay,
48-
context.logger(),
49+
logger,
4950
)
5051
.await?;
5152
if let Some(dial_to_address) = dial_to {
@@ -54,7 +55,7 @@ impl SignerCommand {
5455

5556
loop {
5657
if let Err(err) = relay.tick().await {
57-
error!("RelaySigner: tick error"; "error" => format!("{err:#?}"));
58+
error!(logger, "RelaySigner: tick error"; "error" => format!("{err:#?}"));
5859
}
5960
}
6061
}

‎mithril-relay/src/main.rs

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ pub fn build_logger(min_level: Level) -> Logger {
2020
async fn main() -> StdResult<()> {
2121
let args = Args::parse();
2222
let logger = build_logger(args.log_level());
23-
let _guard = slog_scope::set_global_logger(logger.clone());
2423

2524
args.execute(logger).await
2625
}

‎mithril-relay/src/p2p/peer.rs

+11-12
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ use mithril_common::{
1414
StdResult,
1515
};
1616
use serde::{Deserialize, Serialize};
17-
use slog::Logger;
18-
use slog_scope::{debug, info};
17+
use slog::{debug, info, Logger};
1918
use std::{collections::HashMap, time::Duration};
2019

2120
use crate::{mithril_p2p_topic, p2p::PeerError};
@@ -113,7 +112,7 @@ impl Peer {
113112

114113
/// Start the peer
115114
pub async fn start(mut self) -> StdResult<Self> {
116-
debug!("Peer: starting...");
115+
debug!(self.logger, "Peer: starting...");
117116
let mut swarm = SwarmBuilder::with_new_identity()
118117
.with_tokio()
119118
.with_tcp(
@@ -151,7 +150,7 @@ impl Peer {
151150
.build();
152151

153152
for topic in self.topics.values() {
154-
debug!("Peer: subscribing to"; "topic" => format!("{topic:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
153+
debug!(self.logger, "Peer: subscribing to"; "topic" => format!("{topic:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
155154
swarm.behaviour_mut().gossipsub.subscribe(topic)?;
156155
}
157156

@@ -160,7 +159,7 @@ impl Peer {
160159

161160
loop {
162161
if let Some(PeerEvent::ListeningOnAddr { address }) = self.tick_swarm().await? {
163-
info!("Peer: listening on"; "address" => format!("{address:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
162+
info!(self.logger, "Peer: listening on"; "address" => format!("{address:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
164163
self.addr_peer = Some(address);
165164
break;
166165
}
@@ -184,7 +183,7 @@ impl Peer {
184183

185184
/// Tick the peer swarm to receive the next event
186185
pub async fn tick_swarm(&mut self) -> StdResult<Option<PeerEvent>> {
187-
debug!("Peer: reading next event"; "local_peer_id" => format!("{:?}", self.local_peer_id()));
186+
debug!(self.logger, "Peer: reading next event"; "local_peer_id" => format!("{:?}", self.local_peer_id()));
188187
match self
189188
.swarm
190189
.as_mut()
@@ -194,23 +193,23 @@ impl Peer {
194193
.await
195194
{
196195
Some(swarm::SwarmEvent::NewListenAddr { address, .. }) => {
197-
debug!("Peer: received listening address event"; "address" => format!("{address:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
196+
debug!(self.logger, "Peer: received listening address event"; "address" => format!("{address:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
198197
Ok(Some(PeerEvent::ListeningOnAddr { address }))
199198
}
200199
Some(swarm::SwarmEvent::OutgoingConnectionError { peer_id, error, .. }) => {
201-
debug!("Peer: received outgoing connection error event"; "error" => format!("{error:#?}"), "remote_peer_id" => format!("{peer_id:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
200+
debug!(self.logger, "Peer: received outgoing connection error event"; "error" => format!("{error:#?}"), "remote_peer_id" => format!("{peer_id:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
202201
Ok(Some(PeerEvent::OutgoingConnectionError { peer_id, error }))
203202
}
204203
Some(swarm::SwarmEvent::ConnectionEstablished { peer_id, .. }) => {
205-
debug!("Peer: received connection established event"; "remote_peer_id" => format!("{peer_id:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
204+
debug!(self.logger, "Peer: received connection established event"; "remote_peer_id" => format!("{peer_id:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
206205
Ok(Some(PeerEvent::ConnectionEstablished { peer_id }))
207206
}
208207
Some(swarm::SwarmEvent::Behaviour(event)) => {
209-
debug!("Peer: received behaviour event"; "event" => format!("{event:#?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
208+
debug!(self.logger, "Peer: received behaviour event"; "event" => format!("{event:#?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
210209
Ok(Some(PeerEvent::Behaviour { event }))
211210
}
212211
Some(event) => {
213-
debug!("Peer: received other event"; "event" => format!("{event:#?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
212+
debug!(self.logger, "Peer: received other event"; "event" => format!("{event:#?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
214213
Ok(None)
215214
}
216215
_ => Ok(None),
@@ -277,7 +276,7 @@ impl Peer {
277276

278277
/// Connect to a remote peer
279278
pub fn dial(&mut self, addr: Multiaddr) -> StdResult<()> {
280-
debug!("Peer: dialing to"; "address" => format!("{addr:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
279+
debug!(self.logger, "Peer: dialing to"; "address" => format!("{addr:?}"), "local_peer_id" => format!("{:?}", self.local_peer_id()));
281280
self.swarm
282281
.as_mut()
283282
.ok_or(PeerError::UnavailableSwarm())

‎mithril-relay/src/relay/aggregator.rs

+15-10
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ use mithril_common::{
77
StdResult,
88
};
99
use reqwest::StatusCode;
10-
use slog::Logger;
11-
use slog_scope::{error, info};
10+
use slog::{error, info, Logger};
1211

1312
/// A relay for a Mithril aggregator
1413
pub struct AggregatorRelay {
@@ -44,16 +43,19 @@ impl AggregatorRelay {
4443
match response {
4544
Ok(response) => match response.status() {
4645
StatusCode::CREATED => {
47-
info!("Relay aggregator: sent successfully signature message to aggregator"; "signature_message" => format!("{:#?}", signature_message));
46+
info!(self.logger, "Relay aggregator: sent successfully signature message to aggregator"; "signature_message" => format!("{:#?}", signature_message));
4847
Ok(())
4948
}
5049
status => {
51-
error!("Relay aggregator: Post `/register-signatures` should have returned a 201 status code, got: {status}");
50+
error!(self.logger, "Relay aggregator: Post `/register-signatures` should have returned a 201 status code, got: {status}");
5251
Err(anyhow!("Post `/register-signatures` should have returned a 201 status code, got: {status}"))
5352
}
5453
},
5554
Err(err) => {
56-
error!("Relay aggregator: Post `/register-signatures` failed: {err:?}");
55+
error!(
56+
self.logger,
57+
"Relay aggregator: Post `/register-signatures` failed: {err:?}"
58+
);
5759
Err(anyhow!("Post `/register-signatures` failed: {err:?}"))
5860
}
5961
}
@@ -72,16 +74,19 @@ impl AggregatorRelay {
7274
match response {
7375
Ok(response) => match response.status() {
7476
StatusCode::CREATED => {
75-
info!("Relay aggregator: sent successfully signer registration message to aggregator"; "signer_message" => format!("{:#?}", signer_message));
77+
info!(self.logger, "Relay aggregator: sent successfully signer registration message to aggregator"; "signer_message" => format!("{:#?}", signer_message));
7678
Ok(())
7779
}
7880
status => {
79-
error!("Relay aggregator: Post `/register-signer` should have returned a 201 status code, got: {status}");
81+
error!(self.logger, "Relay aggregator: Post `/register-signer` should have returned a 201 status code, got: {status}");
8082
Err(anyhow!("Post `/register-signer` should have returned a 201 status code, got: {status}"))
8183
}
8284
},
8385
Err(err) => {
84-
error!("Relay aggregator: Post `/register-signer` failed: {err:?}");
86+
error!(
87+
self.logger,
88+
"Relay aggregator: Post `/register-signer` failed: {err:?}"
89+
);
8590
Err(anyhow!("Post `/register-signer` failed: {err:?}"))
8691
}
8792
}
@@ -100,7 +105,7 @@ impl AggregatorRelay {
100105
{
101106
retry_count += 1;
102107
if retry_count >= retry_max {
103-
error!("Relay aggregator: failed to send signer registration message to aggregator after {retry_count} attempts"; "signer_message" => format!("{:#?}", signer_message_received), "error" => format!("{e:?}"));
108+
error!(self.logger, "Relay aggregator: failed to send signer registration message to aggregator after {retry_count} attempts"; "signer_message" => format!("{:#?}", signer_message_received), "error" => format!("{e:?}"));
104109
return Err(e);
105110
}
106111
}
@@ -114,7 +119,7 @@ impl AggregatorRelay {
114119
{
115120
retry_count += 1;
116121
if retry_count >= retry_max {
117-
error!("Relay aggregator: failed to send signature message to aggregator after {retry_count} attempts"; "signature_message" => format!("{:#?}", signature_message_received), "error" => format!("{e:?}"));
122+
error!(self.logger, "Relay aggregator: failed to send signature message to aggregator after {retry_count} attempts"; "signature_message" => format!("{:#?}", signature_message_received), "error" => format!("{e:?}"));
118123
return Err(e);
119124
}
120125
}

‎mithril-relay/src/relay/passive.rs

+4-5
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ use crate::p2p::{BroadcastMessage, Peer, PeerEvent};
22
use libp2p::Multiaddr;
33
use mithril_common::logging::LoggerExtensions;
44
use mithril_common::StdResult;
5-
use slog::Logger;
6-
use slog_scope::{debug, info};
5+
use slog::{debug, info, Logger};
76

87
/// A passive relay
98
pub struct PassiveRelay {
@@ -17,7 +16,7 @@ impl PassiveRelay {
1716
/// Start a passive relay
1817
pub async fn start(addr: &Multiaddr, logger: &Logger) -> StdResult<Self> {
1918
let relay_logger = logger.new_with_component_name::<Self>();
20-
debug!("PassiveRelay: starting...");
19+
debug!(relay_logger, "PassiveRelay: starting...");
2120

2221
Ok(Self {
2322
peer: Peer::new(addr).with_logger(logger).start().await?,
@@ -39,10 +38,10 @@ impl PassiveRelay {
3938
if let Some(peer_event) = self.peer.tick_swarm().await? {
4039
match self.peer.convert_peer_event_to_message(peer_event) {
4140
Ok(Some(BroadcastMessage::RegisterSigner(signer_message_received))) => {
42-
info!("Relay passive: received signer registration message from P2P network"; "signer_message" => format!("{:#?}", signer_message_received));
41+
info!(self.logger, "Relay passive: received signer registration message from P2P network"; "signer_message" => format!("{:#?}", signer_message_received));
4342
}
4443
Ok(Some(BroadcastMessage::RegisterSignature(signature_message_received))) => {
45-
info!("Relay passive: received signature message from P2P network"; "signature_message" => format!("{:#?}", signature_message_received));
44+
info!(self.logger, "Relay passive: received signature message from P2P network"; "signature_message" => format!("{:#?}", signature_message_received));
4645
}
4746
Ok(None) => {}
4847
Err(e) => return Err(e),

0 commit comments

Comments
 (0)