1

我有一个模块来设置我的日志记录,我在其中定义了一个 LogHandler。在这个 LogHandler 中,我想将消息传递给从我的主 python 文件(包含我的日志记录模块的那个)创建的线程中的一个函数。我发现我可以将线程引用传递给我的日志记录模块(需要 id),但我不知道如何让它被 LogHandler 回调访问。

这是它的样子:

main.py
import WebSocket
import Log

wsthread = WebSocket()
wsthread.start() # thread manages websocket connection which can pipe data to 

Log.setup() # I could pass thread here if needed

WebSocket.py
class WebSocket (threading.Thread):  
    def send(self, msg):
        #send msg to websocket

Log.py
class Log():
    @staticmethod
    def setup(self):
        logger = logging.getLogger("testlogger")
        handler = LogHandler()
        logger.addHandler(handler)

class LogHandler(logging.Handler):
    def emit(self, record):
        # i want to send the 'record' txt to wsthread.send(self.format(record))

在 python 中解决这个问题的正确范例是什么?

4

0 回答 0