私は次のクラスを持っています:
class StrLogger(str):
def __init__(self, *args):
self._log_ = []
str.__init__(self, *args)
def __getattribute__(self, attr):
self._log_.append((self.__name__, attr))
return str.__getattribute__(self, attr)
で初期化できStrLogger、slog = StrLogger('foo')継承されたすべてのメソッドにアクセスできstr、問題なく実行されます。slog._log_問題は、またはのいずれかでログを取得しようとするとslog.__dict__['_log_']、__getattribute__メソッドが無限再帰でスタックすることです。なぜこれが起こっているのか理解していますが、私の質問は、どうすればログにアクセスできますか?