IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Externalisation du fichier de conf log4j


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 57
    Par défaut Externalisation du fichier de conf log4j
    Bonjour à tous,

    Je voudrais faire quelque chose qui me semble classique, mais je n'ai pas trouvé de réponses sur Google.

    J'ai une application sous Spring, classique, déployée sous JOnAS (qu'importe).

    Elle tourne en local sur le PC pour les tests et en environnements cible Linux pour la recette, les test Métier, la prod, etc.

    Elle utilise log4j pour le logging, re-classique.

    Je voudrai utiliser le fichier de configuration log4j.properties embarqué dans l'EAR en local, et lorsque je suis en environnement cible, utiliser un autre fichier de configuration, externe au fichier EAR, sous un autre nom, externe.log4j.properties par exemple.

    En effet, je voudrais que l'EAR soit le même pour les tests en local, et en environnement cible, avec la possibilité sur ces derniers d'avoir un fichier spécifique qui soit prioritaire ?

    L' "algo" de chargement du fichier de configuration log4j serait le suivant :

    Si un fichier externe.log4j.properties est trouvé dans le classpath, l'utiliser.
    Sinon utiliser le log4j.properties.

    Peut-on faire cela ?

    Ou bien y-a-t-il une solution toute prête pour ma problématique, à laquelle je ne pense pas.

    Par avance, merci.

    Cordialement à tous...

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 383
    Par défaut
    Pour utiliser un fichier log4j différent pour chaque environnement, on embarque tous les log4j.properties dans le war dans des répertoires différents (/pre-prod, /validation, /production par exemple).
    Ensuite, dans le web.xml on utilise le code de configuration suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <context-param>
            <param-name>log4jConfigLocation</param-name>
            <param-value>file:///etc/configuration/application/log4j.properties</param-value>
     </context-param>
    Dans le repertoire /etc/configuration/application de chaque environnement cible, on créé un lien symbolique vers le bon répertoire du war déployé (/pre-prod, /validation, /production de l'exemple) qui contient le log4j.properties propre à l'environnement

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 57
    Par défaut
    Merci.

    Je m'étais orienté vers une solution plus ou moins proche.

    Je conserve le fichier log4j.properties dans l'EAR, ce qui me permet de déployer facilement l'application en local, dans un JOnAS juste installé et démarré.

    Sur les environnements cibles, je lance JOnAS avec l'option
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -Dlog4j.configuration=externe.log4j.properties
    qui a pour effet de faire chercher par log4j le fichier de configuration externe.log4j.properties et non plus log4j.properties (trouvé à http://logging.apache.org/log4j/1.2/manual.html)
    Et dans le classpath, par exemple dans JONAS_BASE/conf, je mets ce fichier propre à chaque environnement (généré et copié par le kit d'installation).

    Ainsi, avec le même EAR, pas de problème en local, et possibilité de paramétrer et de changer facilement si besoin le niveau de trace sur les environnements cibles.

Discussions similaires

  1. Externalisation du fichier Log4J
    Par deutschy dans le forum Général Java
    Réponses: 3
    Dernier message: 03/11/2014, 09h03
  2. Réponses: 2
    Dernier message: 02/12/2010, 12h04
  3. Réponses: 2
    Dernier message: 10/02/2010, 14h40
  4. [Log4j]Cherche visualiseur de fichiers logs de log4j
    Par RolandB dans le forum Logging
    Réponses: 9
    Dernier message: 18/03/2009, 15h11
  5. Réponses: 4
    Dernier message: 19/03/2004, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo