OrocosComponentLibrary  2.7.0
Public Member Functions | Protected Member Functions | Protected Attributes
GenerationalFileAppender Class Reference

Appender supporting generations of log files. More...

#include <GenerationalFileAppender.hpp>

Inheritance diagram for GenerationalFileAppender:
Appender

List of all members.

Public Member Functions

 GenerationalFileAppender (std::string name)
virtual bool configureLayout ()
 Optionally create a layout according to layoutName and layoutPattern.
virtual bool startHook ()
 ensure port is connected before we start
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.

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.
RTT::InputPort
< OCL::logging::LoggingEvent
log_port
 Port we receive logging events on Initially unconnected.
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 ( ) [virtual, inherited]

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) [protected, virtual, inherited]

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 ( ) [virtual, inherited]

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 [protected, inherited]

Port we receive logging events on Initially unconnected.

The logging service connects appenders.

Definition at line 47 of file Appender.hpp.

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: