我經常發現自己做這樣的事情,爲了記錄一個方法調用的輸出:有沒有一種乾淨的方式來記錄Groovy中的方法的結果?
def someMethod() {
def retVal = //stuff
log.debug("The return value is: $retVal")
retVal
}
這似乎是很多儀式,只要登錄該方法的返回值。我知道我可以使用面向方面編程(AOP)來做這種事情,但我希望只用Groovy來完成。
Groovy有很大的@Memoize
註釋來自動記憶方法調用,所以它有類似的@LogReturn
註釋來做我以後的事情嗎?
理想的情況下,我希望的東西乾淨,像這樣:
@LogReturn("debug")
def someMethod() {
// Stuff
}
注1:我知道我可以使用元編程來包裝方法的另一種方法,但我希望能夠使其與註釋
注2更加明確:我也開放爲以不同的方式
這並沒有達到我所追求的目標。我不想顯式記錄我的方法的'return'值,我希望它可以通過別的方法來完成。目標是仍然獲得伐木,但保持方法的「純」 – cdeszaq