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 avec Eclipse


Sujet :

Logging Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2013
    Messages
    976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 976
    Par défaut Log4j avec Eclipse
    Bonjour,
    je développe des applications android en java, en utilisant Eclipse, et j'aimerais utiliser log4j pour créer des fichiers de log, comme j'ai fais en .net avec log4net. Le seul problmèe c'est que je n'arrive pas à le configurer et sur le net c'est mal expliqué je trouve.

    Voici mon fichier log4j.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
     
        <appender name="defaultLogger" class="org.apache.log4j.ConsoleAppender">
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d - %5p - [%c{1}:%L] %m%n"/>
            </layout>
        </appender>
    <appender name="appenderOwliance_T" class="org.apache.log4j.RollingFileAppender">
            <param name="MaxFileSize" value="1000KB"/>
            <param name="MaxBackupIndex" value="3"/>
            <param name="File" value="D:\\Test\\monlog.txt"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d - %5p - [%c{1}:%L] %m%n"/>
            </layout>
        </appender>
     <logger name="com.owliance" additivity="false" >
            <level value="info" />
            <appender-ref ref="appenderOwliance_T"/>
        </logger>
        <logger name="com.owliance.core.web.struts.action.PagerAction" additivity="false" >
            <level value="DEBUG"/>
            <appender-ref ref="appenderOwliance_T"/>                
        </logger>
        <root>
     
            <appender-ref ref="appenderOwliance_T" />
        </root>
     
     </log4j:configuration>
    je l'ai récupéré du net, donc logiquement, lorsque je lance mon application mon fichier de log doit se créer dans D:\Test\\monlog.txt mais rien ne se passe.

    Pourtant avec log4net ça été 10 fois plus simple de configurer mais avec eclipse j'ai l'impression que c'est l'ascension du mont evrest cette histoire de configuration, d'apres ce que je vois sur le net.

    voici un extrait de ma classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import org.apache.log4j.Logger;
    //.............
    Logger logger = Logger.getLogger(GestionPlaneteActivity.class.getName()) ;
     
    //.......
    logger.warn("test");
    //j'appel mon logger dans une methode mais rien ne se passe ,au contraire j'ai un crash de mon app ;s
    Mon fichier log4j.xml se trouve à la racine de mon application , donc logiquement dans ma classe je dois faire appel a lui ? mais sur le net il se contredis tous au niveau de la syntaxe alors que faire ?
    merci pour votre aide !

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import org.apache.log4j.xml.DOMConfigurator;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try {
        DOMConfigurator.configure(config);
    } catch (FactoryConfigurationError e) {
        e.printStackTrace();
    }
    Bon, moi je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL config = Platform.getBundle( bundleId ).getEntry("log4j.xml");
    parce que je suis en Eclipse RCP, pas en environnement Android de surcroît, mais à partir de ça, tu devrais pouvoir t'en sortir.

    Il faut que le fichier de conf soit valide aussi (le D: dans le path de l'appender, c'est douteux pour de l'android).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2013
    Messages
    976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 976
    Par défaut
    merci
    ça marche pas , en fait j'ai un soucis au niveau de cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    		Logger logger = Logger.getLogger("appenderOwliance_T") ;
    l'erreur retourné dans le logcat c'est java.lang.noClassDefFoundError: org.apache.log4j.Logger
    ...

    du coup quand je lance l'application elle crash tout de suite :s

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Je suppose que tu as au moins le jar de log4j dans ton classpath, sinon tu aurais à priori la même erreur sur DOMConfigurator, sauf si tu demandes l'instance de Logger avant d'installer la configuration, ce qui n'est pas logique.
    Je ne sais pas trop comment ça se passe, j'y connais rien en android, mais je suppose que tu exportes une application que tu exécutes via un émulateur, un truc comme çà : si tu peux importer ta classe en édition, mais que ça plante lors de l'exécution, c'est que, à priori, le jar n'est pas exporté avec l'éxecutable de test.

    En plus, j'utilises toujours les commons Apache en ce qui me concerne, donc je vais chercher mes loggers comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static final Log LOG = LogFactory.getLog( identifiant );
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    Je ne peux pas t'en dire plus pour la manipulation direct par la classe Logger, sur android, à fortiori.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2013
    Messages
    976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 976
    Par défaut
    ok merci je vais voir ça

  6. #6
    Membre éprouvé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2013
    Messages
    976
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 976
    Par défaut
    oui oui j'ai bien importé la jar log4j et bien intégré au projet , en fait je pense que c'est ni plus ni moins que du java, le principe doit rester à peu pres le même que quand on utilise log4net, seulement là il faut juste configuré Eclipse :s

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/07/2004, 21h53
  2. Travailler sur des sources distantes avec Eclipse
    Par El Saigneur dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 12/07/2004, 09h40
  3. [Eclipse 2.1.3]pb de compilation avec eclipse 2.1.3
    Par ruppert62 dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 06/05/2004, 09h27
  4. projet .war avec Eclipse
    Par CapToMatteo dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 20/04/2004, 14h38
  5. [CVS] Développer en équipe avec Eclipse et CVS
    Par ledoc_01 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 16/12/2003, 14h01

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