2010-09-30 15 views
1

我嘗試記錄grails域類的namedQuery中的一些細節,但記錄錯誤。如何登錄HibernateCriteriaBuilder

static namedQueries = { 
    firstThree { 
    if (booleanValue) { 
     log.trace "booleanValue = true" 
     eq ('bar', foo) 
    } 
    maxResults(3) 
    } 
} 

錯誤

No such property: log for class: grails.orm.HibernateCriteriaBuilder 

如何登錄的標準是什麼?

+0

我刪除我的答案,因爲這是行不通的。我不知道如何在命名查詢中執行此操作。不過,似乎可能有不同的方式來解決這個問題。 – 2010-09-30 16:07:36

回答

2

問題是log屬性不是靜態的,所以它從靜態閉包中不可見。您可以創建自己的靜態記錄器並使用它,例如

static final Logger LOG = Logger.getLogger('some.logging.category.name') 

,然後使用:

static namedQueries = { 
    firstThree { 
    if (booleanValue) { 
     LOG.trace "booleanValue = true" 
     eq ('bar', foo) 
    } 
    maxResults(3) 
    } 
}