Ce que j'essaye de réaliser est d'avoir log4j comme seule sortie de mon fichier de construction Ant. Obtenir log4j fonctionne à peu près parfaitement, sauf qu'il étend la sortie des fourmis. J'obtiens donc le DefaultLogger de Ant intercalé avec la sortie de log4j. Prenez un fichier de construction Ant très simple:Sortie Apache Ant en utilisant uniquement log4j
<project name="Maintenance_to_Delivery" default="main" basedir=".">
<target name="main">
<echo message="test">
</target>
</project>
Et log4j.properties
log4j.rootLogger=ERROR, stdout
log4j.logger.org.apache.tools.ant.Project=INFO
log4j.logger.org.apache.tools.ant.Target=INFO
log4j.logger.org.apache.tools.ant.taskdefs=INFO
log4j.logger.org.apache.tools.ant.taskdefs.Echo=INFO
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss} %-5p %m%n
log4j.appender.stdout.Threshold=INFO
Et l'exécution de ce plus la sortie:
# ant -lib /app/apache-sf/log4j/1.2.16/log4j-1.2.16.jar:. -listener org.apache.tools.ant.listener.Log4jListener
Buildfile: /home/sysswb/working/qa/sep/M2D-new/build.xml
16:36:59 INFO Build started.
main:
16:37:00 INFO Target "main" started.
[echo] TEST
16:37:00 WARN TEST
16:37:00 INFO Target "main" finished.
BUILD SUCCESSFUL
Total time: 1 second
16:37:00 INFO Build finished
donc - est-il possible d'obtenir log4j complètement remplacer la sortie DefaultLogger? ... sans écrire un enregistreur personnalisé? Puisque l'argument -listener enregistre des écouteurs supplémentaires, l'écouteur utilisé par DefaultLogger peut-il être supprimé/désactivé?
Je ne suis que Java 1.6.0_18 et Ant 1.8.0. TIA.
log4j fonctionne parfaitement - la sortie exemple dans ma question montre que. Mon problème est qu'il étend la sortie ... Je suppose que je devrais ajouter à ma question "comment supprimer la sortie DefaultLogger" – DisabledLeopard
Juste pour plus de clarté, vous ne voulez pas que DefaultLogger soit utilisé par Ant. Au lieu de cela, votre fichier log4j.properties doit être utilisé. Est-ce le cas OU voulez-vous supprimer complètement la journalisation Ant? –
Je veux que log4j contrôle complètement la sortie - Ant ne devrait rien afficher sauf ce que dit log4j. log4j fonctionne bien - j'ai juste du mal à supprimer la partie par défaut de l'enregistreur Ant. – DisabledLeopard