diff options
Diffstat (limited to 'modules/CIAO/DAnCE/Logger/File_Logger_Backend.h')
-rw-r--r-- | modules/CIAO/DAnCE/Logger/File_Logger_Backend.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/CIAO/DAnCE/Logger/File_Logger_Backend.h b/modules/CIAO/DAnCE/Logger/File_Logger_Backend.h new file mode 100644 index 00000000000..6a02326f429 --- /dev/null +++ b/modules/CIAO/DAnCE/Logger/File_Logger_Backend.h @@ -0,0 +1,50 @@ +// $Id$ +#ifndef FILE_LOGGER_BACKEND_H_ +#define FILE_LOGGER_BACKEND_H_ + +#include "ace/Log_Msg_Backend.h" +#include "DAnCE_Logger_Export.h" +#include "ace/SString.h" + +namespace DAnCE + { + + class DAnCE_Logger_Export LoggerError + { + public: + LoggerError (const ACE_TCHAR * msg) + : errmsg_ (msg) {}; + ACE_TString errmsg_; + }; + + class DAnCE_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_; + }; + +} // DAnCE + +#endif /*FILE_LOGGER_BACKEND_H_*/ |