18#if !defined(LOG4CXX_ROLLING_MULTIPROCESS_ROLLING_FILE_APPENDER_H)
19#define LOG4CXX_ROLLING_MULTIPROCESS_ROLLING_FILE_APPENDER_H
49 struct MultiprocessRollingFileAppenderPriv;
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(LOG4CXX_16_CONST 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.
std::shared_ptr< LoggingEvent > LoggingEventPtr
Definition appender.h:32
std::basic_string< logchar > LogString
Definition logstring.h:60
#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
#define LOG4CXX_16_CONST
Definition outputstreamwriter.h:28