00001 /* 00002 * IdsaAppender.hh 00003 * 00004 * Copyright 2000, Marc Welz 00005 * 00006 * See the COPYING file for the terms of usage and distribution. 00007 */ 00008 00009 #ifndef _LOG4CPP_IDSAAPPENDER_HH 00010 #define _LOG4CPP_IDSAAPPENDER_HH 00011 00012 #include <log4cpp/Portability.hh> 00013 #include <string> 00014 #include <stdarg.h> 00015 #include <idsa.h> 00016 #include <log4cpp/AppenderSkeleton.hh> 00017 00018 namespace log4cpp { 00019 00025 class IdsaAppender : public AppenderSkeleton { 00026 public: 00027 00034 IdsaAppender(const std::string& name, const std::string& idsaName); 00035 virtual ~IdsaAppender(); 00036 00040 virtual bool reopen(); 00041 00045 virtual void close(); 00046 00051 virtual bool requiresLayout() const; 00052 00053 virtual void setLayout(Layout* layout); 00054 00055 protected: 00056 00060 virtual void open(); 00061 00066 virtual void _append(const LoggingEvent& event); 00067 00068 const std::string _idsaName; 00069 00070 IDSA_CONNECTION *_idsaConnection; 00071 00072 }; 00073 } 00074 00075 #endif // _LOG4CPP_IDSAAPPENDER_HH 00076