Voici comment je le fais. Je définis une propriété système appelée 'log.level', puis je la référence dans le fichier logback.xml.
Editer: L'inconvénient est que vous devez avoir 'log.level' toujours défini. La façon dont je traite cela est de vérifier dans ma méthode principale et le mettre à INFO si ce n'est pas déjà fait, assurez-vous de le faire avant de vous connecter les premiers appels. Ensuite, je peux remplacer sur la ligne de commande, et avoir un défaut par défaut.
Voici à quoi il ressemble dans mon logback.xml:
<configuration>
<logger name="com.mycompany.project" level="${log.level}" />
<logger name="httpclient" level="WARN" />
<logger name="org.apache" level="WARN" />
<logger name="org.hibernate" level="WARN" />
<logger name="org.hibernate.cfg.AnnotationBinder" level="WARN" />
<logger name="org.hibernate.cfg.annotations" level="WARN" />
<logger name="org.quartz" level="WARN" />
<logger name="org.springframework" level="WARN" />
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-16thread] %-5level %-35.35logger{30} - %msg%n</pattern>
</encoder>
</appender>
<root level="${log.level:-INFO}">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Il a été fait: http://jira.qos.ch/ browse/LBCLASSIC-225 Les plaidoyers votent pour cela! –
La fonctionnalité est "fixe" et se trouve dans le journal 1.0.4. –
Pour être absolument clair, vous pouvez maintenant activer le débogage de Logback avec une propriété système, par ex. '-Dlogback.debug = true'. Via http://gordondickens.com/wordpress/2013/07/18/logback-config-showing-debug-level/. –