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

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    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 averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    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 averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

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

  6. #6
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    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

  7. #7
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Je ne sais pas comment ça se passe lorsqu'on exporte une appli pour android, mais en ce qui concerne l'export classique (windows, linux et macosx), on peut exporter vers un jar avec ou sans les bibliothèques tiers. Lorsqu'on exporte sans, il est nécessaire d'indiquer dans la ligne de commande de lancement les emplacements des jars des bibliothèques tiers (avec -cp), même s'ils sont intégrés au projet exporté, sinon on obtient le message d'erreur que tu obtiens.
    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.

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    oui je pense que ça doit être ça . J'ai essayé avec le logFatory mais il manque un import ,bon ça ok, je l'ai donc telechargé, mais le zip concerné contenait une dizaine de JAR , il faut tous les installer??
    Sinon j'ai lu quelques part qu'il fallait faire un truc sous tomecat est ce exact ?

  9. #9
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Normalement, il n'y a besoin que d'un seul jar pour log4j (un log4j<version>.jar), et 2 de plus si on utilise les Apache Commons Logging ( commons-logging-<version>.jar et commons-logging-adapters-<version>.jar.

    Pas besoin de tomcat (c'est un conteneur de servlet, pour faire des applications web par exemple) : il y a probablement beaucoup d'articles qui parlent de log4j dans le contexte de l'utilisation de tomcat, car c'est une API largement utilisée avec tomcat, mais c'est indépendant.
    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.

  10. #10
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    oui justement j'ai bien cette jar log4j1.2.17.jar , donc je l'ai intégré à mon projet, logiquement dans mon application je l'importe , ensuite je dois faire appel à lui pour logguer ce que je veux , mais j'ai également mon fichier xml qui se trouve à la racine de mon app, avec mes appender, qui va dire où créer mon fichier txt de log ( bref comme en .net ) mais là ben on rien n'y fait :s il me plante mon app

  11. #11
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Si le jar est présent (peu importe que ça soit dans le projet ou ailleurs sur ton disque), et que son emplacement est bien renseigné dans le classpath, je ne vois pas pourquoi la classe n'est pas trouvée. Peut être un problème propre à l'environnement Android : peut-être devrais-tu poser la question plus spécifiquement sur le forum android (en y ajoutant juste un lien vers cette discussion, pour éviter d'avoir à tout répéter).
    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.

  12. #12
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    oui c'est sur lol
    en fait je l'ai posé ici car techniquement le langage utilisé c'est le java, mais bon j'esserais de voir sur le forum android, merci pour ses explications

  13. #13
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    Tiens en parlant de log, je me demandais une chose, mon but est de vouloir créer un fichier de log pour pouvoir voir les erreurs plus facilement, mais je me demandais lorsque l'on crée l'apk , et qu'on test l'application sur le tel, il n'y aura pas de problème à ce niveau ?

  14. #14
    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 : 54
    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
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Bah là, c'est le logcat il me semble qui sert à ça, mais comme je t'ai dit j'y connais rien en Android (ou pour ainsi dire pas grand chose).
    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.

  15. #15
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    oui oki , en tout cas merci : )

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/07/2004, 22h53
  2. Travailler sur des sources distantes avec Eclipse
    Par El Saigneur dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 12/07/2004, 10h40
  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, 10h27
  4. projet .war avec Eclipse
    Par CapToMatteo dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 20/04/2004, 15h38
  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, 15h01

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