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] Emplacement fichier log dynamique


Sujet :

Logging Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut [log4j] Emplacement fichier log dynamique
    Bonjour à tous !

    Je sais qu'il est possible de placer une variable de cette forme ${blabla} dans le fichier log4j.properties.

    Mais je ne parviens pas à lui affecter une valeur...

    J'ai essayé plusieurs choses mais sans succès.

    Un petit coup de pouce ?

    Merci d'avance pour votre aide !

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    Alors j'ai trouvé une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    FileInputStream file = new FileInputStream("C:/log4j.properties");
            Properties f = new Properties();
            f.load(file);
            f.setProperty("log.dir", this.p_logpath);
            PropertyConfigurator.configure( f );
    Cependant, cette solution n'est valable que si le fichier log4j.properties se trouve en dehors du JAR.

    Comment faire cette même manipulation en gardant le fichier dans le jar ?

  3. #3
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Si tu utilises un outil de build évolué (Ant, Maven, etc.), tu peux charger celui-ci de remplacer la variable "à la volée" lors de la génération du jar par une valeur paramétrée.

    Si tu veux que ce paramétrage soit retardé jusqu'au runtime, il va falloir programmer un peu (en utilisant la classe DomConfigurator de Log4J par exemple, et en travaillant en amont sur le flux qui lui est passé en paramètre).
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    Merci mais non, impossible : mon jar est figé.
    Une fois généré, je ne pourrai plus y toucher !

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2011
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 51
    Points : 71
    Points
    71
    Par défaut
    Je sais qu'il est possible de placer une variable de cette forme ${blabla} dans le fichier log4j.properties.
    Ca sert à quoi de procèder de cette manière?

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2005
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2005
    Messages : 277
    Points : 100
    Points
    100
    Par défaut
    Cela permet d'avoir une configuration dynamique.

    Mais apparemment on peut faire ce qu'on veut directement dans le code avec les proprietes, PropertyConfigurator,...

    Donc peut être que la configuration peut se faire directement sans avoir de fichier log4j.properties...(on peut désactiver le chargement du fichier je crois).

    Pour ma solution: j'ai placé le fichier log4j.properties à l'extérieur du JAR. Je passe le chemin de ce fichier en paramètre.

    si d'autres solutions je suis preneur...

Discussions similaires

  1. Emplacement fichiers logs hors jar
    Par Mako 5013 dans le forum Logging
    Réponses: 5
    Dernier message: 17/11/2011, 16h18
  2. how to - Modifier l'emplacement fichier log backup ?
    Par Moostiq dans le forum Administration
    Réponses: 1
    Dernier message: 24/03/2011, 14h13
  3. [Log4j]Cherche visualiseur de fichiers logs de log4j
    Par RolandB dans le forum Logging
    Réponses: 9
    Dernier message: 18/03/2009, 15h11
  4. [log4j] emplacement des fichiers .log
    Par danyboy85 dans le forum Logging
    Réponses: 7
    Dernier message: 18/01/2007, 07h47
  5. emplacement fichiers logs
    Par Elianora la blanche dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 27/04/2005, 11h41

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