我想注入的Log4j記錄器(或一般性的情況下,任何類)爲我所有的類,有一個日誌屬性:Groovy的依賴注入
def log
這是在Grails的自動完成。我想在普通的groovy應用程序中具有相同的功能,可以說對於src
下的所有常規文件。 Log4j的特點是,記錄器需要知道要記錄的類。 (Logger.getLogger(Class clazz)
)
我該如何做到這一點?
我想注入的Log4j記錄器(或一般性的情況下,任何類)爲我所有的類,有一個日誌屬性:Groovy的依賴注入
def log
這是在Grails的自動完成。我想在普通的groovy應用程序中具有相同的功能,可以說對於src
下的所有常規文件。 Log4j的特點是,記錄器需要知道要記錄的類。 (Logger.getLogger(Class clazz)
)
我該如何做到這一點?
你見過Groovy 1.8中的@Log
annotation added嗎?
Groovy使用類上的@Log4j
annotation爲此提供了本機支持。這將創建一個log
場指向的Log4J記錄器使用相同的名稱所討論的類,即:
package com.example
import groovy.util.logging.Log4j
@Log4j
public class LogExample {
}
是
package com.example
public class LogExample {
private static final Logger log = Logger.getLogger(LogExample.class)
}
真棒相當於!我一定錯過了。你們真的在那裏做得很好!謝謝。 – matcauthon
實際上,在寫這篇文章的時候,log4j和slf4j [看起來](https://jira.codehaus.org/browse/GROOVY-5557)的註釋是[broken](https://jira.codehaus。 org/browse/GROOVY-5574)... –
看看它,它似乎是一個類路徑問題..只要log4j在腳本執行時在類路徑中,註釋就可以正常工作:-D –