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:
15
15
target = self ._process_target ,
16
16
)
17
17
self .process .start ()
18
+ self .redirect_main_process_log_to_queue ()
18
19
19
20
def get_log_file_path (self ) -> str :
20
21
# TODO: make this configurable
@@ -23,6 +24,22 @@ def get_log_file_path(self) -> str:
23
24
log_file_path = os .path .join (log_file_dir , 'multip.log' )
24
25
return log_file_path
25
26
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
+
26
43
def init_logger_configure (self ):
27
44
28
45
root = logging .getLogger ()
You can’t perform that action at this time.
0 commit comments