1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /*
- * IdsaAppender.hh
- *
- * Copyright 2000, Marc Welz
- *
- * See the COPYING file for the terms of usage and distribution.
- */
- #ifndef _LOG4CPP_IDSAAPPENDER_HH
- #define _LOG4CPP_IDSAAPPENDER_HH
- #include <log4cpp/Portability.hh>
- #include <string>
- #include <stdarg.h>
- #include <idsa.h>
- #include <log4cpp/AppenderSkeleton.hh>
- LOG4CPP_NS_BEGIN
- /**
- * IdsaAppender is an Appender that sends LoggingEvents to the IDS/A
- * logger and reference monitor by Marc Welz.
- * See http://jade.cs.uct.ac.za/idsa/ for more information on IDS/A.
- **/
- class IdsaAppender : public AppenderSkeleton {
- public:
- /**
- * Instantiate an IdsaAppender with given name and name.
- * Unlike the syslog API, idsa allows multiple connections.
- * @param name The name of the Appender
- * @param idsaName The service parameter of idsa
- **/
- IdsaAppender(const std::string& name, const std::string& idsaName);
- virtual ~IdsaAppender();
- /**
- * Calls idsa_open() and idsa_close()
- **/
- virtual bool reopen();
- /**
- * Calls idsa_close()
- **/
- virtual void close();
- /**
- * The IdsaAppender does its own Layout.
- * @returns false
- **/
- virtual bool requiresLayout() const;
- virtual void setLayout(Layout* layout);
- protected:
- /**
- * Calls idsa_open().
- **/
- virtual void open();
- /**
- * Sends a LoggingEvent to idsa.
- * @param event the LoggingEvent to log.
- **/
- virtual void _append(const LoggingEvent& event);
- const std::string _idsaName;
- IDSA_CONNECTION *_idsaConnection;
- };
- LOG4CPP_NS_END
- #endif // _LOG4CPP_IDSAAPPENDER_HH
|