Macro foundations::telemetry::log::trace
source · macro_rules! trace { ( $($args:tt)+ ) => { ... }; }
Available on (crate features
logging
or metrics
or telemetry
or tracing
) and crate feature logging
only.Expand description
Log trace level record.
If duplicate fields are specified for the record then the last one takes precedence and overwrites the value of the previous one.
Certain added fields may not be present in the resulting logs if
LoggingSettings::redact_keys
is used.
§Examples
use foundations::telemetry::TelemetryContext;
use foundations::telemetry::log::{self, TestLogRecord};
use foundations::telemetry::settings::Level;
// Test context is used for demonstration purposes to show the resulting log records.
let ctx = TelemetryContext::test();
let _scope = ctx.scope();
// Simple log message
log::trace!("Hello world!");
// Macro also accepts format arguments
log::trace!("The values are: {}, {}", 42, true);
// Fields key-value pairs can be added to log record, by separating the format message
// and fields by `;`.
log::trace!("Answer: {}", 42; "foo" => "bar", "baz" => 1337);
assert_eq!(*ctx.log_records(), &[
TestLogRecord {
level: Level::Trace,
message: "Hello world!".into(),
fields: vec![]
},
TestLogRecord {
level: Level::Trace,
message: "The values are: 42, true".into(),
fields: vec![]
},
TestLogRecord {
level: Level::Trace,
message: "Answer: 42".into(),
fields: vec![
("baz".into(), "1337".into()),
("foo".into(), "bar".into())
]
}
]);