Skip to content

Commit 069d0a3

Browse files
authored
Merge pull request #148 from semiotic-ai/aasseman/issue145
feat(aggregator): add basic logging
2 parents 1439a7e + 872d715 commit 069d0a3

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

tap_aggregator/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ ethers-core = "2.0.3"
2121
serde = { version = "1.0.163", features = ["derive"] }
2222
serde_json = { version = "1.0.96", features = ["raw_value"] }
2323
strum = { version = "0.24.1", features = ["strum_macros", "derive"] }
24+
tracing-subscriber = { version = "0.3.17" }
25+
log = "0.4.19"
2426

2527
[dev-dependencies]
2628
jsonrpsee = { version = "0.18.0", features = ["http-client", "jsonrpsee-core"] }

tap_aggregator/src/main.rs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use clap::Parser;
88
use ethers_signers::{coins_bip39::English, MnemonicBuilder};
99
use tokio::signal::unix::{signal, SignalKind};
1010

11+
use log::{debug, info, warn};
1112
use tap_aggregator::server;
1213

1314
#[derive(Parser, Debug)]
@@ -39,7 +40,15 @@ struct Args {
3940

4041
#[tokio::main]
4142
async fn main() -> Result<()> {
43+
// Initialize the logger.
44+
// Set the log level by setting the RUST_LOG environment variable.
45+
// We prefer using tracing_subscriber as the logging backend because jsonrpsee
46+
// uses it, and it shows jsonrpsee log spans in the logs (to see client IP, etc).
47+
// See https://github.com/paritytech/jsonrpsee/pull/922 for more info.
48+
tracing_subscriber::fmt::init();
49+
4250
let args = Args::parse();
51+
debug!("Settings: {:?}", args);
4352

4453
// Create a wallet from the mnemonic.
4554
let wallet = MnemonicBuilder::<English>::default()
@@ -55,21 +64,23 @@ async fn main() -> Result<()> {
5564
args.max_connections,
5665
)
5766
.await?;
67+
info!("Server started. Listening on port {}.", args.port);
5868

5969
// Have tokio wait for SIGTERM or SIGINT.
6070
let mut signal_sigint = signal(SignalKind::interrupt())?;
6171
let mut signal_sigterm = signal(SignalKind::terminate())?;
6272
tokio::select! {
63-
_ = signal_sigint.recv() => println!("SIGINT"),
64-
_ = signal_sigterm.recv() => println!("SIGTERM"),
73+
_ = signal_sigint.recv() => debug!("Received SIGINT."),
74+
_ = signal_sigterm.recv() => debug!("Received SIGTERM."),
6575
}
6676

6777
// If we're here, we've received a signal to exit.
68-
println!("Shutting down...");
78+
info!("Shutting down...");
6979

7080
// Stop the server and wait for it to finish gracefully.
7181
handle.stop()?;
7282
handle.stopped().await;
7383

84+
debug!("Goodbye!");
7485
Ok(())
7586
}

0 commit comments

Comments
 (0)