I am trying to get logging enabled in my Grovvy unit tests that I am running with Cucumber-jvm.
In my tests I have imported:
import groovy.util.logging.Slf4j
Then added
@Slf4j
However, when I run any of these commands:
mvn test -Dgmaven.logging=DEBUG
mvn test -Dgmaven.logging=TRACE
This method only prints out '[WARN] log.isWarnEnabled()'
void debugLogging(){
println("~~~~~ debugLogging() ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
if(log.isTraceEnabled()){
println("log.isTraceEnabled()")
log.trace("log.isTraceEnabled()")
}
if(log.isDebugEnabled()){
println("log.isDebugEnabled()")
log.debug("log.isDebugEnabled()")
}
if(log.isInfoEnabled()){
println("log.isInfoEnabled()")
log.info("log.isInfoEnabled()")
}
if(log.isWarnEnabled()){
println("log.isWarnEnabled()")
log.warn("log.isWarnEnabled()")
}
}
Here is my ./src/test/resources/logback.xml :
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<!-- Use level="DEBUG" for more detailed logging -->
<root level="debug">
<appender-ref ref="STDOUT" />
</root>
</configuration>
How can I change the log level in my unit test?