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

C++ Discussion :

recherche lib de log


Sujet :

C++

  1. #1
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut recherche lib de log
    Bonjour tout le monde,

    je suis à la recherche d'une lib de log pour c++. En parallèle de mes recherches, j'aurais aimé avoir votre avis:
    - laquelle utilisez-vous?
    - pourquoi celle-là et pas une autre?
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  2. #2
    Membre du Club Avatar de pymouse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Perso j'utilise log4cpp : http://log4cpp.sourceforge.net/

    N'ayant pas eu l'occasion d'en utiliser d'autre je pourrais pas faire de comparaison. Mais je là trouve relativement puissante.

  3. #3
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Au taf', on est sur une bibliothèque perso qui hérite un peu trop du C à mon goût (fonctions variadiques au format printf), ce qui me permet d'avoir une idée assez avancée de comment j'écrirais cela aujourd'hui (mélange de boost.format, de TLS/TSS, de streambuffers, plus facilités pour émettre un même message sur plusieurs canaux à la fois (fichier, console, BD métier, exception), et autre SCOPEDLOG. (Le sujet avait déjà été abordé, tu devrais en retrouver des traces si tu cherches ici depuis google (-> log "boost::format" C++ site:developpez.net) -- la recherche avancée n'étant pas très douée je trouve)

    Bref, sinon, il y a une bibliothèque log2 en mode wanabe-boost. Elle est de John Torjo je crois. Je n'ai pas encore eu le temps de trop regarder comment elle fonctionne, voire si elle répondrait pas tout simplement à mes besoins.

    (J'avais vu tourner une encapsulation de log4cpp (/cxx?) avec du XML dans tous les sens, du grand n'importe quoi (le XML dans les logs).)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    J'utilise la version 1 de la bibliothèque de Torjo, et elle répond assez bien à mes besoins. La version 2 m'avait semblé bien trop complexe à mettre en oeuvre, en échange d'une plus grande flexibilité que je ne comptais pas utiliser...
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Points : 1 176
    Points
    1 176
    Par défaut
    j'utilise log4cpp, c'est pas la réponse à tout mais il est très facile de faire de nouveaux appenders/layouts pour l'étendre.

  6. #6
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    log4cpp largement modifié pour faire du context logging (les "outputs" ne sont plus liés aux loggers, mais au contexte du thread en cours).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Je me suis lance en fin d'annee derniere dans un gros (trop gros ) projet d'evaluation de presque tout ce qui existait. J'ai passe en revu tout sourceforge, des libs C/C++, et meme Java, ...
    Les plus avancees sont Log4cpp, Pantheios, la lib de John Torjo qui a ete refusee chez boost, et celle de ACE revient souvent aussi.

    Citation Envoyé par Luc Hermitte Voir le message
    avec du XML dans tous les sens, du grand n'importe quoi (le XML dans les logs).)
    Il y a meme une tentative de developpement d'un standard effectuee par un groupe, et c'est aussi du grand n'importe quoi, puis qu'ils expliquent que devoir ajouter la balise fermante en fin de xml complique serieusement la generation de logs, et donnent comme solution d'accepter dans leur format xml que la balise root ne soit pas fermee, donc que ce ne soit pas un xml

    Personnellement je n'aime pas log4cpp, beaucoup trop lourde a mon avis. Pour Java ils ont pas le choix,mais je pense qu'en C++ on peut faire beaucoup mieux et alleger enormement le code requis grace au preprocesseur. Bref, c'est une lib Java traduite en C++.
    Mais il faut avouer que y'a pas grand chose d'autre. Pantheios se focalise sur les performances, mais je suis pas convaincu. C'est l'auteur de la STLSoft qui la developpe, il a ecrit un bouquin sur l'optimisation de chaines de caracteres etc... Mais bon, je vais pas detailler ici.

    Je viens de tomber la dessus:
    http://fastformat.sourceforge.net/

    En fait je pense qu'il faut distinguer le type de log qu'on veut faire. Si c'est du log d'output a la apache, log4j est tres bien. Si c'est un log interne de debogage etc... c'est une autre histoire. Dans ce cas en particulier (c'est celui qui m'interesse perso), je ne suis pas persuade par l'interret de l'internationalisation, et autres fioritures du genre, comme dumper 64Ko de texte.

    J'avais commence a coder une petite lib de demonstration dans le but de soumettre une nouvelle approche, que je n'ai vu nule part, et pourtant j'ai epluche plus de 50 projets sur sourceforge. En fait j'ai peut etre trouve une technique qui permet de loguer pour un cout CPU et meme memoire imbattables, + thread safe... Du coup ca remet en question les contraintes de base (cout eleve des operations de logging) et permet de designer l'API cliente autrement. Je voulais coder une petite lib de demo et soumettre ca aux pros pour savoir ce qu'ils en pensent, et peut etre provoquer de nouvelles idees.

    J'ai pas mal reflechi a pas mal de points: les TLS, l'utilisation de canaux, de levels, du filtrage des outputs, de l'aspet non intrusif, ... et pense avoir une approche assez differente de l'existant. Si dans la sale y'en a qui ont pas mal reflechi a un design "ideal" de lib de log et son interesses a echanger des idees et coder un petit truc, qu'ils me contactent

Discussions similaires

  1. Recherche lib / source pour travail sur PDF
    Par Sunchaser dans le forum C++Builder
    Réponses: 20
    Dernier message: 05/03/2008, 19h48
  2. Recherche lib / source pour travail sur PDF
    Par Sunchaser dans le forum Composants VCL
    Réponses: 3
    Dernier message: 30/01/2008, 15h57
  3. Recherche lib graphique
    Par FTrevisan dans le forum DirectX
    Réponses: 3
    Dernier message: 01/12/2006, 01h55
  4. [FOP] recherche lib FOP
    Par JustAGphy dans le forum Documents
    Réponses: 4
    Dernier message: 05/05/2004, 11h43

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