Je voudrais coder une classe de log, pour que je puisse faire ce style de chose :
Code :
- LOG log(5); // 5 étant le nivo max de debug
- log << debug2 << "Ce message va apparaître" << endl;
- 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