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

Logging Java Discussion :

[log4l]log4j.xml et variable d'environnement multiplateform


Sujet :

Logging Java

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 41
    Points
    41
    Par défaut [log4l]log4j.xml et variable d'environnement multiplateform
    Bonjour tout le monde,

    je suis en train de developper une application et j'utilise log4j comme logger. Je passe par un fichier xml pour configurer log4j, et j'aimerai pouvoir specifier le nom des mes fichiers de log avec des variables d'environnement. J'ai deja trouve des postes decrivant comme faire (en compilant avec l'option -DnomVariable...), mais je tombe sur un autre probleme. J'aimerai que mon xml soit le meme à la fois sous unix et windows (en supposant bien sur que les variables d'environnement aient les mêmes noms)

    pour l'instant mon fichier xml est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
      <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
        <param name="Target" value="System.out"/> 
        <layout class="org.apache.log4j.PatternLayout"> 
          <param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss}]:%-5p- %m%n"/> 
        </layout> 
      </appender>
      <appender name="LOGFILE" class="org.apache.log4j.FileAppender"> 
        <param name="file" value="${AOUTIL_LOGFILE}"/>
    	<param name="append" value="true"/>
        <layout class="org.apache.log4j.PatternLayout"> 
          <param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss}]:%-5p- %m%n"/> 
        </layout> 
      </appender>
      <appender name="LOGGLOBAL" class="org.apache.log4j.DailyRollingFileAppender"> 
        <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    	<param name="file" value="${AOUTIL_GLOBAL_LOG}"/>
    	<param name="append" value="true"/>
        <layout class="org.apache.log4j.PatternLayout"> 
          <param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss}]:%-5p- %m%n"/> 
        </layout> 
      </appender>
      <root> 
        <priority value ="info" /> 
        <appender-ref ref="CONSOLE" /> 
    	<appender-ref ref="LOGFILE" />
    	<appender-ref ref="LOGGLOBAL" /> 
      </root>
     
    </log4j:configuration>
    mais voila ${AOUTIL_GLOBAL_LOG} est specifique à unix si je me souviens bien...exist-il une solution pour appeler ces variable d'env à la fois sous windows et unix, ou suis-je obligé d'avoir un xml spécifique par os?

    merci d'avance,

    cordialement

  2. #2
    Membre actif Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Points : 278
    Points
    278
    Par défaut
    AOUTIL_GLOBAL_LOG est spécifique à unix ?

    Tu peux avoir un fichier unique.
    Tu doit définir ta variable sous windows et sous UNIX.(avec des valeurs différentes).
    Tiré dune appli existante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      <appender name="RollingFileAppender" class="org.apache.log4j.RollingFile
    Appender">
                    <param name="File" value="${log.path}/appli.log"/>
    Je ne comprends pas ce qui t'embête.

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    En fait je n'ai pas de plateforme windows sous la main, mais a ce que je me rappel pour appeler une variable d'environnement sous windows il faut faire %Nom_Variable% et sous Unix ${Nom_Variable}.

    donc en gros est ce que Windows interpretera mon fichier xml avec ma variable d'env ecrite sous la forme ${Nom_Variable} et non sous la forme windows %Nom_variable%??

  4. #4
    Membre actif Avatar de coco62
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 237
    Points : 278
    Points
    278
    Par défaut
    OK, je vois.

    Dans ton fichier, met ${variable} quelque soit l'OS.

    Merci de penser au tag résolu.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Points : 41
    Points
    41
    Par défaut
    merci pour ton aide!!

    bye

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [minidom/XML] lecture variable d'environnement
    Par tiresias54 dans le forum Général Python
    Réponses: 0
    Dernier message: 29/05/2013, 16h25
  2. [XML] specifier la DTD par une variable d'environnement
    Par xxiemeciel dans le forum Valider
    Réponses: 2
    Dernier message: 20/03/2006, 16h28
  3. [log4j]Appeler une variable d'environnement
    Par nana1 dans le forum Logging
    Réponses: 5
    Dernier message: 08/12/2005, 12h22
  4. XML et variable d'environnement
    Par nicolas.79 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 21/11/2005, 10h03

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