Besseren Weg, um log-Methode, ruft Python?

Können wir code, eine Art von Protokollierung Dekorator echo-Funktion/- Methode aufrufen wie dem folgenden:

def log(fn):
    ...

@log
def foo():
    ...

class Foo(object):
    @log
    def foo(self):
        ...

    @log
    def bar(self, a, b):
        ...

    @log
    def foobar(self, x, y, z):
        ...

Aber was ist, wenn wir sind wie log-Methode aufruft, ohne dass viele @ - log-in vor jeder meth-definition? Gibt es eine Möglichkeit, nur ein Dekorator oben genannten definition einer Klasse machen alle Ihre Methodenaufrufe eingerichtet/angemeldet? Oder gibt es andere besser und interessanter Weise zu tun, anstatt decorator?

  • Würde es nicht mehr Sinn machen, explizit melden Sie Sachen? Ich verstehe, dass die logging-Funktion können Gespräche hilfreich sein, um eine bessere Vorstellung, was passiert, wenn, aber in der Regel, zumindest würde ich es vorziehen, um einige der Protokollierung in zwischen, wenn es angemessen erscheint.
InformationsquelleAutor Drake Guan | 2011-02-24
Schreibe einen Kommentar