1
1
use opentelemetry:: logs:: { LogRecord , Logger , LoggerProvider , Severity } ;
2
2
use std:: borrow:: Cow ;
3
+ use tracing_core:: Level ;
3
4
use tracing_subscriber:: Layer ;
4
5
5
6
const INSTRUMENTATION_LIBRARY_NAME : & str = "opentelemetry-appender-tracing" ;
@@ -100,7 +101,7 @@ where
100
101
) {
101
102
let meta = event. metadata ( ) ;
102
103
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 ( ) ) ) ;
104
105
log_record. severity_text = Some ( meta. level ( ) . to_string ( ) . into ( ) ) ;
105
106
106
107
// add the `name` metadata to attributes
@@ -124,19 +125,18 @@ where
124
125
_event : & tracing_core:: Event < ' _ > ,
125
126
_ctx : tracing_subscriber:: layer:: Context < ' _ , S > ,
126
127
) -> bool {
127
- let severity = map_severity_to_otel_severity ( _event. metadata ( ) . level ( ) . as_str ( ) ) ;
128
+ let severity = severity_of_level ( _event. metadata ( ) . level ( ) ) ;
128
129
self . logger
129
130
. event_enabled ( severity, _event. metadata ( ) . target ( ) )
130
131
}
131
132
}
132
133
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 ,
141
141
}
142
142
}
0 commit comments