Bonjour,
je dois faire un logger pour une application qui comporte beaucoup de classes diff�rentes. Et quasiment toutes ces classes ont besoin du logger.
Pour l'instant, l'en-t�te de mon logger ressemble � �a (c'est un singleton):
J'aurais avoir votre avis sur 2 points:
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 class Logger { public: // destructor ~Logger(); // get instance static Logger* GetInstance(); // log function void Log(std::string text); private: // constructor Logger(); // unique instance of Logger static Logger* m_instance; }; // initialization of the unique instance Logger* Logger::m_instance;
1/ J'aimerais utiliser mon logger en variable globale, de fa�on � ne pas avoir � faire passer une r�f�rence du logger � chacune des classes qui vont l'utiliser. Et j'aurais aim� instancier cette variable globale dans logger.h, de fa�on � ce que j'ai juste besoin d'inclure logger.h lorsque j'ai besoin du logger.
Mais je ne sais pas trop comment faire.
2/ J'ai besoin de passer des param�tres au constructeur (niveau de log par defaut, file descriptor du fichier log, ...). Le probl�me, c'est que le constructeur est appel� par GetInstance(), et que je ne peux raisonnablement pas passer des param�tres � GetInstance(). Comment faire donc?
Partager