[
https://issues.apache.org/jira/browse/GROOVY-7371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15443401#comment-15443401
]
paolo di tommaso commented on GROOVY-7371:
------------------------------------------
I've found a solution, though I'm not sure to understand the reason. It turns
out the problem only arise when running a script with nextflow (that's a Groovy
based DSL).
In the custom compiler configuration I'm importing statically a class that is
annotated with the `Slf4j` annotation.
https://github.com/nextflow-io/nextflow/blob/ig_job_stealing/src/main/groovy/nextflow/script/ScriptRunner.groovy#L263
This is causing the bizarre side effect. Renaming the logger name in the class
statically imported solves the problem.
> 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)