Skip to content

Commit a2c0dd8

Browse files
authored
make severity of level computations const (#1369)
1 parent 41c6ea8 commit a2c0dd8

File tree

2 files changed

+15
-16
lines changed
  • opentelemetry-appender-log/src
  • opentelemetry-appender-tracing/src

2 files changed

+15
-16
lines changed

opentelemetry-appender-log/src/lib.rs

+5-6
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,9 @@ where
1818
{
1919
fn enabled(&self, _metadata: &Metadata) -> bool {
2020
#[cfg(feature = "logs_level_enabled")]
21-
return self.logger.event_enabled(
22-
map_severity_to_otel_severity(_metadata.level()),
23-
_metadata.target(),
24-
);
21+
return self
22+
.logger
23+
.event_enabled(severity_of_level(_metadata.level()), _metadata.target());
2524
#[cfg(not(feature = "logs_level_enabled"))]
2625
true
2726
}
@@ -30,7 +29,7 @@ where
3029
if self.enabled(record.metadata()) {
3130
self.logger.emit(
3231
LogRecordBuilder::new()
33-
.with_severity_number(map_severity_to_otel_severity(record.level()))
32+
.with_severity_number(severity_of_level(record.level()))
3433
.with_severity_text(record.level().as_str())
3534
// Not populating ObservedTimestamp, instead relying on OpenTelemetry
3635
// API to populate it with current time.
@@ -61,7 +60,7 @@ where
6160
}
6261
}
6362

64-
fn map_severity_to_otel_severity(level: Level) -> Severity {
63+
const fn severity_of_level(level: Level) -> Severity {
6564
match level {
6665
Level::Error => Severity::Error,
6766
Level::Warn => Severity::Warn,

opentelemetry-appender-tracing/src/layer.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use opentelemetry::logs::{LogRecord, Logger, LoggerProvider, Severity};
22
use std::borrow::Cow;
3+
use tracing_core::Level;
34
use tracing_subscriber::Layer;
45

56
const INSTRUMENTATION_LIBRARY_NAME: &str = "opentelemetry-appender-tracing";
@@ -100,7 +101,7 @@ where
100101
) {
101102
let meta = event.metadata();
102103
let mut log_record: LogRecord = LogRecord::default();
103-
log_record.severity_number = Some(map_severity_to_otel_severity(meta.level().as_str()));
104+
log_record.severity_number = Some(severity_of_level(meta.level()));
104105
log_record.severity_text = Some(meta.level().to_string().into());
105106

106107
// add the `name` metadata to attributes
@@ -124,19 +125,18 @@ where
124125
_event: &tracing_core::Event<'_>,
125126
_ctx: tracing_subscriber::layer::Context<'_, S>,
126127
) -> bool {
127-
let severity = map_severity_to_otel_severity(_event.metadata().level().as_str());
128+
let severity = severity_of_level(_event.metadata().level());
128129
self.logger
129130
.event_enabled(severity, _event.metadata().target())
130131
}
131132
}
132133

133-
fn map_severity_to_otel_severity(level: &str) -> Severity {
134-
match level {
135-
"INFO" => Severity::Info,
136-
"DEBUG" => Severity::Debug,
137-
"TRACE" => Severity::Trace,
138-
"WARN" => Severity::Warn,
139-
"ERROR" => Severity::Error,
140-
_ => Severity::Info, // won't reach here
134+
const fn severity_of_level(level: &Level) -> Severity {
135+
match *level {
136+
Level::TRACE => Severity::Trace,
137+
Level::DEBUG => Severity::Debug,
138+
Level::INFO => Severity::Info,
139+
Level::WARN => Severity::Warn,
140+
Level::ERROR => Severity::Error,
141141
}
142142
}

0 commit comments

Comments
 (0)