#include <SALOMEconfig.h>
#include CORBA_CLIENT_HEADER(Logger)
-// class SALOME_LoggerClient : public SALOME_Log
-// {
-// protected:
-// SALOME_Logger::Logger_var m_pInterfaceLogger; // object reference on Logger server
-// };
-
SALOME_Logger::Logger_ptr m_pInterfaceLogger; // object reference on Logger server
-SALOME_Log::SALOME_Log()
+SALOME_Log* SALOME_Log::_singleton = 0;
+
+// log line size: if too short, log line is truncated, without crash...
+char SALOME_LogStr[1024];
+
+SALOME_Log::SALOME_Log(): ostrstream(SALOME_LogStr,sizeof(SALOME_LogStr))
{
cout << "SALOME_LoggerClient: constructor" << endl;
//get reference on object reference from NS
{
}
-SALOME_Log& SALOME_Log::Instance()
+SALOME_Log* SALOME_Log::Instance()
{
- static SALOME_Log instance;
- return instance;
+ if (_singleton == 0) _singleton = new SALOME_Log();
+ return _singleton;
}
void SALOME_Log::putMessage(std::ostream& msg)