ich finde mich oft so etwas wie dies tun, um die Ausgabe eines Methodenaufruf zu protokollieren:Gibt es eine saubere Möglichkeit, das Ergebnis einer Methode in Groovy zu protokollieren?
def someMethod() {
def retVal = //stuff
log.debug("The return value is: $retVal")
retVal
}
Diese wie viele Zeremonie scheint nur den Rückgabewert des Verfahrens zu protokollieren. Ich weiß, dass ich Aspect Oriented Programming (AOP) verwenden kann, um so etwas zu tun, aber ich hatte gehofft, es nur mit Groovy zu machen.
Groovy hat die große @Memoize
Annotation zu Auto-Memoize Methodenaufrufe, also hat es eine ähnliche @LogReturn
Art von Annotation zu tun, was ich danach bin?
Idealerweise würde ich etwas sauber, wie dies erwartet:
@LogReturn("debug")
def someMethod() {
// Stuff
}
Anmerkung 1: Ich weiß, ich Meta-Programmierung die Methode in einem anderen Verfahren zu wickeln verwenden könnte, aber ich habe gehofft, in der Lage sein machen es noch deutlicher mit einer Anmerkung
Anmerkung 2: ich bin auch offen für Vorschläge für diese in einer anderen Art und Weise erreichen
Dies erreicht nicht, was ich überhaupt will. Ich möchte nicht explizit den Rückgabewert meiner Methode protokollieren müssen, ich möchte, dass sie von etwas anderem ausgeführt wird. Das Ziel ist es, immer noch die Protokollierung zu erhalten, aber den Körper der Methode "rein" zu halten – cdeszaq