MCPcopy Create free account
hub / github.com/actix/examples / init

Function init

tracing/mainmatter-workshop/src/logging.rs:11–32  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

9use tracing_subscriber::{EnvFilter, layer::SubscriberExt as _, util::SubscriberInitExt as _};
10
11pub(crate) fn init() {
12 let app_name = "actix-web-mainmatter-telemetry-workshop-capstone";
13
14 let tracer = opentelemetry_tracer(app_name);
15 let telemetry = tracing_opentelemetry::layer().with_tracer(tracer);
16
17 // we prefer the bunyan formatting layer in this example because it captures
18 // span enters and exits by default, making a good way to observe request
19 // info like duration when
20 let stdout_log = BunyanFormattingLayer::new(app_name.to_owned(), io::stdout);
21
22 tracing_subscriber::registry()
23 .with(
24 EnvFilter::builder()
25 .with_default_directive(LevelFilter::INFO.into())
26 .from_env_lossy(),
27 )
28 .with(telemetry)
29 .with(JsonStorageLayer)
30 .with(stdout_log)
31 .init();
32}
33
34fn opentelemetry_tracer(app_name: &str) -> Tracer {
35 let honeycomb_key =

Callers 2

mainFunction · 0.70
mainFunction · 0.50

Calls 1

opentelemetry_tracerFunction · 0.85

Tested by

no test coverage detected