[
https://issues.apache.org/jira/browse/GROOVY-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15443280#comment-15443280
]
Paul King commented on GROOVY-7371:
-----------------------------------
I ran your script (with a @Grab line added) in the GroovyConsole for Groovy
2.3.11 and master and both seemed to run fine:
{code}
@Grab('org.slf4j:slf4j-simple:1.7.21')
@groovy.util.logging.Slf4j
class TestLog {
def bar () {
int count = 0
if( log.isTraceEnabled() ) {
log.trace "${count++}"
}
count
}
def foo () {
int count = 0
log.trace "${count++}"
count
}
}
assert new TestLog().bar() == 0
assert new TestLog().foo() == 0
{code}
Can you elaborate a bit more on your environment?
> AST xform @Slf4j does not check level guard
> -------------------------------------------
>
> Key: GROOVY-7371
> URL: https://issues.apache.org/jira/browse/GROOVY-7371
> Project: Groovy
> Issue Type: Bug
> Affects Versions: 2.3.11
> Reporter: paolo di tommaso
> Priority: Minor
>
> Groovy logging AST transformation is supposed to "wrap all calls to
> log.level() into the appropriate log.isLevelEnabled guard, depending on the
> underlying framework "
> http://groovy-lang.org/metaprogramming.html#_logging_improvements
> However the following test fails:
> {code}
> @groovy.util.logging.Slf4j
> class TestLog {
> def bar () {
> int count=0
> if( log.isTraceEnabled() ) {
> log.trace "${count++}"
> }
> return count
> }
> def foo () {
> int count=0
> log.trace "${count++}"
> return count
> }
> }
> assert new TestLog().bar() == 0
> assert new TestLog().foo() == 0
> Assertion failed:
> assert new TestLog().foo() == 0
> | | |
> | 1 false
> TestLog@416b8a53
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)