summaryrefslogtreecommitdiff
path: root/modules/CIAO/ciao/Logger/File_Logger_Backend.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/ciao/Logger/File_Logger_Backend.h')
-rw-r--r--modules/CIAO/ciao/Logger/File_Logger_Backend.h52
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_*/