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 :

[java.util.logging]Faire une pause dans le logging


Sujet :

Logging Java

  1. #1
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut [java.util.logging]Faire une pause dans le logging
    Bonjour !

    J'ai un petit souci technique avec une classe de logging.
    J'utilise du code comme cela pour 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public class LogSystem extends DefaultHandler{
    	private static Logger logger;
    	private static Handler fh;
     
    	public LogSystem (){
     
    		logger= Logger.getLogger("Journal");
    		try {
    			fh = new FileHandler("ftp.log");
    			logger.addHandler(fh);
    		}
    		catch (IOException e) {
    			System.out.println("Impossible de créer le fichier de Log !!!");
    		}
     
    	}
    	public static synchronized void  Logging(String message, int level){
    		try {
     
    			switch (level) {
    			case 2:
    				logger.log(Level.SEVERE,message);
    				break;
    			case 1:
    				logger.log(Level.WARNING,message);
    				break;
    			case 0:
    				logger.log(Level.INFO,message);
    				break;
    			default:
    				break;
    			}
    }
    Ce que j'aimerai faire c'est mettre un pause dans ce logging (car le premier bloc try verouille une partie du fichier) pour pouvoir acceder au fichier avec une autre methode et pouvoir ensuite le reprendre en tout sécurité comme si de rien été

    pour l'instant tout ce que j'ai reussi a faire c soit remplacer l'ancien fichier, soit recommencer comme un nouveau fichier xml a l'interieur du fichier donnant un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="ISO-8859-15" standalone="no"?>
    <!DOCTYPE log SYSTEM "logger.dtd">
    [...]
    <?xml version="1.0" encoding="ISO-8859-15" standalone="no"?>
    <!DOCTYPE log SYSTEM "logger.dtd">
    [...]
    et que mon parseur XML appreci pas du tout...

    Merci d evotre aide

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Pourquoi des pauses???

    Je ne comprends pas vraiement ce que tu dis. A mon avis, ton problème vient du fait que tu instancies plusieurs objets de la classe LogSystem.

  3. #3
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Nan nan je ne l'instancie qu'une seul fois...
    Pourquoi mettre le logging en pause ? pasque lorsqu'il est en route il y a un verou posé a la fin du fichier qui provoque des erreur dans l'acces Sax que je fais dessus (impossible de lire la derniere ligne du fichier) surment a cause du FileHandler. Alors que si je ne fait pas ce filehandler, evidement je ne peu rien loguer mais la lecture du xml se passe sans probleme...

    Apres si tu as une meilleur idée pour gerer cet acces concurant je suis ouvert a tout

    merci

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Je comprends ton problème.

    Mais le problème ne provient peut être pas du verrou mais d'un problème de concept.

    Je m'explique pour que SAX puisse lire un fichier XML. Il faut que ce dernier soit valide.

    Avec ton fichier de log, le logger écrit dans le fichier et il laisse la balise root ouverte (pas de </root>). Donc ton fichier de log n'est pas valide tant que le logger n'a pas fermé correctement toutes les balises.

    Est-ce que je me trompe?

  5. #5
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    C'est exactement ca...

    Ca me sort ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
    Mais si c'est inevitable, comment je le gere ??

  6. #6
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Ah bon je crois que j'ai reussi ... suffisai de catché le SAXParseException qui arrive a la fin du xml et donc d'arreter le traitement du XML a ce point la...

    Je trouve pas ca tres propre de veritablement utiliser les exceptions pour faire tourner le programme mais bon perso j'ai pas d'autre idée...

    merci de m'avoir ouvert les yeux sur le réél font du probleme

  7. #7
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Points : 1 996
    Points
    1 996
    Par défaut
    Les exceptions ne sont-elles pas pour les cas exceptionnels?

    Pense au bouton si le problème est résolu

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 18/12/2009, 00h36
  2. [jboss]faire une pause dans run.bat
    Par pouss dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 29/12/2006, 15h28
  3. [FLASH MX] Faire une pause dans l'animation
    Par transistor49 dans le forum Flash
    Réponses: 9
    Dernier message: 13/06/2006, 18h55
  4. Faire une pause dans le programme
    Par shinobi dans le forum Access
    Réponses: 6
    Dernier message: 13/06/2005, 16h37
  5. [MFC] Faire une pause dans un thread
    Par Kevgeii dans le forum MFC
    Réponses: 3
    Dernier message: 21/02/2005, 11h49

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