2009-08-12 3 views
3

Lors de l'exécution d'une classe Java via Ant, j'avais beaucoup de mal à obtenir la sortie Log4J, même si le fichier log4.properties se trouvait sur le chemin de classe. Documenter ici au cas où quelqu'un d'autre a le même problème.Comment puis-je voir la sortie Log4J d'une classe Java démarrée avec Ant?

E.g.

<java classname="Hello" fork="true">  
    <classpath> 
    <fileset dir="${lib.dir}"> 
     <include name="**/*.jar"/> 
    </fileset>  
    </classpath> 
</java> 

Répondre

6

Ceci peut être résolu en utilisant quelque chose comme ce qui suit:

<property name="log4j" value="file:///${basedir}/log4j.properties"/> 
... 
<java classname="Hello" fork="true"> 
    <sysproperty key="log4j.configuration" value="${log4j}"/> 
    <classpath> 
     <fileset dir="${lib.dir}"> 
      <include name="**/*.jar"/> 
     </fileset>  
    </classpath> 
</java> 
+0

Merci de prendre le temps de documenter cela. – hidralisk

2

Si vous êtes curieux de voir où log4j est à la recherche pour ses fichiers de configuration, essayez de définir la propriété système log4j.debug.

<java classname="Hello" fork="true"> 
    <sysproperty key="log4j.debug" value="true" /> 
    <classpath> 
    … 
    </classpath> 
</java> 

Cela affichera des informations sur stderr indiquant où il cherche ses fichiers de configuration. Il y a une brève mention de ceci dans le manual.

Questions connexes