Skip to content

Commit ddda9e0

Browse files
author
jerry wang
committed
add function for main process log
1 parent f38930a commit ddda9e0

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

OTHERS/MultiprocessingLogger/logger.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff 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()

0 commit comments

Comments
 (0)