根据http://docs.codehaus.org/display/GROOVY/Groovy+1.8+release+notes#Groovy18releasenotes-Log groovy 确实围绕日志语句进行检查,例如 isDebugEnabled() 等。
grails 会为生成的代码执行此操作吗?
对于 grails 服务中的此日志调用:
log.debug("competitors errors stage 1: ${failedCarrierRequests}")
在反编译的 .class 文件中,我只看到这个:
arrayOfCallSite[85].call(log, new GStringImpl(new Object[] { allCompetitorDepartmentsRows.get() }, new String[] { "All competitors: ", "" }));
目前尚不清楚幕后是否检查日志级别。