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

  1. #1
    Responsable Java

    Quelles bibliothèques de logs utilisez-vous pour vos développements avec la plateforme Java ?
    Depuis des années, la journalisation des événements dans l'écosystème Java est proposée par des API de logging. On y retrouve ainsi de nombreuses bibliothèques (Java Util Logging, Log4J, SLF4J, Commons Logging, LogBack, TinyLog, etc.) et le choix est souvent difficile.

    L'équipe Java vous propose ainsi un sondage sur la ou les bibliothèques que vous utilisez pour traiter les logs de vos programmes.

    • Sur quel(s) critère(s) se sont portés vos choix ?
    • Que vous manque-t-il comme fonctionnalité ?
    • Pensez-vous qu'une spécification globale devrait être proposée pour encadrer toutes ces bibliothèques ?


    Nous attendons vos remarques et contributions.

    L'équipe Java
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  2. #2
    Membre actif
    Petite erreur de concept
    SLF4J est une facade de logging, à savoir qu'elle fait appel à un système secondaire de log derrière (du log4j, logback ou java util logging par exemple).

    Donc pour toute personne répondant faire du SLF4J il serait intéressant de savoir quel moteur de log est réellement derrière.

  3. #3
    Membre chevronné
    Selon les projets, du Log4J, du Commons Logging ou du Java Util Logging, avec ou sans SLF4J.

    Pour ma part, je trouve que Java Util Logging fait très bien le boulot et je ne comprends pas pourquoi on a toujours en 2015 cette pléthore de bibliothèques de log alors que le framework standard JavaSE fait très bien le job. Une dépendance de moins, c'est toujours bon à prendre. Le logging, ce n'est qu'une fonction utilitaire, ce n'est pas une fonctionnalité, et donc, pour moi, il faut que ça se fasse discret et que ça ne fasse pas ch...
    J'appelle "Point Traroth" le moment dans une discussion où quelqu'un parle des Bisounours. A partir de ce moment, toute discussion sérieuse devient impossible, puisque la légitimité d'une des parties pour exposer son point de vue est mise en cause. C'est juste un anathème, un moyen de décrédibiliser les autres sans avoir à discuter.

  4. #4
    Modérateur

    Sur quel(s) critère(s) se sont portés vos choix ?
    J'ai eu la nécessité d'utiliser les logs lors de mon premier année de master, mon choix s'est alors porté vers Log4j car il est simple à mettre en place (import simple avec Maven), et mkyong a donné un bel exemple de son utilisation.

    Que vous manque-t-il comme fonctionnalité ?
    Est-ce que l'API réalise mes besoins actuels ? Oui, donc je n'ai pas de manque à ce niveau.

    Pensez-vous qu'une spécification globale devrait être proposée pour encadrer toutes ces bibliothèques ?
    Je pensais que Java Util Logging était là pour ça...
    J'aurais bien aimé poursuivre avec cet api (après avoir connu log4j) car standard et intégré dans Java SE mais elle m'a l'air un poil compliqué... par exemple pour indiquer un fichier de sortie il faut utiliser du code (cf: FileHandler)...
    L'idéal serait d'utiliser la ligne de commande (cf : -Djava.util.logging.config.file=/path/to/app.properties ) même si cela complique les choses avec les applications Java EE, mais quand je vois que Sun/Oracle n'en fait même pas référence dans sa documentation mais qu'on trouve des exemples sur internet (cf : lien) ça fait un peu peur...
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  5. #5
    Membre régulier
    Après avoir utiliser Log4J, SLF4J, Commons Logging, pendant 10 ans, je bloque les nouveaux développement sur Java Util Logging depuis 3 ans.

    Marre de Log4J et des développeurs qui ajoute la lib à tous les war, ear sans regarder si le serveur d'app l'a.
    Marre de SLF4J et de mettre un fichier conf spécifique ou la librairie de redirection.
    Commons Logging mouai, en fait, c'est une mauvaise solution, c'est repousser le problème.
    Marre de gérer le versionning des libs de log d'un nombre incalculable de veille version d'appli et de serveur d'appli qui n'évoluent BIENSUR pas la même vitesse.
    Marre de gérer les environnement de (dev, recette) , (pré-prod,prod). Les ouiiin-ouiiin des développeurs : moi j'ai tomcat, moi j'ai wildfly moi j'ai glassfish, moi weblogic, (et non pas websphere, il ne faut pas être fou aussi !).

    Donc le log de la JVM et point barre. Qu'est qu'on a perdu ? Rien. C'est simple à utiliser et des perf de bonheur (avec la bonne conf et sans lock de thread , à quel lib qui je pense ?).

    PS : Spring a été tué pour les même raisons, full JEE7 maintenant, pareil rien perdu.

  6. #6
    Membre à l'essai
    Log back
    Avant j'utilise du SLF4J et puis on an passé à logback

    Ce qui me gène dans le logback c'est que ca se configure en xml mais pas en fichier propertie

  7. #7
    Expert éminent
    Citation Envoyé par squizer Voir le message
    SLF4J est une facade de logging, à savoir qu'elle fait appel à un système secondaire de log derrière (du log4j, logback ou java util logging par exemple).

    Donc pour toute personne répondant faire du SLF4J il serait intéressant de savoir quel moteur de log est réellement derrière.
    non
    nous utilisons slf4J justement pour laisser le choix de l'implémentation à l'installation.
    chaque client qui installe choisi son moteur préféré.

    donc en tant que développeur choisir slf4j est choix aussi valable que les autres.
    A+JYT