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 + tomcat logger dans un fichier


Sujet :

Logging Java

  1. #1
    Membre confirmé Avatar de jeb001
    Profil pro
    Inscrit en
    Août 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2005
    Messages : 212
    Par défaut log4j + tomcat logger dans un fichier
    Bonjour,

    Je souhaite logger dans un fichier situé dans le repertoire logs de ma webapps..
    Malheureusement, j'ai essayé X chemins.. j'obtiens toujours l'excpetion suivante :
    log4j:ERROR setFile(null,true) call failed.
    java.io.FileNotFoundException: \logs\web.log (Le chemin d'accès spécifié est introuvable)
    dans mon log4j.properties, j'ai ca :
    ## APPENDER WEB ###
    log4j.appender.fileWeb.layout=org.apache.log4j.PatternLayout
    log4j.appender.fileWeb.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
    log4j.appender.fileWeb=org.apache.log4j.RollingFileAppender
    log4j.appender.fileWeb.File=/logs/web.log
    J'ai essayé tous les path possible.. rien n'y fait;. je n'arrive pas à logger dans un fichier :'(

    comment faire ?

  2. #2
    Membre confirmé Avatar de eracius
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 138
    Par défaut
    Tel que tu as fait ton fichier de conf, il essaye de logger à la racine de ton disque dur. Soit C:/logs/web.log

    Si tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    log4j.appender.fileWeb.File=./logs/web.log
    il essayera de logger à la racine par défaut de Tomcat (soit C:\Program Files\Apache Software Foundation\Tomcat 6.0 pour moi mais je crois que ça peut se reconfigurer pour la mettre où tu veux)

    En espérant que ça t'éclaire ...

    EDIT : Ah j'ai lu un peu vite, ton problème semble surtout être le file not found, ce qui est bizarre car pour moi, quand le dossier et le fichier n'existent pas, il les crée.

    J'ai quelques lignes en plus dans mon fichier de conf, essaye pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    log4j.appender.clientAppender.layout=org.apache.log4j.PatternLayout
    log4j.appender.clientAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%c{1}] %m%n
    log4j.appender.clientAppender=org.apache.log4j.RollingFileAppender
    log4j.appender.clientAppender.File=C:/log/client.log
    log4j.appender.clientAppender.Encoding=UTF-8
    log4j.appender.clientAppender.MaxFileSize=3000KB
    log4j.appender.clientAppender.MaxBackupIndex=10

  3. #3
    Membre confirmé Avatar de jeb001
    Profil pro
    Inscrit en
    Août 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2005
    Messages : 212
    Par défaut
    c'est pas mieux :-(

    log4j:ERROR setFile(null,true) call failed.
    java.io.FileNotFoundException: .\logs\web.log (Le chemin d'accès spécifié est introuvable)
    J'arrive tres bien à logger depuis mes batch... ca log dans le repertoire log à la racine du projet;. normal..
    mais OU est la racine du projet dans une appli tomcat ???
    J'ai tout essayé :-(

  4. #4
    Membre confirmé Avatar de eracius
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 138
    Par défaut
    Citation Envoyé par jeb001 Voir le message
    c'est pas mieux :-(

    OU est la racine du projet dans une appli tomcat ???
    Ben comme je te le disais au dessus, ça va être quelque chose comme ça : C:\Program Files\Apache Software Foundation\Tomcat 6.0

    Mais ça explique toujours pas qu'il ne veuille pas créer le fichier ... Un problème de droit d'écriture peut être ?

  5. #5
    Membre confirmé Avatar de jeb001
    Profil pro
    Inscrit en
    Août 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2005
    Messages : 212
    Par défaut
    hum... hors de question que je mette un chemin en dur comme ca :/

    Il doit quand meme etre possible de logger dans la webapps non ??

  6. #6
    Membre confirmé Avatar de jeb001
    Profil pro
    Inscrit en
    Août 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2005
    Messages : 212
    Par défaut
    Personne ?? :-(

    Mais c'est quoi le bon procédé pour logger dans un fichier depuis une appli web ?

    Je vais livrer mon war sur un serveur distribué (load-balancing) et je voudrai centraliser mes logs... ???

  7. #7
    Membre éprouvé Avatar de manube
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2004
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 180
    Par défaut
    Salut,

    Pour logger dans des fichiers avec log4j, dans mon fichier log4j.xml je défini un appender :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <appender  name="FILE_INFO_DEBUG" class="org.apache.log4j.FileAppender">
        <param name="File" value="\\\\serveur\\repertoire_appli\\log\\debug.log" />
        <param name="Append" value="true" />
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
    	<param name="levelMin" value="DEBUG"/>
    	<param name="levelMax" value="INFO"/>
        </filter>
        <layout class="org.apache.log4j.PatternLayout">
    	<param name="ConversionPattern"	value="%-5p [%d{DATE}] %m %n" />
        </layout>
    </appender>
    Je suis obligé de protéger les caractères spéciaux par un '\' et tous les répertoires doivent être créés au préalable.
    En espérant que ça puisse t'aider.

    Manu

    Edit : Ce type de répertoire permet d'avoir un unique fichier de log mais je ne sais pas trop comment il va être partagé (droits d'écriture...) entre les tomcat. Dans tous les cas si tu as bcp de log, fais le sur une base de données ça sera plus simple (à mon avis).

  8. #8
    Membre confirmé Avatar de jeb001
    Profil pro
    Inscrit en
    Août 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2005
    Messages : 212
    Par défaut
    <param name="File" value="\\\\serveur\\repertoire_appli\\log\\debug.log" />
    Ca veut dire qu'on doit mettre en dur le port, le nom du serveur. ... ??

Discussions similaires

  1. Logger dans plusieurs fichiers
    Par Cissine dans le forum Logging
    Réponses: 0
    Dernier message: 22/03/2011, 15h34
  2. Réponses: 11
    Dernier message: 09/12/2010, 12h32
  3. Logger dans un fichier
    Par la_praline dans le forum Logging
    Réponses: 6
    Dernier message: 10/08/2010, 16h47
  4. Réponses: 4
    Dernier message: 10/12/2009, 20h25
  5. [Tomcat] ecrire dans le fichier log de tomcat
    Par dietrich dans le forum Tomcat et TomEE
    Réponses: 21
    Dernier message: 30/01/2006, 09h45

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