Skip to content

Commit 4440c2f

Browse files
committed
highlight node id
1 parent b8c8fae commit 4440c2f

File tree

2 files changed

+42
-3
lines changed

2 files changed

+42
-3
lines changed

lightning/src/ln/payment_tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ use crate::types::string::UntrustedString;
4848
use crate::util::errors::APIError;
4949
use crate::util::logger::TracingToLogger;
5050
use crate::util::ser::Writeable;
51-
use crate::util::test_utils::{self, TestTracerLayer};
51+
use crate::util::test_utils::{self, HighlightLayer, TestTracerLayer};
5252

5353
use tracing_subscriber::fmt::format::FmtSpan;
5454
use tracing_subscriber::{fmt, prelude::*, Registry};
@@ -438,7 +438,7 @@ fn test_keysend_payments() {
438438
.with_ansi(true)
439439
.with_targets(true)
440440
.with_deferred_spans(true);
441-
let subscriber = Registry::default().with(layer);
441+
let subscriber = Registry::default().with(HighlightLayer).with(layer);
442442
tracing::subscriber::set_global_default(subscriber).unwrap();
443443

444444
// tracing_subscriber::fmt()

lightning/src/util/test_utils.rs

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ use bitcoin::secp256k1::{self, PublicKey, Scalar, Secp256k1, SecretKey};
8282
use lightning_invoice::RawBolt11Invoice;
8383
use tracing::field::{Field, Visit};
8484
use tracing::span::{Attributes, Id};
85-
use tracing::{Event, Metadata, Subscriber};
85+
use tracing::{event, Event, Metadata, Subscriber};
8686
use tracing_subscriber::registry::LookupSpan;
8787
use tracing_subscriber::{layer, Layer};
8888

@@ -1736,6 +1736,45 @@ impl Logger for TestLogger {
17361736
}
17371737
}
17381738

1739+
struct FieldVisitor {
1740+
name: Option<String>,
1741+
}
1742+
1743+
impl Visit for FieldVisitor {
1744+
fn record_str(&mut self, field: &tracing::field::Field, value: &str) {
1745+
if field.name() == "name" {
1746+
self.name = Some(value.to_string());
1747+
}
1748+
}
1749+
1750+
fn record_debug(&mut self, field: &tracing::field::Field, value: &dyn std::fmt::Debug) {}
1751+
}
1752+
1753+
pub struct HighlightLayer;
1754+
1755+
impl<S> Layer<S> for HighlightLayer
1756+
where
1757+
S: Subscriber + for<'a> LookupSpan<'a>,
1758+
{
1759+
fn on_new_span(
1760+
&self, attrs: &tracing::span::Attributes<'_>, id: &Id,
1761+
ctx: tracing_subscriber::layer::Context<'_, S>,
1762+
) {
1763+
let span = ctx.span(id).unwrap();
1764+
let meta = span.metadata();
1765+
if meta.name() == "node" {
1766+
let mut visitor = FieldVisitor { name: None };
1767+
attrs.record(&mut visitor);
1768+
1769+
event!(
1770+
tracing::Level::INFO,
1771+
"NODE \x1b[1;34;47m {} \x1b[0m",
1772+
visitor.name.unwrap_or_default()
1773+
);
1774+
}
1775+
}
1776+
}
1777+
17391778
pub struct TestTracerLayer;
17401779

17411780
#[derive(Debug, Default)]

0 commit comments

Comments
 (0)