OrocosComponentLibrary  2.9.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GenerationalFileAppender Class Reference

Appender supporting generations of log files. More...

#include <GenerationalFileAppender.hpp>

Inheritance diagram for GenerationalFileAppender:
Appender

Public Member Functions

 GenerationalFileAppender (std::string name)
 
virtual bool configureLayout ()
 Optionally create a layout according to layoutName and layoutPattern. More...
 
virtual bool startHook ()
 ensure port is connected before we start More...
 
virtual void stopHook ()
 Drain the buffer.
 
virtual void drainBuffer ()
 Process all remaining events in buffer.
 

Protected Member Functions

virtual bool configureHook ()
 Create log4cpp appender.
 
virtual void updateHook ()
 Process at most maxEventsPerCycle event.
 
virtual void cleanupHook ()
 Destroy appender.
 
void advanceGeneration ()
 Advance to the next logfile generation.
 
virtual void processEvents (int n)
 Process up n events. More...
 

Protected Attributes

RTT::Operation< void(void)> advanceGeneration_op
 
RTT::Property< std::string > filename_prop
 Name of file to append to.
 
RTT::Property< int > maxEventsPerCycle_prop
 Property to set maximum number of log events to pop per cycle.
 
int maxEventsPerCycle
 Maximum number of log events to pop per cycle. More...
 
RTT::InputPort< OCL::logging::LoggingEventlog_port
 Port we receive logging events on Initially unconnected. More...
 
log4cpp::Appender * appender
 Appender created by derived class.
 
RTT::Property< std::string > layoutName_prop
 Layout name (e.g. "simple", "basic", "pattern")
 
RTT::Property< std::string > layoutPattern_prop
 Layout conversion pattern (for those layouts that use a pattern)
 
unsigned int countMaxPopped
 

Detailed Description

Appender supporting generations of log files.

Each new generation is logged to a new file

Definition at line 14 of file GenerationalFileAppender.hpp.

Member Function Documentation

bool configureLayout ( )
virtualinherited

Optionally create a layout according to layoutName and layoutPattern.

Precondition
!appender, if you want a layout to actually be created
Returns
true if not layout or no appender or a layout was created successfully, otherwise false
Todo:
ensure "" != layoutPattern?

Definition at line 29 of file Appender.cpp.

void processEvents ( int  n)
protectedvirtualinherited

Process up n events.

Parameters
nif 0 ==n then process events until buffer is empty, otherwise process at most n events
Precondition
0 <= n (otherwise acts as though n==1)

Definition at line 104 of file Appender.cpp.

References LoggingEvent::toLog4cpp().

bool startHook ( )
virtualinherited

ensure port is connected before we start

Todo:
input ports must be connected?

Definition at line 69 of file Appender.cpp.

Member Data Documentation

RTT::Operation<void(void)> advanceGeneration_op
protected

Definition at line 28 of file GenerationalFileAppender.hpp.

RTT::InputPort<OCL::logging::LoggingEvent> log_port
protectedinherited

Port we receive logging events on Initially unconnected.

The logging service connects appenders.

Definition at line 47 of file Appender.hpp.

Referenced by Category::callAppenders(), and Category::connectToLogPort().

int maxEventsPerCycle
protected

Maximum number of log events to pop per cycle.

Defaults to 1.

A value of 0 indicates to not limit the number of events per cycle. With enough event production, this could lead to thread starvation!

Definition at line 48 of file GenerationalFileAppender.hpp.


The documentation for this class was generated from the following files: