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 des fichiers .log


Sujet :

Logging Java

  1. #1
    Membre averti Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Points : 312
    Points
    312
    Par défaut [log4j] emplacement des fichiers .log
    Bonjour,

    j'utilise actuellement log4j pour gérer mes traces dans une appli web Java. Je souhaite que mes fichiers .log soient stockés à l'intérieur de mon application (dans un répertoire log par exemple), mais je n'y parviens pas.

    Voici mon code :

    log4j.rootLogger=DEBUG, monAppender
    log4j.appender.monAppender=org.apache.log4j.RollingFileAppender
    log4j.appender.monAppender.File=log/trace.log
    log4j.appender.monAppender.MaxFileSize=100KB
    log4j.appender.monAppender.MaxBackupIndex=50
    log4j.appender.monAppender.layout=org.apache.log4j.PatternLayout
    log4j.appender.monAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%c{1}] %m%n
    Avec ce code, les fichiers sont stockés à la racine d'eclipse, dans un répertoire log. Comment faire pour stocker les fichiers dans mon application (en fonciton du contexte) ?

    Merci d'avance pour vos réponses
    "Wash me away Clean your body of me Erase all the memories They'll only bring us pain And I've seen All i'll ever need"

  2. #2
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Je pense qu'en ecrivant

    /log/trace.log


    ca devrait resoudre ton probleme. le "/" indique la racine du contexte.
    Bonne chance
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  3. #3
    Membre averti Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Points : 312
    Points
    312
    Par défaut
    Non c'est pire.

    Le "/" semble indiquer la racine du disque car maintenant mon répertoire log est créé à la racine de mon disque
    "Wash me away Clean your body of me Erase all the memories They'll only bring us pain And I've seen All i'll ever need"

  4. #4
    Membre expérimenté Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Points : 1 371
    Points
    1 371
    Par défaut
    Vraiment bizarre. Ton fichier log4j.properties est défini ou?
    Une solution serait de mettre le chemin de ton projet dans une variable.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    projet.workspace = C:\Eclipse\Workspace\projet1
    et de mettre dans ton fichier de conf log4j,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    log4j.appender.monAppender.File=${projet.workspace}/log/trace.log
    Une solution a été apporté pour résoudre votre problème alors vous aussi faites en profitez les autres grâce au tag qui se trouve tout en bas de la page....

    Merci de ne pas utiliser les messages privés pour un problème sauf si je vous l'ai explicitement demandé.

    -- Maxf1 --

  5. #5
    Membre averti Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Points : 312
    Points
    312
    Par défaut
    Mon fichier log4j.properties est défifni dans le répertoire de mes sources, à savoir "WEB-INF/src"
    "Wash me away Clean your body of me Erase all the memories They'll only bring us pain And I've seen All i'll ever need"

  6. #6
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Je pense qu'il est préférable de laisser ce que tu avais déjà log/trace.log et paramétrer le répertoire d'exécution dans les paramètres de lancement de ton appli (Run...).
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Points : 134
    Points
    134
    Par défaut
    Bonjour

    Une solution possible
    Dans une servlet chargée au demarrage et sans écrire doPost et doGet, tu places une méthode statique qui permettra d'obtenir une variable statique qui contiendra le chemin du contexte.
    Sur la méthode init de la servlet, tu recupères le contexte et tu stockes, dans la variable statique, le chemin complet (getServletContext().getRealPath("/")).
    Puis tu initialise log4j.

    Tu écrit un appender qui herite de FileAppender. Tu surcharge les construceurs et setFile. Dans ta nouvelle definition, tu peux concatener le chemin fournis dans le fichier de conf avec celui renvoyé par la methode statique de la servlet(celle qui renvoie le chemin de /)

    Dans ton fichier de conf tu n'utilise plus la classe FileAppender, mais la tienne.

    J'espère que cela va t'aider
    Cordialement
    Willy
    Willy78

  8. #8
    Membre actif Avatar de a.snaps
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 209
    Points : 241
    Points
    241
    Par défaut
    Comme le dis maxf1, je pense que ta configuration est correcte. Ton déploiement l'est moins...
    Mais tu devrais également configurer les resources sous /log/* comme étant restreintes d'accès dans web.xml. Pour une application en production, je n'afficherais pas mes logs en "public"! Ou des les mettre sous WEB-INF/log

    Alex

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/01/2008, 00h22
  2. Réponses: 5
    Dernier message: 15/09/2006, 14h26
  3. Réponses: 14
    Dernier message: 24/08/2006, 13h53
  4. Garder une trace des fichiers log
    Par Krispy dans le forum Administration système
    Réponses: 2
    Dernier message: 10/05/2006, 19h20
  5. perte des fichiers logs
    Par jean-jacques varvenne dans le forum Oracle
    Réponses: 11
    Dernier message: 10/12/2004, 14h32

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