Skip to content

Commit c8c3136

Browse files
authored
Merge pull request #1940 from input-output-hk/djo/refactor_common_logging
Enhance `mithril-common` logging
2 parents 64daa84 + 8582a8c commit c8c3136

File tree

12 files changed

+127
-42
lines changed

12 files changed

+127
-42
lines changed

Cargo.lock

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mithril-common/Cargo.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mithril-common"
3-
version = "0.4.53"
3+
version = "0.4.54"
44
description = "Common types, interfaces, and utilities for Mithril nodes."
55
authors = { workspace = true }
66
edition = { workspace = true }
@@ -84,7 +84,6 @@ pallas-crypto = "0.30.1"
8484
rand_core = { version = "0.6.4", features = ["getrandom"] }
8585
reqwest = { version = "0.12.7", features = ["json"] }
8686
slog-async = "2.8.0"
87-
slog-scope = "4.4.0"
8887
slog-term = "2.9.1"
8988
tokio = { version = "1.40.0", features = ["macros", "rt-multi-thread", "time"] }
9089

mithril-common/src/cardano_block_scanner/chain_reader_block_streamer.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use crate::cardano_block_scanner::BlockStreamer;
88
use crate::cardano_block_scanner::ChainScannedBlocks;
99
use crate::chain_reader::{ChainBlockNextAction, ChainBlockReader};
1010
use crate::entities::{BlockNumber, ChainPoint};
11+
use crate::logging::LoggerExtensions;
1112
use crate::StdResult;
1213

1314
/// The action that indicates what to do next with the streamer
@@ -31,7 +32,7 @@ pub struct ChainReaderBlockStreamer {
3132
#[async_trait]
3233
impl BlockStreamer for ChainReaderBlockStreamer {
3334
async fn poll_next(&mut self) -> StdResult<Option<ChainScannedBlocks>> {
34-
debug!(self.logger, "ChainReaderBlockStreamer polls next");
35+
debug!(self.logger, "polls next");
3536

3637
let chain_scanned_blocks: ChainScannedBlocks;
3738
let mut roll_forwards = vec![];
@@ -111,7 +112,7 @@ impl ChainReaderBlockStreamer {
111112
from,
112113
until,
113114
max_roll_forwards_per_poll,
114-
logger,
115+
logger: logger.new_with_component_name::<Self>(),
115116
})
116117
}
117118

@@ -122,14 +123,14 @@ impl ChainReaderBlockStreamer {
122123
if parsed_block.block_number > self.until {
123124
trace!(
124125
self.logger,
125-
"ChainReaderBlockStreamer received a RollForward above threshold block number ({})",
126+
"received a RollForward above threshold block number ({})",
126127
parsed_block.block_number
127128
);
128129
Ok(None)
129130
} else {
130131
trace!(
131132
self.logger,
132-
"ChainReaderBlockStreamer received a RollForward below threshold block number ({})",
133+
"received a RollForward below threshold block number ({})",
133134
parsed_block.block_number
134135
);
135136
Ok(Some(BlockStreamerNextAction::ChainBlockNextAction(
@@ -142,7 +143,7 @@ impl ChainReaderBlockStreamer {
142143
}) => {
143144
trace!(
144145
self.logger,
145-
"ChainReaderBlockStreamer received a RollBackward({rollback_slot_number:?})"
146+
"received a RollBackward({rollback_slot_number:?})"
146147
);
147148
let block_streamer_next_action = if rollback_slot_number == self.from.slot_number {
148149
BlockStreamerNextAction::SkipToNextAction
@@ -156,7 +157,7 @@ impl ChainReaderBlockStreamer {
156157
Ok(Some(block_streamer_next_action))
157158
}
158159
None => {
159-
trace!(self.logger, "ChainReaderBlockStreamer received nothing");
160+
trace!(self.logger, "received nothing");
160161
Ok(None)
161162
}
162163
}

mithril-common/src/cardano_transactions_preloader.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use slog::{debug, info, Logger};
1111

1212
use crate::chain_observer::ChainObserver;
1313
use crate::entities::{BlockNumber, SignedEntityTypeDiscriminants};
14+
use crate::logging::LoggerExtensions;
1415
use crate::signable_builder::TransactionsImporter;
1516
use crate::signed_entity_type_lock::SignedEntityTypeLock;
1617
use crate::StdResult;
@@ -71,34 +72,31 @@ impl CardanoTransactionsPreloader {
7172
importer,
7273
security_parameter,
7374
chain_observer,
74-
logger,
75+
logger: logger.new_with_component_name::<Self>(),
7576
activation_state,
7677
}
7778
}
7879

7980
/// Preload the Cardano Transactions by running the importer up to the current chain block number.
8081
pub async fn preload(&self) -> StdResult<()> {
8182
if !self.is_activated().await? {
82-
debug!(
83-
self.logger,
84-
"⟳ Preload Cardano Transactions - Not running, conditions not met"
85-
);
83+
debug!(self.logger, "Not running, conditions not met");
8684
return Ok(());
8785
}
8886

89-
info!(self.logger, "⟳ Preload Cardano Transactions - Started");
90-
debug!(self.logger, "Locking signed entity type"; "entity_type" => "CardanoTransactions");
87+
info!(self.logger, "Started");
88+
debug!(self.logger, "Locking signed entity type"; "entity_type" => "CardanoTransactions");
9189
self.signed_entity_type_lock
9290
.lock(SignedEntityTypeDiscriminants::CardanoTransactions)
9391
.await;
9492

9593
let preload_result = self.do_preload().await;
9694

97-
debug!(self.logger, "Releasing signed entity type"; "entity_type" => "CardanoTransactions");
95+
debug!(self.logger, "Releasing signed entity type"; "entity_type" => "CardanoTransactions");
9896
self.signed_entity_type_lock
9997
.release(SignedEntityTypeDiscriminants::CardanoTransactions)
10098
.await;
101-
info!(self.logger, "⟳ Preload Cardano Transactions - Finished");
99+
info!(self.logger, "Finished");
102100

103101
preload_result
104102
}

mithril-common/src/certificate_chain/certificate_verifier.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use crate::crypto_helper::{
1515
use crate::entities::{
1616
Certificate, CertificateSignature, ProtocolMessage, ProtocolMessagePartKey, ProtocolParameters,
1717
};
18+
use crate::logging::LoggerExtensions;
1819
use crate::StdResult;
1920

2021
#[cfg(test)]
@@ -122,7 +123,7 @@ impl MithrilCertificateVerifier {
122123
pub fn new(logger: Logger, certificate_retriever: Arc<dyn CertificateRetriever>) -> Self {
123124
debug!(logger, "New MithrilCertificateVerifier created");
124125
Self {
125-
logger,
126+
logger: logger.new_with_component_name::<Self>(),
126127
certificate_retriever,
127128
}
128129
}
@@ -302,14 +303,13 @@ impl CertificateVerifier for MithrilCertificateVerifier {
302303
mod tests {
303304
use async_trait::async_trait;
304305
use mockall::mock;
305-
use slog_scope;
306306

307307
use super::CertificateRetriever;
308308
use super::*;
309309

310310
use crate::certificate_chain::CertificateRetrieverError;
311311
use crate::crypto_helper::{tests_setup::*, ProtocolClerk};
312-
use crate::test_utils::MithrilFixtureBuilder;
312+
use crate::test_utils::{MithrilFixtureBuilder, TestLogger};
313313

314314
mock! {
315315
pub CertificateRetrieverImpl { }
@@ -348,7 +348,7 @@ mod tests {
348348
.into();
349349

350350
let verifier = MithrilCertificateVerifier::new(
351-
slog_scope::logger(),
351+
TestLogger::stdout(),
352352
Arc::new(MockCertificateRetrieverImpl::new()),
353353
);
354354
let message_tampered = message_hash[1..].to_vec();
@@ -387,7 +387,7 @@ mod tests {
387387
.returning(move |_| Ok(fake_certificate2.clone()))
388388
.times(1);
389389
let verifier = MithrilCertificateVerifier::new(
390-
slog_scope::logger(),
390+
TestLogger::stdout(),
391391
Arc::new(mock_certificate_retriever),
392392
);
393393
let verify = verifier
@@ -410,7 +410,7 @@ mod tests {
410410
.returning(move |_| Ok(fake_certificate2.clone()))
411411
.times(1);
412412
let verifier = MithrilCertificateVerifier::new(
413-
slog_scope::logger(),
413+
TestLogger::stdout(),
414414
Arc::new(mock_certificate_retriever),
415415
);
416416
let verify = verifier
@@ -435,7 +435,7 @@ mod tests {
435435
.returning(move |_| Ok(fake_certificate2.clone()))
436436
.times(1);
437437
let verifier = MithrilCertificateVerifier::new(
438-
slog_scope::logger(),
438+
TestLogger::stdout(),
439439
Arc::new(mock_certificate_retriever),
440440
);
441441
let error = verifier
@@ -478,7 +478,7 @@ mod tests {
478478
.returning(move |_| Ok(fake_certificate2.clone()))
479479
.times(1);
480480
let verifier = MithrilCertificateVerifier::new(
481-
slog_scope::logger(),
481+
TestLogger::stdout(),
482482
Arc::new(mock_certificate_retriever),
483483
);
484484
let error = verifier
@@ -505,7 +505,7 @@ mod tests {
505505
fake_certificate1.hash = "another-hash".to_string();
506506
let mock_certificate_retriever = MockCertificateRetrieverImpl::new();
507507
let verifier = MithrilCertificateVerifier::new(
508-
slog_scope::logger(),
508+
TestLogger::stdout(),
509509
Arc::new(mock_certificate_retriever),
510510
);
511511
let error = verifier
@@ -537,7 +537,7 @@ mod tests {
537537
.times(1);
538538
}
539539
let verifier = MithrilCertificateVerifier::new(
540-
slog_scope::logger(),
540+
TestLogger::stdout(),
541541
Arc::new(mock_certificate_retriever),
542542
);
543543
let verify = verifier
@@ -570,7 +570,7 @@ mod tests {
570570
.times(1);
571571
}
572572
let verifier = MithrilCertificateVerifier::new(
573-
slog_scope::logger(),
573+
TestLogger::stdout(),
574574
Arc::new(mock_certificate_retriever),
575575
);
576576
let error = verifier

mithril-common/src/chain_reader/pallas_chain_reader.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ use pallas_network::{
99
use pallas_traverse::MultiEraBlock;
1010
use slog::{debug, Logger};
1111

12+
use crate::logging::LoggerExtensions;
1213
use crate::{cardano_block_scanner::ScannedBlock, entities::ChainPoint, CardanoNetwork, StdResult};
1314

1415
use super::{ChainBlockNextAction, ChainBlockReader};
@@ -28,7 +29,7 @@ impl PallasChainReader {
2829
socket: socket.to_owned(),
2930
network,
3031
client: None,
31-
logger,
32+
logger: logger.new_with_component_name::<Self>(),
3233
}
3334
}
3435

@@ -45,7 +46,7 @@ impl PallasChainReader {
4546
async fn get_client(&mut self) -> StdResult<&mut NodeClient> {
4647
if self.client.is_none() {
4748
self.client = Some(self.new_client().await?);
48-
debug!(self.logger, "PallasChainReader connected to a new client");
49+
debug!(self.logger, "connected to a new client");
4950
}
5051

5152
self.client
@@ -60,12 +61,12 @@ impl PallasChainReader {
6061
let chainsync = client.chainsync();
6162

6263
if chainsync.has_agency() {
63-
debug!(logger, "PallasChainReader has agency, finding intersect point..."; "point" => ?point);
64+
debug!(logger, "has agency, finding intersect point..."; "point" => ?point);
6465
chainsync
6566
.find_intersect(vec![point.to_owned().into()])
6667
.await?;
6768
} else {
68-
debug!(logger, "PallasChainReader doesn't have agency, no need to find intersect point";);
69+
debug!(logger, "doesn't have agency, no need to find intersect point";);
6970
}
7071

7172
Ok(())

mithril-common/src/digesters/cache/json_provider_builder.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::{
22
digesters::cache::{ImmutableFileDigestCacheProvider, JsonImmutableFileDigestCacheProvider},
3+
logging::LoggerExtensions,
34
StdResult,
45
};
56
use anyhow::Context;
@@ -43,7 +44,7 @@ impl<'a> JsonImmutableFileDigestCacheProviderBuilder<'a> {
4344

4445
/// Set the [Logger] to use.
4546
pub fn with_logger(&mut self, logger: Logger) -> &mut Self {
46-
self.logger = logger;
47+
self.logger = logger.new_with_component_name::<Self>();
4748
self
4849
}
4950

mithril-common/src/digesters/cardano_immutable_digester.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use crate::{
44
ImmutableFile,
55
},
66
entities::{CardanoDbBeacon, HexEncodedDigest, ImmutableFileName},
7+
logging::LoggerExtensions,
78
};
89
use async_trait::async_trait;
910
use sha2::{Digest, Sha256};
@@ -32,7 +33,7 @@ impl CardanoImmutableDigester {
3233
) -> Self {
3334
Self {
3435
cache_provider,
35-
logger,
36+
logger: logger.new_with_component_name::<Self>(),
3637
}
3738
}
3839
}

mithril-common/src/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ pub mod crypto_helper;
5757
pub mod entities;
5858
#[macro_use]
5959
pub mod era;
60+
pub mod logging;
6061
pub mod messages;
6162
pub mod protocol;
6263
pub mod resource_pool;

0 commit comments

Comments
 (0)