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 et classpath - Externaliser un fichier .properties


Sujet :

Logging Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 8
    Par défaut Log4j et classpath - Externaliser un fichier .properties
    Hello!

    Je butte depuis quelque jours sur un problèmes avec les classpath et Log4J

    Dans la logique de Log4j (API pour le logging), il faut qu'un fichier log4j.properties se trouve à la racine du jar, ou dans le classpath de l'application.

    Dans le déroulement de mon projet, on a voulu externaliser tous les fichiers de ressources (images, .properties, etc...)

    On a donc une arborescence de l'application comme ceci (après compilation):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Repertoire principale
    -> monJar.jar
    -> resources
    ---------> log4j.properties
    -> lib
    ---------> ...
    Et le manifeste du .jar comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.8.1
    Created-By: 1.6.0_21-b06 (Sun Microsystems Inc.)
    Main-Class: Main
    Class-Path: lib/log4j-1.2.16.jar lib/jul-to-slf4j-1.6.1.jar lib/slf4j-
     api-1.6.1.jar lib/slf4j-log4j12-1.6.1.jar resources/log4j.properties
    Mais lors du lancement de l'applic, Log4j n'arrive pas à trouver le fichier de propriétés.
    J'ai aussi essayé de lancer mon jar avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java -cp resources/log4j.properties -jar monJar.jar
    Mais ça ne fonctionne pas non plus.

    Bref, je suis un peu perdu avec ces histoires de classpath, ça me paraît être super difficile, donc je venais voir si vous aviez quelques conseil pour un débutant en classpath

    Je précise que je développe sous NetBeans 6.9.1, et que je n'ai pas trouvé de manière "propre" jusqu'à maintenant d'avoir une applic fonctionnelle depuis l'IDE sans qu'il copie le fichier resources dans le jar.
    J'ai aussi voulu le faire "à la main" en plongeant dans le fichier build.xml de Ant, mais j'ai vite déchanté

  2. #2
    Membre émérite
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Par défaut
    Bonjour,

    plutôt que de bidouiller le classpath, il serait préférable de dire à Log4j où chercher le fichier.

    Tu peux, par exemple, annuler l'initialisation automatique de Log4J et le configurer explicitement.

    Tu peux également définir la variable système log4j.configuration pour la faire pointer sur le fichier de configuration.

    Pour plus d'infos, le site de Log4J pourra t'aider.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2010
    Messages : 8
    Par défaut
    Citation Envoyé par Deaf Voir le message
    Bonjour,

    plutôt que de bidouiller le classpath, il serait préférable de dire à Log4j où chercher le fichier.
    Hello!

    Merci pour ta réponse.

    Tout à fait, Log4J peut être configurer pour qu'il sache où se trouve son fichier.
    Mais mon soucis se situe avec une autre API (Docmosis) qui elle n'a pas de méthode publique pour spécifier où sont ses fichiers de config (ou alors je n'ai pas bien chercher).

    Du coup, je cherche avec log4j à mettre en place la logique nécessaire pour que l'autre API fonctionne aussi.

Discussions similaires

  1. log4j recuperer le nom du fichier properties
    Par pcouas dans le forum Logging
    Réponses: 2
    Dernier message: 27/11/2009, 13h18
  2. classpath dans un fichier .properties
    Par skeut dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/07/2009, 13h55
  3. [Classpath] Ajout de fichier properties.. ou pas?
    Par Gueritarish dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/03/2008, 11h44
  4. [Property] fichier .properties classpath
    Par drKzs dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 17/08/2006, 11h51
  5. Réponses: 3
    Dernier message: 17/06/2005, 14h46

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