Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 23 additions & 3 deletions crates/cli/src/commands/relay.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ use tracing::{error, info};
/// once `BackgroundTaskController::shutdown` has been signalled.
const LOKI_FLUSH_TIMEOUT: Duration = Duration::from_secs(3);

fn relay_filter(base: &str, relay_level: &str) -> String {
if relay_level.is_empty() {
base.to_string()
} else {
format!("{base},libp2p_relay={relay_level}")
}
}

/// Arguments for the relay command.
#[derive(clap::Args, Clone)]
pub struct RelayArgs {
Expand Down Expand Up @@ -90,14 +98,19 @@ impl TryInto<pluto_relay_server::config::Config> for RelayArgs {
}
};

let log_config =
build_console_tracing_config(self.log.level.clone(), &self.log.color, loki_config);
let p2p_relay = self.relay.p2p_relay_log_level;

let log_config = build_console_tracing_config(
relay_filter(self.log.level.as_str(), &p2p_relay),
&self.log.color,
Comment on lines +101 to +105
loki_config,
);

let builder = pluto_relay_server::config::Config::builder()
.data_dir(self.data_dir.data_dir)
.http_addr(self.relay.http_address)
.auto_p2p_key(self.relay.auto_p2p_key)
.libp2p_log_level(self.relay.p2p_relay_log_level)
.libp2p_log_level(p2p_relay)
.max_res_per_peer(self.relay.max_res_per_peer)
.max_conns(self.relay.max_conns)
// Invert p2p-advertise-private-addresses flag boolean:
Expand Down Expand Up @@ -382,6 +395,8 @@ mod tests {
use tokio::net;
use tokio_util::sync::CancellationToken;

use crate::commands::relay::relay_filter;

#[tokio::test]
async fn run_bootnode() {
with_relay_server(
Expand Down Expand Up @@ -640,4 +655,9 @@ mod tests {
.build();
request.retry(&mut backoff).await
}
#[test]
fn relay_filter_works() {
assert_eq!(relay_filter("info", ""), "info");
assert_eq!(relay_filter("debug", "warn"), "debug,libp2p_relay=warn");
}
}