Petite astuce logback
Petite astuce avec logback : il est possible d’utiliser des variables dans le fichier de configuration, définies comme variables d’environnement (-D) ou venant d’un fichier de properties paramétré dans le fichier logback.xml. Ce fichier peut même provenir du classpath :
par exemple avec dans mon fichier properties :
environment=INT
Et la config logback suivante :
<property resource="monapp-config.properties" />
<appender name="monapp" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/tmp/logs/monapp-${environment}.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/tmp/logs/monapp-${environment}.%d{yyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
Je peux faire varier le nom du fichier en fonction de l’environnement (qui peut lui même être filtré par maven mais c’est une autre histoire).