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