Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

NTEventLogAppender.hh

Go to the documentation of this file.
00001 /* 00002 * NTEventLogAppender.hh 00003 * 00004 * See the COPYING file for the terms of usage and distribution. 00005 */ 00006 00007 #ifndef _LOG4CPP_NTEVENTLOGAPPENDER_HH 00008 #define _LOG4CPP_NTEVENTLOGAPPENDER_HH 00009 00010 #ifdef WIN32 // only available on Win32 00011 00012 #include <log4cpp/Portability.hh> 00013 #include <log4cpp/AppenderSkeleton.hh> 00014 00015 namespace log4cpp { 00016 00026 class LOG4CPP_EXPORT NTEventLogAppender : public AppenderSkeleton { 00027 public: 00028 00034 NTEventLogAppender(const std::string& name, const std::string& sourceName); 00035 virtual ~NTEventLogAppender(); 00036 00040 virtual bool reopen(); 00041 00042 virtual void close(); 00043 00048 virtual bool requiresLayout() const; 00049 00050 virtual void setLayout(Layout* layout); 00051 00052 protected: 00053 00054 WORD getCategory(Priority::Value priority); 00055 WORD getType(Priority::Value priority); 00056 HKEY regGetKey(TCHAR *subkey, DWORD *disposition); 00057 void regSetString(HKEY hkey, TCHAR *name, TCHAR *value); 00058 void regSetDword(HKEY hkey, TCHAR *name, DWORD value); 00059 void addRegistryInfo(const char *source); 00060 00061 virtual void open(); 00062 00067 virtual void _append(const LoggingEvent& event); 00068 00069 HANDLE _hEventSource; 00070 std::string _strSourceName; 00071 }; 00072 } 00073 00074 #else // WIN32 00075 #error NTEventLoggAppender is not available on on Win32 platforms 00076 #endif // WIN32 00077 00078 #endif // _LOG4CPP_NTEVENTLOGAPPENDER_HH 00079

Generated on Fri Jun 4 21:26:08 2004 for log4cpp by doxygen 1.3.7