@@ -125,18 +125,10 @@ impl LoggerProvider {
125125 if errs. is_empty ( ) {
126126 Ok ( ( ) )
127127 } else {
128- otel_warn ! (
129- name: "logger_provider_shutdown_error" ,
130- error = format!( "{:?}" , errs)
131- ) ;
132- Err ( LogError :: Other ( format ! ( "{:?}" , errs) . into ( ) ) )
128+ Err ( LogError :: Other ( format ! ( "{errs:?}" ) . into ( ) ) )
133129 }
134130 } else {
135- let error = LogError :: AlreadyShutdown ( "LoggerProvider" . to_string ( ) ) ;
136- otel_debug ! (
137- name: "LoggerProvider.Shutdown.AlreadyShutdown" ,
138- ) ;
139- Err ( error)
131+ Err ( LogError :: AlreadyShutdown ( "LoggerProvider" . to_string ( ) ) )
140132 }
141133 }
142134}
@@ -154,6 +146,24 @@ impl LoggerProviderInner {
154146 let mut errs = vec ! [ ] ;
155147 for processor in & self . processors {
156148 if let Err ( err) = processor. shutdown ( ) {
149+ // Log at debug level because:
150+ // - The error is also returned to the user for handling (if applicable)
151+ // - Or the error occurs during `LoggerProviderInner::Drop` as part of telemetry shutdown,
152+ // which is non-actionable by the user
153+ match err {
154+ // specific handling for mutex poisioning
155+ LogError :: MutexPoisoned ( _) => {
156+ otel_debug ! (
157+ name: "LoggerProvider.Drop.ShutdownMutexPoisoned" ,
158+ ) ;
159+ }
160+ _ => {
161+ otel_debug ! (
162+ name: "LoggerProvider.Drop.ShutdownError" ,
163+ error = format!( "{err}" )
164+ ) ;
165+ }
166+ }
157167 errs. push ( err) ;
158168 }
159169 }
@@ -164,13 +174,10 @@ impl LoggerProviderInner {
164174impl Drop for LoggerProviderInner {
165175 fn drop ( & mut self ) {
166176 if !self . is_shutdown . load ( Ordering :: Relaxed ) {
167- let errs = self . shutdown ( ) ;
168- if !errs. is_empty ( ) {
169- global:: handle_error ( LogError :: Other ( format ! ( "{:?}" , errs) . into ( ) ) ) ;
170- }
177+ let _ = self . shutdown ( ) ; // errors are handled within shutdown
171178 } else {
172179 otel_debug ! (
173- name: "LoggerProvider.Drop.AlreadyShutdown" ,
180+ name: "LoggerProvider.Drop.AlreadyShutdown"
174181 ) ;
175182 }
176183 }
0 commit comments