Classe de log basée sur ostream

Classe de log basée sur ostream - C++ - Programmation

Marsh Posté le 22-12-2004 à 16:51:04    

Je voudrais coder une classe de log, pour que je puisse faire ce style de chose :
 

Code :
  1. LOG log(5); // 5 étant le nivo max de debug
  2. log << debug2 << "Ce message va apparaître" << endl;
  3. log << debug6 << "Ce message ne va pas apparaître << endl;


 
Je veux que ma classe log puisse bénéficier de toute les fonctionnalités de la classe ostream sans avoir à les recoder bien entendu (tous les manipulateurs par exemple : endl, hex, ...).
 
Bien entendu, le << ne veut pas dire d'afficher forcément à l'écran, ca peut très bien vouloir dire insérer dans un fichier, envoyer le message sur le réseau, les 2 en même temps ...
 
J'aimerais savoir comment surcharger l'operateur << de la classe ostream. Visiblement celui-ci est codé en plusieurs fonctions (avec des templates). Car dans le fond j'ai juste à faire :
 Si le niveau de bug est suffisant, j'utilise l'operateur de la classe ostream
 Sinon, je ne fais rien.
 
Ca paraît tout bête, mais je n'y arrive pas. Si quelqu'un à une solution, je suis preneur. Merci d'avance.
 
ben64

Reply

Marsh Posté le 22-12-2004 à 16:51:04   

Reply

Marsh Posté le 22-12-2004 à 16:53:35    

Et pourquoi ne pas utiliser http://log4cpp.sourceforge.net/ ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 22-12-2004 à 16:57:31    

Oui pourquoi pas. Même si à la base l'objectif était d'avoir une classe de log, un nouvel objectif vient de se greffer. Je n'arrive pas à faire ce que je veux, et je ne sais pas pourquoi :) Donc j'aimerais comprendre pour progresser.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed