1 // SALOME Logger : CORBA server managing trace output
3 // Copyright (C) 2003 CEA/DEN, EDF R&D
5 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
7 // File : SALOME_Logger_Server.hxx
8 // Author : Vasily Rusyaev
11 #if !defined SALOME_Logger_Server_include
12 #define SALOME_Logger_Server_include
20 #include <omnithread.h>
24 # if defined LOGGER_EXPORTS
25 # define LOGGER_EXPORT __declspec( dllexport )
27 # define LOGGER_EXPORT __declspec( dllimport )
30 # define LOGGER_EXPORT
34 class LOGGER_EXPORT Logger :
35 public POA_SALOME_Logger::Logger,
36 public PortableServer::RefCountServantBase
39 //constructor w/o parameters
40 //all messages will be put into terminal via cout
42 //constructor with parameter, filename is output file
43 //all messages will be put into special file passed as parameter
44 Logger(const char *filename);
46 //put message into one special place for all servers
47 void putMessage(const char* message);
50 //if m_putIntoFile is true all messages will be put into special
51 //otherwise all messages will be put into terminal via cout
53 //ofstream class specialized for disk file output
55 ofstream m_outputFile;
57 std::ofstream m_outputFile;
59 //synchronisation object
60 static omni_mutex myLock;
63 #endif // !defined(SALOME_Logger_Server_include)