3
我有原木使用Groovy中提供的@Slf4j
註解一個Groovy庫:如果我把這個lib放到一個Grails(2.4.2)應用Slf4j註釋在Grails中工作嗎?
@Slf4j
class SomePogo {
// do stuff
}
,將默認基於log4j的記錄系統拿起日誌語句在這些類中?或者我需要將log4j記錄器添加到我的所有類中?
我有原木使用Groovy中提供的@Slf4j
註解一個Groovy庫:如果我把這個lib放到一個Grails(2.4.2)應用Slf4j註釋在Grails中工作嗎?
@Slf4j
class SomePogo {
// do stuff
}
,將默認基於log4j的記錄系統拿起日誌語句在這些類中?或者我需要將log4j記錄器添加到我的所有類中?
所有Grails文物(控制器,域類,標籤庫,服務等)都有一個靜態記錄器字段(名爲log
)自動添加到它們中。
src/groovy
中的類也自動添加了一個名爲log
的記錄器字段,但在這種情況下,記錄器是非靜態的。因此,您唯一需要明確添加記錄器的時間是,如果您想從src/groovy
類中靜態記錄。在這種情況下,您需要註釋類@Slf4j
(或@Log4j
),以便用靜態log
字段替換由Grails添加的非靜態記錄器。
所有Groovy類都獲得記錄器,甚至是'src/groovy' – 2014-11-21 20:08:31
@Dónal - 問題是關於第三方JAR作爲依賴項添加到Grails應用程序。如果它的類用'@ Slf4j'註解,它的記錄器會被Grails拾取嗎? – IAmYourFaja 2014-11-21 20:59:19
@IAmYourFaja是的,當然。 Log4J不知道哪些類是你的,哪些屬於第三方庫,所以它們都是一樣的。 – 2014-11-21 21:29:31