00001 #ifndef APPENDER_HPP 00002 #define APPENDER_HPP 1 00003 00004 #include <rtt/TaskContext.hpp> 00005 #include <rtt/Port.hpp> 00006 #include "LoggingEvent.hpp" 00007 00008 // forward declare 00009 namespace log4cpp { 00010 class Appender; 00011 } 00012 00013 namespace OCL { 00014 namespace logging { 00015 00016 class Appender : public RTT::TaskContext 00017 { 00018 public: 00019 Appender(std::string name); 00020 virtual ~Appender(); 00021 00027 virtual bool configureLayout(); 00029 virtual bool startHook(); 00030 00031 protected: 00034 RTT::InputPort<OCL::logging::LoggingEvent> log_port; 00035 00037 log4cpp::Appender* appender; 00038 00039 // support layouts for all appenders 00041 RTT::Property<std::string> layoutName_prop; 00043 RTT::Property<std::string> layoutPattern_prop; 00044 }; 00045 00046 // namespaces 00047 } 00048 } 00049 00050 #endif