18#if !defined(LOG4CXX_ROLLING_MULTIPROCESS_ROLLING_FILE_APPENDER_H)
19#define LOG4CXX_ROLLING_MULTIPROCESS_ROLLING_FILE_APPENDER_H
49 struct MultiprocessRollingFileAppenderPriv;
94 helpers::WriterPtr
createWriter(helpers::OutputStreamPtr& os)
override;
102 bool synchronizedRollover(
helpers::Pool& p,
const TriggeringPolicyPtr& trigger = TriggeringPolicyPtr() );
107 void setFileLength(
size_t length);
112 bool isRolloverCheckNeeded();
119 bool isAlreadyRolled(
const LogString& fileName,
size_t* pSize = 0);
125 bool getCurrentFileSize(
size_t* pSize);
130 void reopenFile(
const LogString& fileName);
A special version of the RollingFileAppender that acts properly with multiple processes.
Definition: multiprocessrollingfileappender.h:42
void subAppend(const spi::LoggingEventPtr &event, helpers::Pool &p) override
Actual writing occurs here.
helpers::WriterPtr createWriter(helpers::OutputStreamPtr &os) override
Returns an OutputStreamWriter when passed an OutputStream.
bool rollover(helpers::Pool &p)
Implements the usual roll over behaviour.
MultiprocessRollingFileAppender()
void activateOptions(helpers::Pool &pool) override
Activate the options that were previously set with calls to option setters.
RollingFileAppender extends log4cxx::FileAppender to backup the log files depending on RollingPolicy ...
Definition: rollingfileappender.h:77
std::shared_ptr< LoggingEvent > LoggingEventPtr
Definition: appender.h:32
std::basic_string< logchar > LogString
Definition: logstring.h:60
LOG4CXX_PTR_DEF(Appender)
#define LOG4CXX_CAST_ENTRY(Interface)
Definition: object.h:158
#define END_LOG4CXX_CAST_MAP()
Definition: object.h:152
#define DECLARE_LOG4CXX_OBJECT(object)
Definition: object.h:43
#define LOG4CXX_CAST_ENTRY_CHAIN(Interface)
Definition: object.h:164
#define BEGIN_LOG4CXX_CAST_MAP()
Definition: object.h:146