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 :

[log4j] Probleme de config


Sujet :

Logging Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut [log4j] Probleme de config
    Bonjour,

    Désolé pour cette question, mais je n'arrive pas a trouver la réponse.
    J'ai beau avoir chercher dans le forum dans les posts parlant de log4j(et y en a !) je n'ai pas trouvé réponse a ma question.

    Tout d'abord, voila mon archi :

    Package darwin -> 3 Servlets
    Pckage darwin.actiondarwin -> le reste de mes servlets et action struts.

    Je veux créer une config pour mettre dans un fichier les logs liés a mes 3 servlets(back office)
    et pour mettre dans un autre fichier ce qui est lié au reste(front office)

    Voila pour le moment ce que j'ai fait, et j'ai dans les deux fichiers la meme chose, alors que je ne devrais avoir des infos que dans le fichiers liés au front office.

    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
     
    log4j.rootLogger=ERROR,A1
    log4j.logger.darwin.actiondarwin=INFO, A1
    log4j.logger.darwin=INFO, A2
     
    log4j.appender.A1 = org.apache.log4j.RollingFileAppender
    log4j.appender.A2 = org.apache.log4j.RollingFileAppender
     
    log4j.appender.A1.File = logs/ditracker/FO.log
    log4j.appender.A2.File = logs/ditracker/BO.log
     
    log4j.appender.A1.layout = org.apache.log4j.PatternLayout
    log4j.appender.A2.layout = org.apache.log4j.PatternLayout
     
    log4j.appender.A1.layout.conversionPattern = %d|[%t]|%-5p|%c|(%F:%L)|%m%n
    log4j.appender.A2.layout.conversionPattern = %d|[%t]|%-5p|%c|(%F:%L)|%m%n
     
     
    log4j.appender.A1.MaxFileSize=100KB
     
    log4j.appender.A2.MaxFileSize=100KB
     
    log4j.appender.A1.MaxBackupIndex=1
     
    log4j.appender.A2.MaxBackupIndex=1
    Voila, si vous pouvez m'aider, je vous en remercie.

    @


    Sylvain

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Comment récupère tu le logger dans tes classes ?
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    Logger logFO = Logger.getLogger("darwin.actiondarwin");

    Logger logBO = Logger.getLogger("darwin");

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    essaye plutôt ceci alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Logger logFo = Logger.getLogger(darwin.actiondarwin.TaClasse.getClass());
    Il me semble que la méthode getLogger a besoin d'une classe pour correctement se mapper sur le fichier de config.
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  5. #5
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    oué et meme mieux passse this.getClass().

    @+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    Dans mon fichier de conf j'ai viré la premiere ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    log4j.rootLogger=ERROR,A
    J'ai mis dans mon action qui s'occupe du login :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Logger logFO = Logger.getLogger(this.getClass());
    et ensuite un petit message si la connexion reussie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    logFO.info("Connexion "+username);
    Au final, j'ai les mm logs dans BO.log et FO.log.

    D'apres ce que je pensais, il n'y aurait que FO.log qui aurait été remplit!!

    DOnc ca doit surement venir de mon fichier de conf ?!?

    Je rappele mon archi :

    Darwin
    -> 3 Servlets --> dans le BO.log
    -> actiondarwin
    ->actionstruts --> dans le FO.log

    Voila, si vous pouvez m'aider, ce serait cool.

    @+

    Sylvain

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    personne n'a une idée ??

    Merci pour votre aide.

    @+

    Sylvain

  8. #8
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    hummm c normal


    1 - log4j.logger.darwin.actiondarwin=INFO, A1
    2 - log4j.logger.darwin=INFO, A2

    2 est "au dessus" de 1 car log4J fonctionne par hierarchie de package.

    darwin.actiondarwin fait partit de darwin. c son sous package.

    SI tu mets ds 1 WARN ou ERROR, tu verras que tu auras moins chose ds A1 que ds A2.

    @+

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    okay, je comprends.

    et je suppose qu'il n'y a pas de moyen pour faire ce que je veux faire ???

    Merci en tout cas.

    @+

    Sylvain

  10. #10
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    Si en decorrelant les noms de packages et les noms de logger


    1- log4j.logger.LoggerFO=INFO, A1
    2 - log4j.logger.LoggerBO=INFO, A2


    Logger logFO = Logger.getLogger("LoggerFO");

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    oki.

    sinon, je v mettre mes 3 servlets dans un package.

    comme ca j'aurais :

    darwin
    -mes3servlets
    -Servlet1
    -actiondarwin
    -mesactionsstruts.

    comme ca, je cree deux loggers sur ces deux packages.

    ca doit etre bon non ?

  12. #12
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    oui ou darwin.servlet et darwin.action, ce qui te permet de garder un logger commun on sait jamais....

    @+

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    c cool, c parfait.

    tout fonctionne.

    Je vous remercie à tous.

    @+

    Sylvain

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    Vous utilisez koi comme outils pour analyser vos logs ???

  15. #15
    Membre expérimenté
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Points : 1 407
    Points
    1 407
    Par défaut
    LogFactor 5

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    merci, je v voir!!

  17. #17
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 164
    Points : 190
    Points
    190
    Par défaut
    Bonjour ,

    Je sais que le sujet est clôt mais permettez que j'apporte ma pierre...

    Même si Log4j ne spécifie pas comment nommer les loggers il est clair que la technique des packages et de la hiérachie n'est pas innocente. En effet il est extrémement interressant de pouvoir logger de facon particulière une classe ou tout un ensemble de classe contenue dans un package et sous-package d'un seul coup.

    Souvenez vous que la journalisation concerne aussi la trace et le debug et que dans ces cas précis on ne peut prétendre savoir ce que l'on mettra en route.

    De plus changer une hiérarchie de package pour résoudre un problème technique paraît absurde et c'est faire peu de crédit à l'équipe de Log4J.

    Appender Additivity

    The output of a log statement of logger C will go to all the appenders in C and its ancestors. This is the meaning of the term "appender additivity".

    However, if an ancestor of logger C, say P, has the additivity flag set to false, then C's output will be directed to all the appenders in C and it's ancestors upto and including P but not the appenders in any of the ancestors of P.

    Loggers have their additivity flag set to true by default.
    C'est l'option "addivity" qui te permettra de pas remonter dans la hiérarchie des appenders.


    Comme outil d'analyse regarde "ChainSaw"

    Bon log

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 107
    Points : 62
    Points
    62
    Par défaut
    salut montpellier.

    j'ai profiter de changer mes packages pour analyser spécifiquement mes trois servlets.

    Y a t'il un moyen de logger dans trois fichiers différents trois servlets qui sont dans le même package ??

  19. #19
    Membre habitué
    Inscrit en
    Octobre 2002
    Messages
    164
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 164
    Points : 190
    Points
    190
    Par défaut
    Ben oui,

    Tu mets un Appender différent sur chacunes de tes classes plutôt qu'un Appender sur le package commun

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

Discussions similaires

  1. Problème de config sshd ?
    Par Eusebius dans le forum Réseau
    Réponses: 15
    Dernier message: 17/06/2006, 14h51
  2. Problème de config du kernel : erreur au démarrage : VFS
    Par HNT dans le forum Administration système
    Réponses: 9
    Dernier message: 21/03/2006, 23h13
  3. [Variable d'environement SQL] Probleme de config
    Par duelooser dans le forum Oracle
    Réponses: 2
    Dernier message: 16/12/2005, 09h16
  4. Flpsed probleme de config. libX11.so not found
    Par jean christophe dans le forum Linux
    Réponses: 5
    Dernier message: 29/10/2005, 21h57
  5. [visual C++ express] Probleme de config
    Par lejert dans le forum MFC
    Réponses: 7
    Dernier message: 30/07/2005, 09h52

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