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でこれを解決するための正しいパラダイムは何ですか?