diff options
Diffstat (limited to 'modules/CIAO/ciao/Logger/File_Logger_Backend.h')
-rw-r--r-- | modules/CIAO/ciao/Logger/File_Logger_Backend.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/modules/CIAO/ciao/Logger/File_Logger_Backend.h b/modules/CIAO/ciao/Logger/File_Logger_Backend.h new file mode 100644 index 00000000000..99b899484c2 --- /dev/null +++ b/modules/CIAO/ciao/Logger/File_Logger_Backend.h @@ -0,0 +1,52 @@ +// $Id$ +#ifndef FILE_LOGGER_BACKEND_H_ +#define FILE_LOGGER_BACKEND_H_ + +#include "ace/Log_Msg_Backend.h" +#include "ace/SString.h" +//#include "ace/String_Base.h" + +#include "CIAO_Logger_Export.h" + +namespace CIAO + { + + class CIAO_Logger_Export LoggerError + { + public: + LoggerError (const char * msg) + : errmsg_ (msg) {}; + ACE_CString errmsg_; + }; + + class CIAO_Logger_Export File_Logger_Backend : public ACE_Log_Msg_Backend + { + public: + File_Logger_Backend (const ACE_TCHAR * fname) + : fh_ (0), filename_ (fname) {} + + virtual ~File_Logger_Backend (void) + { + this->close(); + }; + + virtual int open (const ACE_TCHAR *logger_key); + + virtual int reset (void) + { + this->close(); + return this->open (0); + }; + + virtual int close (void); + + virtual ssize_t log (ACE_Log_Record &log_record); + + private: + FILE * fh_; + ACE_TString filename_; + }; + +} // CIAO + +#endif /*FILE_LOGGER_BACKEND_H_*/ |