@@ -58,7 +58,7 @@ use crate::error::FlareError;
5858pub struct TracerFlareManager {
5959 agent_url : String ,
6060 language : String ,
61- current_log_level : Mutex < LogLevel > ,
61+ current_log_level : Mutex < Option < LogLevel > > ,
6262 pub original_log_level : Mutex < Option < LogLevel > > ,
6363 /// As a featured option so we can use the component with no Listener
6464 #[ cfg( feature = "listener" ) ]
@@ -70,7 +70,7 @@ impl Default for TracerFlareManager {
7070 TracerFlareManager {
7171 agent_url : hyper:: Uri :: default ( ) . to_string ( ) ,
7272 language : "rust" . to_string ( ) ,
73- current_log_level : Mutex :: new ( LogLevel :: Off ) ,
73+ current_log_level : Mutex :: new ( None ) ,
7474 original_log_level : Mutex :: new ( None ) ,
7575 #[ cfg( feature = "listener" ) ]
7676 listener : None ,
@@ -189,13 +189,13 @@ impl TracerFlareManager {
189189 let action = data. try_into ( ) ;
190190 if let Ok ( ReturnAction :: Set ( log_level) ) = action {
191191 // If we are already collecting
192- if * self . current_log_level . lock_or_panic ( ) != LogLevel :: Off {
192+ if self . current_log_level . lock_or_panic ( ) . is_some ( ) {
193193 return Ok ( ReturnAction :: None ) ;
194194 }
195- * self . current_log_level . lock_or_panic ( ) = log_level;
195+ * self . current_log_level . lock_or_panic ( ) = Some ( log_level) ;
196196 } else if Ok ( ReturnAction :: None ) != action {
197197 // If action is Send, Unset or an error, we need to stop collecting
198- * self . current_log_level . lock_or_panic ( ) = LogLevel :: Off ;
198+ * self . current_log_level . lock_or_panic ( ) = None ;
199199 }
200200 action
201201 }
@@ -221,7 +221,7 @@ impl TracerFlareManager {
221221 Ok ( data) => self . handle_remote_config_data ( data) ,
222222 Err ( e) => {
223223 // If encounter an error we need to stop collecting
224- * self . current_log_level . lock_or_panic ( ) = LogLevel :: Off ;
224+ * self . current_log_level . lock_or_panic ( ) = None ;
225225 Err ( FlareError :: ParsingError ( e. to_string ( ) ) )
226226 }
227227 }
@@ -481,9 +481,9 @@ pub async fn run_remote_config_listener(
481481 }
482482
483483 if let ReturnAction :: Set ( log_level) = state {
484- * tracer_flare. current_log_level . lock_or_panic ( ) = log_level;
484+ * tracer_flare. current_log_level . lock_or_panic ( ) = Some ( log_level) ;
485485 } else if let ReturnAction :: Send ( _) = state {
486- * tracer_flare. current_log_level . lock_or_panic ( ) = LogLevel :: Off ;
486+ * tracer_flare. current_log_level . lock_or_panic ( ) = None ;
487487 }
488488
489489 Ok ( state)
@@ -687,19 +687,19 @@ mod tests {
687687 . unwrap ( ) ;
688688
689689 // First AGENT_CONFIG
690- assert ! ( * tracer_flare. current_log_level. lock_or_panic( ) == LogLevel :: Off ) ;
690+ assert ! ( tracer_flare. current_log_level. lock_or_panic( ) . is_none ( ) ) ;
691691 let result = tracer_flare
692692 . handle_remote_config_file ( agent_config_file. clone ( ) )
693693 . unwrap ( ) ;
694694 assert_eq ! ( result, ReturnAction :: Set ( LogLevel :: Info ) ) ;
695- assert ! ( * tracer_flare. current_log_level. lock_or_panic( ) == LogLevel :: Info ) ;
695+ assert ! ( * tracer_flare. current_log_level. lock_or_panic( ) == Some ( LogLevel :: Info ) ) ;
696696
697697 // Second AGENT_CONFIG
698698 let result = tracer_flare
699699 . handle_remote_config_file ( agent_config_file)
700700 . unwrap ( ) ;
701701 assert_eq ! ( result, ReturnAction :: None ) ;
702- assert ! ( * tracer_flare. current_log_level. lock_or_panic( ) == LogLevel :: Info ) ;
702+ assert ! ( * tracer_flare. current_log_level. lock_or_panic( ) == Some ( LogLevel :: Info ) ) ;
703703
704704 // Non-None actions stop collecting
705705 let error_file = storage
@@ -716,7 +716,7 @@ mod tests {
716716 . unwrap ( ) ;
717717
718718 let _ = tracer_flare. handle_remote_config_file ( error_file) ;
719- assert ! ( * tracer_flare. current_log_level. lock_or_panic( ) == LogLevel :: Off ) ;
719+ assert ! ( tracer_flare. current_log_level. lock_or_panic( ) . is_none ( ) ) ;
720720 }
721721
722722 #[ test]
0 commit comments