0

こんにちは、rpyc モジュールを使用してリモート マシンに接続し、その上で何かを実行しています。処理中に、リモート マシンが何らかのログを記録する可能性があるため、ローカル マシンにリダイレクトする必要があります。

ログをリダイレクトしようとすると、次の奇妙な例外が発生しました。

import rpyc


c = rpyc.classic.connect("localhost")
l = c.modules["logging"].getLogger("foo")

for h in l.handlers:
    print h

このループにより、例外が発生します。

2017-03-19 11:38:29,180 - protocol.py    :312  - DEBUG      - Exception caught
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/rpyc-3.2.3-py2.7.egg/rpyc/core/protocol.py", line 302, in _dispatch_request
res = self._HANDLERS[handler](self, *args)
File "/usr/lib/python2.7/site-packages/rpyc-3.2.3-py2.7.egg/rpyc/core/protocol.py", line 560, in _handle_callattr
return self._handle_getattr(oid, name)(*args, **dict(kwargs))
StopIteration

誰かが私が間違っていることを見ていますか? l.handlers を繰り返し処理できないのはなぜですか?

4

1 に答える 1