1

私は単純な開始/停止 HTTP サーバー python アプリの作成に取り組んでおり、現在、次のクラス設定があります。

#The Tkinter interface for the application
class Application():
    def __init__(self,win):
        self.serverThread=ServerThread()

        self.output=Tkinter.Text(win)
        self.output.pack()


#The Server Thread
class ServerThread():
    class ServerHandler(BaseHTTPServer.BaseHTTPRequestHandler):
        def log_message(msg):
            //here's where I'm confused
    def __init__(self):
        self.server=BaseHTTPServer.HTTPServer(('',8000),self.ServerHandler)

グローバル出力変数を使用せずに ServerHandler クラスからアプリケーションの出力フィールドにテキストを追加する正しい方法は何でしょうか? ServerHandler には、それを作成した ServerThread オブジェクトへの参照さえありますか?

編集:私が本当に探しているのはこれだと思います: BaseHTTPServer.HTTPServer にクラスとして渡される ServerHandler に、グローバル変数を使用せずに作成された ServerThread および Application オブジェクトについて知るにはどうすればよいですか?

4

1 に答える 1

0

ロギング機能を探している場合は、標準のロギングモジュールを確認することをお勧めします。実際には、必要な数の「グローバル」ログ出力が得られます。また、明らかに標準であるという利点もあります。これにより、多くの人がこの方法を使用するため、ロギング コードが読みやすくなります。

于 2012-07-07T02:50:38.357 に答える