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
14 #include <SALOMEconfig.h>
22 #include <omnithread.h>
26 # if defined LOGGER_EXPORTS
27 # define LOGGER_EXPORT __declspec( dllexport )
29 # define LOGGER_EXPORT __declspec( dllimport )
32 # define LOGGER_EXPORT
36 class LOGGER_EXPORT Logger :
37 public POA_SALOME_Logger::Logger
40 //constructor w/o parameters
41 //all messages will be put into terminal via cout
43 //constructor with parameter, filename is output file
44 //all messages will be put into special file passed as parameter
45 Logger(const char *filename);
47 //put message into one special place for all servers
48 void putMessage(const char* message);
51 //if m_putIntoFile is true all messages will be put into special
52 //otherwise all messages will be put into terminal via cout
54 //ofstream class specialized for disk file output
56 ofstream m_outputFile;
58 std::ofstream m_outputFile;
60 //synchronisation object
61 static omni_mutex myLock;
64 #endif // !defined(SALOME_Logger_Server_include)