Apache Log4cxx
Version 1.8.0
Toggle main menu visibility
Loading...
Searching...
No Matches
fixedwindowrollingpolicy.h
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#if !defined(_LOG4CXX_ROLLING_FIXED_WINDOW_ROLLING_POLICY_H)
19
#define _LOG4CXX_ROLLING_FIXED_WINDOW_ROLLING_POLICY_H
20
21
#include <
log4cxx/rolling/rollingpolicybase.h
>
22
23
24
25
26
namespace
LOG4CXX_NS
27
{
28
29
namespace
helpers
30
{
31
class
Pool;
32
}
33
34
namespace
rolling
35
{
36
37
71
class
LOG4CXX_EXPORT
FixedWindowRollingPolicy
:
public
RollingPolicyBase
72
{
73
DECLARE_LOG4CXX_OBJECT
(
FixedWindowRollingPolicy
)
74
BEGIN_LOG4CXX_CAST_MAP
()
75
LOG4CXX_CAST_ENTRY
(
FixedWindowRollingPolicy
)
76
LOG4CXX_CAST_ENTRY_CHAIN
(
RollingPolicyBase
)
77
END_LOG4CXX_CAST_MAP
()
78
79
struct
FixedWindowRollingPolicyPrivate;
80
84
enum
{ MAX_WINDOW_SIZE = 12 };
85
86
bool
purge(
int
purgeStart,
int
maxIndex)
const
;
87
#if LOG4CXX_ABI_VERSION <= 15
88
bool
purge(
int
lowIndex,
int
highIndex,
helpers::Pool
& pool)
const
;
89
#endif
90
public
:
91
92
FixedWindowRollingPolicy
();
93
~FixedWindowRollingPolicy
();
94
95
using
RollingPolicyBase::activateOptions
;
103
void
activateOptions
(
LOG4CXX_ACTIVATE_OPTIONS_FORMAL_PARAMETERS
)
override
;
104
116
void
setOption
(
const
LogString
& option,
const
LogString
& value)
override
;
117
118
void
rollover
();
119
120
int
getMaxIndex
()
const
;
121
122
int
getMinIndex
()
const
;
123
124
void
setMaxIndex
(
int
newVal);
125
void
setMinIndex
(
int
newVal);
126
127
using
RollingPolicy::initialize
;
131
RolloverDescriptionPtr
initialize
(
LOG4CXX_ROLLING_POLICY_INITIALIZE_FORMAL_PARAMETERS
)
override
;
132
133
using
RollingPolicy::rollover
;
137
RolloverDescriptionPtr
rollover
(
LOG4CXX_ROLLING_POLICY_ROLLOVER_FORMAL_PARAMETERS
)
override
;
138
139
protected
:
145
LOG4CXX_NS::pattern::PatternMap
getFormatSpecifiers
()
const override
;
146
147
};
148
149
LOG4CXX_PTR_DEF
(
FixedWindowRollingPolicy
);
150
151
}
152
}
153
154
#endif
log4cxx::helpers::Pool
Definition
pool.h:33
log4cxx::rolling::FixedWindowRollingPolicy
When rolling over, FixedWindowRollingPolicy renames files according to a fixed window algorithm as de...
Definition
fixedwindowrollingpolicy.h:72
log4cxx::rolling::FixedWindowRollingPolicy::getMinIndex
int getMinIndex() const
log4cxx::rolling::FixedWindowRollingPolicy::getFormatSpecifiers
log4cxx::pattern::PatternMap getFormatSpecifiers() const override
A map from "i" and "index" to a integer conversion formatter.
log4cxx::rolling::FixedWindowRollingPolicy::rollover
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...
log4cxx::rolling::FixedWindowRollingPolicy::getMaxIndex
int getMaxIndex() const
log4cxx::rolling::FixedWindowRollingPolicy::initialize
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...
log4cxx::rolling::FixedWindowRollingPolicy::setMaxIndex
void setMaxIndex(int newVal)
log4cxx::rolling::FixedWindowRollingPolicy::~FixedWindowRollingPolicy
~FixedWindowRollingPolicy()
log4cxx::rolling::FixedWindowRollingPolicy::FixedWindowRollingPolicy
FixedWindowRollingPolicy()
log4cxx::rolling::FixedWindowRollingPolicy::activateOptions
void activateOptions(helpers::Pool &p) override
log4cxx::rolling::FixedWindowRollingPolicy::setMinIndex
void setMinIndex(int newVal)
log4cxx::rolling::FixedWindowRollingPolicy::setOption
void setOption(const LogString &option, const LogString &value) override
Set option to value.
log4cxx::rolling::FixedWindowRollingPolicy::rollover
void rollover()
log4cxx::rolling::RollingPolicyBase::RollingPolicyBase
RollingPolicyBase()
log4cxx::rolling::RollingPolicyBase::activateOptions
void activateOptions(helpers::Pool &p) override
log4cxx::rolling::RollingPolicy::rollover
RolloverDescriptionPtr rollover(const LogString ¤tActiveFile, bool append)
Prepare for a rollover.
log4cxx::rolling::RollingPolicy::initialize
RolloverDescriptionPtr initialize(const LogString ¤tActiveFile, bool append)
Initialize the policy and return any initial actions for rolling file appender.
log4cxx::rolling::LOG4CXX_PTR_DEF
LOG4CXX_PTR_DEF(Action)
log4cxx::LogString
std::basic_string< logchar > LogString
Definition
logstring.h:60
LOG4CXX_CAST_ENTRY
#define LOG4CXX_CAST_ENTRY(Interface)
Definition
object.h:154
END_LOG4CXX_CAST_MAP
#define END_LOG4CXX_CAST_MAP()
Definition
object.h:148
DECLARE_LOG4CXX_OBJECT
#define DECLARE_LOG4CXX_OBJECT(object)
Definition
object.h:41
LOG4CXX_CAST_ENTRY_CHAIN
#define LOG4CXX_CAST_ENTRY_CHAIN(Interface)
Definition
object.h:160
BEGIN_LOG4CXX_CAST_MAP
#define BEGIN_LOG4CXX_CAST_MAP()
Definition
object.h:142
LOG4CXX_ACTIVATE_OPTIONS_FORMAL_PARAMETERS
#define LOG4CXX_ACTIVATE_OPTIONS_FORMAL_PARAMETERS
Activate the options that were previously set with calls to option setters.
Definition
optionhandler.h:53
LOG4CXX_ROLLING_POLICY_INITIALIZE_FORMAL_PARAMETERS
#define LOG4CXX_ROLLING_POLICY_INITIALIZE_FORMAL_PARAMETERS
Definition
rollingpolicy.h:67
LOG4CXX_ROLLING_POLICY_ROLLOVER_FORMAL_PARAMETERS
#define LOG4CXX_ROLLING_POLICY_ROLLOVER_FORMAL_PARAMETERS
Definition
rollingpolicy.h:99
rollingpolicybase.h
src
main
include
log4cxx
rolling
fixedwindowrollingpolicy.h
Generated by
1.17.0 on
SITE_PUBLISHED_DATE
Copyright © 2017-2026
Apache Software Foundation
. Apache, Chainsaw, log4cxx, Log4j, Log4net, log4php and the Apache logo are
trademarks or registered trademarks
of The Apache Software Foundation.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Privacy Policy
.