File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
OTHERS/MultiprocessingLogger Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ def __init__(self) -> None:
1515 target = self ._process_target ,
1616 )
1717 self .process .start ()
18+ self .redirect_main_process_log_to_queue ()
1819
1920 def get_log_file_path (self ) -> str :
2021 # TODO: make this configurable
@@ -23,6 +24,22 @@ def get_log_file_path(self) -> str:
2324 log_file_path = os .path .join (log_file_dir , 'multip.log' )
2425 return log_file_path
2526
27+ def redirect_main_process_log_to_queue (self ):
28+
29+ main_process_id = os .getpid ()
30+
31+ def filter (record : logging .LogRecord ):
32+ if record .process == main_process_id :
33+ self .queue .put_nowait (record )
34+ return None
35+
36+ root = logging .getLogger ()
37+ root .setLevel (logging .INFO )
38+
39+ handler = logging .Handler ()
40+ handler .addFilter (filter )
41+ root .addHandler (handler )
42+
2643 def init_logger_configure (self ):
2744
2845 root = logging .getLogger ()
You can’t perform that action at this time.
0 commit comments