Skip to content

Commit 9ad0e22

Browse files
committed
refactor
1 parent bae9d55 commit 9ad0e22

File tree

1 file changed

+22
-54
lines changed

1 file changed

+22
-54
lines changed

forc-tracing/src/lib.rs

Lines changed: 22 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ pub fn init_tracing_subscriber(options: TracingSubscriberOptions) {
301301

302302
// Set the global telemetry disabled flag
303303
let disabled = is_telemetry_disabled_from_options(&options);
304+
TELEMETRY_DISABLED.store(disabled, Ordering::SeqCst);
304305

305306
// Use regex to filter logs - if provided; otherwise allow all logs
306307
let regex_filter = options.regex_filter.clone();
@@ -312,72 +313,39 @@ pub fn init_tracing_subscriber(options: TracingSubscriberOptions) {
312313
true
313314
}
314315
});
315-
TELEMETRY_DISABLED.store(disabled, Ordering::SeqCst);
316316

317-
match (is_json_mode_active(), level_filter) {
318-
(true, Some(level)) => {
317+
// Macro to reduce duplication in subscriber setup
318+
macro_rules! setup_subscriber {
319+
($subscriber:expr) => {
319320
#[cfg(feature = "telemetry")]
320321
if let Some((telemetry_layer, _)) = &telemetry_layer {
321-
let subscriber = builder.json().with_max_level(level).finish().with(filter).with(telemetry_layer.clone());
322-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
322+
let final_subscriber = $subscriber.with(telemetry_layer.clone());
323+
tracing::subscriber::set_global_default(final_subscriber).expect("setting subscriber failed");
323324
} else {
324-
let subscriber = builder.json().with_max_level(level).finish().with(filter);
325-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
325+
tracing::subscriber::set_global_default($subscriber).expect("setting subscriber failed");
326326
}
327327

328328
#[cfg(not(feature = "telemetry"))]
329-
{
330-
let subscriber = builder.json().with_max_level(level).finish().with(filter);
331-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
332-
}
329+
tracing::subscriber::set_global_default($subscriber).expect("setting subscriber failed");
330+
};
331+
}
332+
333+
match (is_json_mode_active(), level_filter) {
334+
(true, Some(level)) => {
335+
let subscriber = builder.json().with_max_level(level).finish().with(filter);
336+
setup_subscriber!(subscriber);
333337
}
334338
(true, None) => {
335-
#[cfg(feature = "telemetry")]
336-
if let Some((telemetry_layer, _)) = &telemetry_layer {
337-
let subscriber = builder.json().finish().with(filter).with(telemetry_layer.clone());
338-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
339-
} else {
340-
let subscriber = builder.json().finish().with(filter);
341-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
342-
}
343-
344-
#[cfg(not(feature = "telemetry"))]
345-
{
346-
let subscriber = builder.json().finish().with(filter);
347-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
348-
}
339+
let subscriber = builder.json().finish().with(filter);
340+
setup_subscriber!(subscriber);
349341
}
350342
(false, Some(level)) => {
351-
#[cfg(feature = "telemetry")]
352-
if let Some((telemetry_layer, _)) = &telemetry_layer {
353-
let subscriber = builder.with_max_level(level).finish().with(filter).with(telemetry_layer.clone());
354-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
355-
} else {
356-
let subscriber = builder.with_max_level(level).finish().with(filter);
357-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
358-
}
359-
360-
#[cfg(not(feature = "telemetry"))]
361-
{
362-
let subscriber = builder.with_max_level(level).finish().with(filter);
363-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
364-
}
343+
let subscriber = builder.with_max_level(level).finish().with(filter);
344+
setup_subscriber!(subscriber);
365345
}
366346
(false, None) => {
367-
#[cfg(feature = "telemetry")]
368-
if let Some((telemetry_layer, _)) = &telemetry_layer {
369-
let subscriber = builder.finish().with(filter).with(telemetry_layer.clone());
370-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
371-
} else {
372-
let subscriber = builder.finish().with(filter);
373-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
374-
}
375-
376-
#[cfg(not(feature = "telemetry"))]
377-
{
378-
let subscriber = builder.finish().with(filter);
379-
tracing::subscriber::set_global_default(subscriber).expect("setting subscriber failed");
380-
}
347+
let subscriber = builder.finish().with(filter);
348+
setup_subscriber!(subscriber);
381349
}
382350
}
383351

@@ -514,4 +482,4 @@ mod tests {
514482

515483
JSON_MODE_ACTIVE.store(false, Ordering::SeqCst);
516484
}
517-
}
485+
}

0 commit comments

Comments
 (0)