Rechercher : dans
Par :

[JAVA-log4j] un logger, plusieurs appender

Dernière réponse le 6 sep 2007 à 23:05:06 ronan, le 28 jun 2006 à 19:44:14 
 Signaler ce message aux modérateurs

Bonjour,

J'utilise l'API log4j pour gérer les logs de mon application.
Je souhaite realiser la chose suivante :
- afficher que les logs de niveau ERROR dans la console,
- ecrire tous les logs de niveau INFO dans un fichier

voici mon fichier log4j.properties, qui ne fonctionne pas :

log4j.logger.com.appli=ERROR, AppenderToConsole
log4j.logger.com.appli=INFO, AppenderToFile1

# Sorties sur le fichier
log4j.appender.AppenderToFile1=org.apache.log4j.DailyRolling­FileAppender
log4j.appender.AppenderToFile1.DatePattern='.'yyyy-MM-dd
log4j.appender.AppenderToFile1.File=/home/test/logs/test.log­
log4j.appender.AppenderToFile1.layout=org.apache.log4j.Patte­rnLayout
log4j.appender.AppenderToFile1.layout.ConversionPattern=%d %5p [%t] - %m%n

# Sorties sur la console
log4j.appender.AppenderToConsole=org.apache.log4j.ConsoleApp­ender
log4j.appender.AppenderToConsole.layout=org.apache.log4j.Pat­ternLayout
log4j.appender.AppenderToConsole.layout.ConversionPattern=%d­ %5p [%t] - %m%n


merci d'avance de votre aide

ronan

Meilleures réponses pour « [JAVA log4j] un logger, plusieurs appender » dans :
[Firefox] plugin Java Jre de Sun VoirA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes...
Installer Java sous Ubuntu VoirPar défaut, Firefox n'est pas fourni avec Java. Voici comment procéder pour l'installer: Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et tapez: sudo aptitude install sun-java6-jre sun-java6-plugin ou sudo aptitude install ...
Télécharger Java Runtime Environment VoirJava Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des personnes dans le monde entier, de calculer les intérêts de votre prêt immobilier ou de visualiser des images en 3D. Ces...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Java - Les types de données VoirLes primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...
J2EE - Java 2 Enterprise Edition VoirIntroduction au Java Framework Le «Java Framework» (Java 2 Platform) est composé de trois éditions, destinées à des usages différents : J2ME : Java 2 Micro Edition est prévu pour le développement d'applications embarquées, notamment sur des...

1

ronan, le 30 jun 2006 à 09:44:08

Bonjour,

je repond a moi meme au cas ou ca pourrai depanner qqu'un d'autre.

ce que je voulais faire (un logger sur deux appender avec deux niveux differents) est impossible...

Il m'a fallu definir mon propre logger utilisé partout dans l'appli qui redirige les logs vers deux "sous-logger", un pour mon fichier de log et un pour la console. ces deux "sous-logger" etant diriges vers deux appender avec des niveaux cette fois independant.

voila

Répondre à ronan

2

mounir, le 22 déc 2006 à 12:51:59

Salut je voudrais fiare le meme mais j´arrive pas est ce je pourrais avoir le code que tu as utilise.
merci d´avance

Répondre à mounir

3

 grizzlly13, le 6 sep 2007 à 23:05:06
  • +1

Alors il parfaitement possible defaire écrire un logger dans un endroit différent suivant le niveau du loga écrire. Il suffit simplement de définir deux appenders différents, dont le niveau de chacun correspond à celui dont l'endroit doit contenir les logs.
Dans le cas du topic, un appender console ayant un niveau ERROR et un appender rollingFile de niveau INFO. Dans ton fichier properties, il ne manque que les filtres de niveau.
Perso j'utilise la configuration par fichier xml, et dans ce cas ca donne :
<param name="Threshold" value="ERROR" /> afin de n'avoir que le level ERROR et plus... Il n'y en a pas
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="INFO" /><!-- echelon mini du log qui peut passer -->
<param name="LevelMax" value="INFO" /><!-- echelon maxi du log qui peut passer -->
</filter> afin de n'avoir que le level INFO en mini et INFO en maxi... Bref que l'INFO
J'espère que ca t'aura aidé.

Répondre à grizzlly13
Collection CommentÇaMarche.net