Groovy Hooks in Jenkins for increasing logging level
Yesterday, while debugging a problem we had in the BioUno update center, I realized that after increasing the logging level in the WEB interface, the messages that I needed weren’t being displayed in the logs.
It happened because some of the logging happened during Jenkins initialization, and before I could adjust the log level.
The solution was to use a Groovy Hook Script. If you are familiar with Linux init scripts, the idea is quite similar.
A Groovy script in the
$JENKINS_ROOT_DIR/init.groovy.d/ directory is executed during
Jenkins initialization. This way you can increase the global logger level with a script
as the following below.
import java.util.logging.ConsoleHandler import java.util.logging.LogManager import java.util.logging.Logger import java.util.logging.Level def logger = Logger.getLogger("") logger.setLevel(Level.FINEST) logger.addHandler (new ConsoleHandler())