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: sauver un fichier et définir son chemin de sauvegarde


Sujet :

Logging Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 69
    Points : 71
    Points
    71
    Par défaut Log4j: sauver un fichier et définir son chemin de sauvegarde
    Bonjour,

    j'ai écrit le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	if (LOG.isDebugEnabled()) {
    			registerMsg(msg);
    	}
    où msg est un fichier XML sous forme de String.
    Je veux donc le stocker dans mes logs pour pouvoir l'analyser par la suite.
    Pour ce faire j'utilise la méthode suivante dans registerMsg:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LOG.debug(generateFile(msg))
    Et la méthode generateFile(String msg) contient l'algorithme suivant (extrait):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    		File dir = new File(targetFilePath);
    		if (!dir.exists())
    			dir.mkdirs();
    		File f = File.createTempFile(targetFileName, ".xml", dir);
     
    		FileWriter writer = null;
    		writer = new FileWriter(f.getPath());
     
    		writer.write(message);
    		writer.close();
    J'ai un targetFileName relatif "savedMsg\" et les fichiers msg sont stockés dessous en XML.

    Comme vous l'avez compris je ne veux qu'il soit sauvé qu'en mode debug, et ça fonctionne parfaitement.
    Par contre, je voudrais que l'on puisse définir leur chemin absolu dans le fichier log4j.properties....

    Ainsi les fichiers seraient stockés sous le path définis dans le log4j concaténé avec le répertoire savedMsg.

    Cependant comment réalise-t-on cela avec log4j ? Je sais que les fichiers de log configuré dans le log4j.properties contiendront les log.debug etc... mais qu'en est-il du fichier qui est généré par la méthode generateFile ? Y a-t-il un moyen de définir son chemin absolu dans le fichier properties ?

    Merci pour vos réponses

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 69
    Points : 71
    Points
    71
    Par défaut définir une propriété au niveau du log4j
    Une idée serait de définir une propriété dans le log4j.properties et de la lire dans le code java...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 69
    Points : 71
    Points
    71
    Par défaut je loade le log4j.properties
    Le seul moyen que j'ai trouvé:

    je crée des propritétés dans mon log4j.properties.
    Puis dans Java j'appelle le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                Properties props = PropsUtils.load("log4j.properties");
                targetFilePath = props.getProperty("log.target.filepath");
    Ce n'est pas exactement ce que je pensais faire au départ, mais je ne vois pas comment créer des propriétés dans le log4j.properties et les lire...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 69
    Points : 71
    Points
    71
    Par défaut Le problème que ça me pose
    c'est que je ne peux pas créer des propriétés dynamiques du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    path=${user.dir}/mysubfolder
    Mais que je suis obligé de faire
    ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/02/2009, 15h44
  2. obtenir le nom d'un fichier d'aprés son chemin
    Par dams78 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 04/01/2008, 10h56
  3. Récupérer le nom d'un fichier à partir de son chemin
    Par Jiraiya42 dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2007, 11h38
  4. [Conception] Enregistrer un fichier ou juste son chemin dans la base ?
    Par Greggggggg dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/09/2006, 14h00
  5. importer un fichier en spécifiant son chemin d'accées
    Par cool dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/04/2006, 14h49

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