@@ -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