@@ -179,21 +179,6 @@ async def prepare(self) -> bool:
179179
180180 async def startup (self ) -> bool :
181181 def run_subprocess ():
182- # Set up the logger
183- log_file = self .config .get ('log' )
184- logger = logging .getLogger (self .name )
185- logger .setLevel (logging .DEBUG )
186-
187- handler = RotatingFileHandler (
188- log_file ,
189- maxBytes = 10 * 1024 * 1024 ,
190- backupCount = 5
191- )
192- formatter = logging .Formatter ('%(asctime)s - %(levelname)s - %(message)s - %(extra_data)s' )
193- handler .setFormatter (formatter )
194- logger .addHandler (handler )
195- logger .propagate = False
196-
197182 # Define the subprocess command
198183 args = [
199184 self .get_exe_path (),
@@ -216,6 +201,21 @@ def run_subprocess():
216201
217202 debug = self .config .get ('debug' , False )
218203
204+ def setup_logging (log_file : str ):
205+ # Set up the logger
206+ logger = logging .getLogger (self .name )
207+ logger .setLevel (logging .DEBUG )
208+
209+ handler = RotatingFileHandler (
210+ log_file ,
211+ maxBytes = 10 * 1024 * 1024 ,
212+ backupCount = 5
213+ )
214+ formatter = logging .Formatter ('%(asctime)s - %(levelname)s - %(message)s - %(extra_data)s' )
215+ handler .setFormatter (formatter )
216+ logger .addHandler (handler )
217+ logger .propagate = False
218+
219219 def log_output (pipe ):
220220 def get_remaining_values (data : dict ) -> dict :
221221 return {key : value for key , value in data .items () if key not in ['level' , 'message' , 'time' ]}
@@ -234,7 +234,9 @@ def get_remaining_values(data: dict) -> dict:
234234 self .log .debug (f"{ self .name } : { line .rstrip ()} " )
235235 pipe .close ()
236236
237+ log_file = self .config .get ('log' )
237238 if log_file :
239+ setup_logging (log_file )
238240 Thread (target = log_output , args = (proc .stdout ,), daemon = True ).start ()
239241 Thread (target = log_output , args = (proc .stderr ,), daemon = True ).start ()
240242
0 commit comments