Setting up level with custom name and values
#16
mladedav
started this conversation in
Show and tell
Replies: 2 comments
|
OMG thank you @mladedav, It's exactly what I needed! I think I managed to generate logs compliant with GCP with this setup: let mut layer: JsonLayer = json_subscriber::JsonLayer::stdout();
layer.add_dynamic_field("severity", |event, _ctx| {
let level = event.metadata().level();
match level {
&Level::ERROR => Some("ERROR"),
&Level::WARN => Some("WARNING"),
&Level::INFO => Some("INFO"),
&Level::DEBUG | &Level::TRACE => Some("DEBUG"),
}
});
layer.add_dynamic_field("spanId", |event, ctx| {
if let Some(span) = ctx.event_span(event) {
return Some(span.name());
}
None
});
layer
.with_event("jsonPayload")
.with_timer("timestamp", SystemTime);
let subscriber = tracing_subscriber::Registry::default().with(layer);
tracing::subscriber::set_global_default(subscriber).unwrap();The output is: {"jsonPayload":{"message":"some info message","someField":"some value"},"severity":"ERROR","spanId":"some_span","timestam
p":"2025-06-18T13:19:47.118078Z"} |
0 replies
|
Actually, my setup was incorrect. The So the fields I had to define myself are Here is my final configuration: fn setup_gcp_format() {
let mut layer: JsonLayer = json_subscriber::JsonLayer::stdout();
layer.with_flattened_event();
layer.add_dynamic_field("severity", |event, _ctx| {
let level = event.metadata().level();
match level {
&Level::ERROR => Some("ERROR"),
&Level::WARN => Some("WARNING"),
&Level::INFO => Some("INFO"),
&Level::DEBUG | &Level::TRACE => Some("DEBUG"),
}
});
layer.add_dynamic_field("logging.googleapis.com/spanId", |event, ctx| {
if let Some(span) = ctx.event_span(event) {
return Some(span.name());
}
None
});
Registry::default().with(layer).init();
} |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
To print log level with the key
severityand withWARNINGinstead ofWARN, you can do this:and the output will be:
All reactions