Skip to content
Snippets Groups Projects
Unverified Commit d1f9fe0a authored by Alexandru Vasile's avatar Alexandru Vasile Committed by GitHub
Browse files

logging(fix): Use the proper log target for logging (#4124)

This PR ensures the proper logging target (ie `libp2p_tcp` or `beefy`)
is displayed.

The issue has been introduced in:
https://github.com/paritytech/polkadot-sdk/pull/4059, which removes the
normalized metadata of logs.

From
[documentation](https://docs.rs/tracing-log/latest/tracing_log/trait.NormalizeEvent.html#tymethod.normalized_metadata):

> In tracing-log, an Event produced by a log (through
[AsTrace](https://docs.rs/tracing-log/latest/tracing_log/trait.AsTrace.html))
has an hard coded “log” target

>
[normalized_metadata](https://docs.rs/tracing-log/latest/tracing_log/trait.NormalizeEvent.html#tymethod.normalized_metadata):
If this Event comes from a log, this method provides a new normalized
Metadata which has all available attributes from the original log,
including file, line, module_path and target

This has low implications if a version was deployed containing the
mentioned pull request, as we'll lose the ability to distinguish between
log targets.

### Before this PR

```
2024-04-15 12:45:40.327  INFO main log: Parity Polkadot
2024-04-15 12:45:40.328  INFO main log: :v:️  version 1.10.0-d1b0ef76
2024-04-15 12:45:40.328  INFO main log: :heart:️  by Parity Technologies <admin@parity.io>, 2017-2024
2024-04-15 12:45:40.328  INFO main log: :clipboard: Chain specification: Development
2024-04-15 12:45:40.328  INFO main log: :label:  Node name: yellow-eyes-2963
2024-04-15 12:45:40.328  INFO main log: :bust_in_silhouette: Role: AUTHORITY
2024-04-15 12:45:40.328  INFO main log: :floppy_disk: Database: RocksDb at /tmp/substrated39i9J/chains/rococo_dev/db/full
2024-04-15 12:45:44.508  WARN main log: Took active validators from set with wrong size
...

2024-04-15 12:45:45.805  INFO                 main log: :baby: Starting BABE Authorship worker
2024-04-15 12:45:45.806  INFO tokio-runtime-worker log: 🥩 BEEFY gadget waiting for BEEFY pallet to become available...
2024-04-15 12:45:45.806 DEBUG tokio-runtime-worker log: New listen address: /ip6/::1/tcp/30333
2024-04-15 12:45:45.806 DEBUG tokio-runtime-worker log: New listen address: /ip4/127.0.0.1/tcp/30333
```

### After this PR

```
2024-04-15 12:59:45.623  INFO main sc_cli::runner: Parity Polkadot
2024-04-15 12:59:45.623  INFO main sc_cli::runner: :v:️  version 1.10.0-d1b0ef76
2024-04-15 12:59:45.623  INFO main sc_cli::runner: :heart:️  by Parity Technologies <admin@parity.io>, 2017-2024
2024-04-15 12:59:45.623  INFO main sc_cli::runner: :clipboard: Chain specification: Development
2024-04-15 12:59:45.623  INFO main sc_cli::runner: :label:  Node name: helpless-lizards-0550
2024-04-15 12:59:45.623  INFO main sc_cli::runner: :bust_in_silhouette:

 Role: AUTHORITY
...
2024-04-15 12:59:50.204  INFO tokio-runtime-worker beefy: 🥩 BEEFY gadget waiting for BEEFY pallet to become available...
2024-04-15 12:59:50.204 DEBUG tokio-runtime-worker libp2p_tcp: New listen address: /ip6/::1/tcp/30333
2024-04-15 12:59:50.204 DEBUG tokio-runtime-worker libp2p_tcp: New listen address: /ip4/127.0.0.1/tcp/30333
```

Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
parent 8b4cfda7
No related merge requests found
Pipeline #465883 failed with stages
in 52 minutes and 35 seconds
......@@ -21,6 +21,7 @@ use ansi_term::Colour;
use regex::Regex;
use std::fmt::{self, Write};
use tracing::{Event, Level, Subscriber};
use tracing_log::NormalizeEvent;
use tracing_subscriber::{
fmt::{format, time::FormatTime, FmtContext, FormatEvent, FormatFields},
registry::LookupSpan,
......@@ -60,10 +61,12 @@ where
N: for<'a> FormatFields<'a> + 'static,
{
let mut writer = &mut ControlCodeSanitizer::new(!self.enable_color, writer);
let normalized_meta = event.normalized_metadata();
let meta = normalized_meta.as_ref().unwrap_or_else(|| event.metadata());
time::write(&self.timer, &mut format::Writer::new(&mut writer), self.enable_color)?;
if self.display_level {
let fmt_level = FmtLevel::new(event.metadata().level(), self.enable_color);
let fmt_level = FmtLevel::new(meta.level(), self.enable_color);
write!(writer, "{} ", fmt_level)?;
}
......@@ -81,7 +84,7 @@ where
}
if self.display_target {
write!(writer, "{}: ", event.metadata().target())?;
write!(writer, "{}: ", meta.target())?;
}
// Custom code to display node name
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment