0
如Can't call one closure from another中所述,我在Grails應用程序中使用可插入腳本。將日誌記錄添加到外部可插入腳本
不幸的是,我發現我不能在這些腳本中使用log4j。我被迫使用println。
我嘗試使用
import org.apache.commons.logging.LogFactory
def Log log = LogFactory.getLog(getClass())
,但我沒有輸出。當我打印出來的調用的getClass的結果(),我得到的東西像
myscript$_run_closure5
所以我想的問題是,有在這個類我的Grails的Config.groovy文件中沒有的配置。
有沒有辦法讓我以編程方式將這些可插入腳本添加到log4j配置?請記住,我不知道腳本的名稱是什麼,所以這必須在運行時發生。
我找到了適合我需求的可行解決方案。我只是將一個包添加到我的腳本文件(com.pluggable)中,並將com.pluggable添加到Config.groovy的log4j設置中的軟件包列表中。這對我來說已經夠好了,但是我會留下這個問題,以便根據我最初提出的問題提出更加動態的解決方案。 – greymatter