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