18#if !defined(LOG4CXX_ROLLING_MULTIPROCESS_ROLLING_FILE_APPENDER_H)
19#define LOG4CXX_ROLLING_MULTIPROCESS_ROLLING_FILE_APPENDER_H
45 struct MultiprocessRollingFileAppenderPriv;
117 helpers::WriterPtr
createWriter(helpers::OutputStreamPtr& os)
override;
137 void setFileLength(
size_t length);
143 void releaseFileLock(apr_file_t* lock_file);
148 void reopenLatestFile(LOG4CXX_NS::helpers::Pool& p);
150 friend class CountingOutputStream;
FileAppender appends log events to a file.
Definition: fileappender.h:42
A special version of the RollingFileAppender that acts properly with multiple processes.
Definition: multiprocessrollingfileappender.h:38
void subAppend(const spi::LoggingEventPtr &event, helpers::Pool &p) override
Actual writing occurs here.
void incrementFileLength(size_t increment)
Increments estimated byte length of current active log file.
void activateOptions(helpers::Pool &) override
Activate the options that were previously set with calls to option setters.
helpers::WriterPtr createWriter(helpers::OutputStreamPtr &os) override
Returns an OutputStreamWriter when passed an OutputStream.
bool rolloverInternal(log4cxx::helpers::Pool &p)
size_t getFileLength() const
Get byte length of current active log file.
void setRollingPolicy(const RollingPolicyPtr &policy)
Sets the rolling policy.
RollingPolicyPtr getRollingPolicy() const
void setTriggeringPolicy(const TriggeringPolicyPtr &policy)
void close() override
Close appender.
bool rollover(helpers::Pool &p)
Implements the usual roll over behaviour.
MultiprocessRollingFileAppender()
TriggeringPolicyPtr getTriggeringPolicy() const
std::shared_ptr< LoggingEvent > LoggingEventPtr
Definition: appender.h:32
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