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 :

Logging dans des threads


Sujet :

Logging Java

  1. #1
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 500
    Points : 238
    Points
    238
    Par défaut Logging dans des threads
    Bonjour,

    dans mon appli, je crée plusieurs threads, à chaque lancement, je crée un logger :
    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
    	public void run() {
    		FileHandler handler;
    		try {
    			logger = Logger.getLogger("gensql"+table.getNom()+minRowNum+maxRowNum);
    			handler = new FileHandler("logs/gensql/"+this.table.getNom()+".log");
    			handler.setFormatter(new SimpleFormatter());
    			logger.addHandler(handler);		
     
    			if(filtreActif)
    				exporterFiltre();
    			else
    				exporter();
     
    			handler.close();
    			logger.removeHandler(handler);
    		} catch (SecurityException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
     
    	}

    Le problème là, c'est que dans chaque fichier de log, les messages de tous les threads apparaissent.

    Le but étant d'avoir 1 thread = 1 fichier log

    Là j'ai 1 thread = 1 fichier log, mais qui contient aussi les logs des autres threads


    Vous avez une piste?

    merci.
    L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales...

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Java/Scala
    Inscrit en
    Octobre 2007
    Messages
    1 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Scala

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 086
    Points : 2 271
    Points
    2 271
    Par défaut
    Ton logger est probablement déclaré de manière statique et remplacé à chaque fois par lui-même dans chaque appel.
    Au final tu n'as qu'un seul logger partagé entre tous tes threads sur lequel tu as ajouté tous tes appenders.


    Dans ton code il faut que tu utilises:

    Logger logger = Logger.getLogger("gensql"+table.getNom()+minRowNum+maxRowNum);

    Et la tu auras bien un logger par thread.
    React-Hebdo - Newsletter pour se tenir à jour sur l'écosystème React

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 500
    Points : 238
    Points
    238
    Par défaut
    Ok merci, je test ça ( en effet ça parait évident maintenant ^^ ).
    L'intelligence c'est comme la confiture, moins tu en as , plus tu l'étales...

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

Discussions similaires

  1. Controler des textBox dans des thread
    Par ramaro dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/04/2008, 14h21
  2. [JDOM] SAXBuilder dans des threads
    Par Mostrapotski dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 26/01/2008, 12h07
  3. MySQL error : Lost connection dans des thread php
    Par max44410 dans le forum Requêtes
    Réponses: 0
    Dernier message: 17/01/2008, 08h38
  4. [C#][2.0] Sauvegarde d'un DataSet dans des threads différents
    Par Pilloutou dans le forum Framework .NET
    Réponses: 9
    Dernier message: 23/04/2007, 14h17

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