19 #if !defined(_LOG4CXX_ROLLING_TIME_BASED_ROLLING_POLICY_H)
20 #define _LOG4CXX_ROLLING_TIME_BASED_ROLLING_POLICY_H
141 #if LOG4CXX_ABI_VERSION <= 15
157 LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(TimeBasedRollingPolicyPrivate, m_priv)
163 using RollingPolicyBase::activateOptions;
175 using RollingPolicy::initialize;
181 using RollingPolicy::rollover;
202 size_t fileLength)
override;
238 int createMMapFile(
const std::string& lastfilename, LOG4CXX_NS::helpers::Pool& pool);
243 bool isMapFileEmpty(LOG4CXX_NS::helpers::Pool& pool);
248 void initMMapFile(
const LogString& lastFileName, LOG4CXX_NS::helpers::Pool& pool);
253 int lockMMapFile(
int type);
258 int unLockMMapFile();
263 const std::string createFile(
const std::string& filename,
const std::string& suffix, LOG4CXX_NS::helpers::Pool& pool);
Implement this interface for your own strategies for outputting log statements.
Definition: appender.h:55
Implements methods common to most, it not all, rolling policies.
Definition: rollingpolicybase.h:49
TimeBasedRollingPolicy is both easy to configure and quite powerful.
Definition: timebasedrollingpolicy.h:148
bool isTriggeringEvent(Appender *appender, const spi::LoggingEventPtr &event, const LogString &filename, size_t fileLength) override
Determines if a rollover may be appropriate at this time.
void activateOptions(helpers::Pool &p) override
bool isLastFileNameUnchanged()
Was the name in shared memory set by this process?
RolloverDescriptionPtr rollover(const LogString ¤tActiveFile, bool append, helpers::Pool &p) override
The pool parameter is not used and will be removed in a future version.Implement this method for now,...
RolloverDescriptionPtr initialize(const LogString ¤tActiveFile, bool append, helpers::Pool &p) override
The pool parameter is not used and will be removed in a future version.Implement this method for now,...
void setOption(const LogString &option, const LogString &value) override
Set option to value.
log4cxx::pattern::PatternMap getFormatSpecifiers() const override
A map from "d" and "date" to a date conversion formatter.
void setMultiprocess(bool multiprocess)
void loadLastFileName()
Load the name (set by some other process) from shared memory.
virtual ~TimeBasedRollingPolicy()
A TriggeringPolicy controls the conditions under which rollover occurs.
Definition: triggeringpolicy.h:51
std::map< LogString, PatternConstructor > PatternMap
Definition: patternparser.h:35
LOG4CXX_PTR_DEF(TimeBasedRollingPolicy)
std::shared_ptr< LoggingEvent > LoggingEventPtr
Definition: appender.h:31
std::basic_string< logchar > LogString
Definition: logstring.h:60
#define LOG4CXX_CAST_ENTRY(Interface)
Definition: object.h:154
#define END_LOG4CXX_CAST_MAP()
Definition: object.h:148
#define DECLARE_LOG4CXX_OBJECT(object)
Definition: object.h:41
#define LOG4CXX_CAST_ENTRY_CHAIN(Interface)
Definition: object.h:160
#define BEGIN_LOG4CXX_CAST_MAP()
Definition: object.h:142
#define LOG4CXX_ACTIVATE_OPTIONS_FORMAL_PARAMETERS
Activate the options that were previously set with calls to option setters.
Definition: optionhandler.h:53
#define LOG4CXX_ROLLING_POLICY_INITIALIZE_FORMAL_PARAMETERS
Definition: rollingpolicy.h:67
#define LOG4CXX_ROLLING_POLICY_ROLLOVER_FORMAL_PARAMETERS
Definition: rollingpolicy.h:99