2016-10-17 3 views

Répondre

0

Je vous recommande de lire la section sur Logging dans la référence de démarrage de printemps. Vous ne devriez vraiment pas construire une application spécifique à l'environnement. Vous devez utiliser le même artefact et spécifier des variables d'environnement pour spécifier des caractéristiques uniques pour cet environnement (The Twelve-Factor App - Build, Release, Run). Dans ce cas, vous créez une application, puis dans les situations où vous utilisez local, dev ou prod, vous pouvez spécifier une variable d'environnement pour le logging.config pointant vers le fichier log4j.properties différent de la manière dont vous spécifiez la propriété spring.profiles.active.

Il existe même une section spéciale dans la référence de Logback pour effectuer la consignation différemment par profil. Je sais que votre question initiale dit log4j.properties mais peut-être que ce besoin justifie un coup d'oeil au logback. Sous la section Profile-Specific Configuration, il apparaît que vous pouvez personnaliser le fichier logging.config avec des sections pour les différents profils. L'exemple:

<springProfile name="staging"> 
    <!-- configuration to be enabled when the "staging" profile is active --> 
</springProfile> 

<springProfile name="dev, staging"> 
    <!-- configuration to be enabled when the "dev" or "staging" profiles are active --> 
</springProfile> 

<springProfile name="!production"> 
    <!-- configuration to be enabled when the "production" profile is not active --> 
</springProfile>