18#ifndef _LOG4CXX_LEVEL_H
19#define _LOG4CXX_LEVEL_H
38typedef std::shared_ptr<Level>
LevelPtr;
58 return LOG4CXX_STR(
"Level");
82 int syslogEquivalent);
106#if LOG4CXX_WCHAR_T_API
129#if LOG4CXX_CFSTRING_API
229 return (this->level == level1.level);
234 return (this->level != level1.level);
242 return syslogEquivalent;
267 LOG4CXX_DECLARE_PRIVATE_MEMBER(
LogString, name)
269 int syslogEquivalent;
276#define DECLARE_LOG4CXX_LEVEL(level)\
278 class Class##level : public Level::LevelClass\
281 LogString getName() const override { return LOG4CXX_STR(#level); } \
282 LevelPtr toLevel(const LogString& sArg) const override\
283 { return level::toLevelLS(sArg); }\
284 LevelPtr toLevel(int val) const override\
285 { return level::toLevel(val); }\
287 DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(level, Class##level)
289#define IMPLEMENT_LOG4CXX_LEVEL(level) \
290 IMPLEMENT_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(level, Class##level)
virtual LevelPtr toLevel(int val) const
Definition level.h:66
virtual LevelPtr toLevel(const LogString &sArg) const
Definition level.h:61
LogString getName() const override
Definition level.h:56
LevelClass()
Definition level.h:54
Defines the minimum set of levels recognized by the system, that is OFF, FATAL, ERROR,...
Definition level.h:49
static LevelPtr getError()
@ DEBUG_INT
Definition level.h:193
@ OFF_INT
Definition level.h:188
@ ALL_INT
Definition level.h:195
@ WARN_INT
Definition level.h:191
@ INFO_INT
Definition level.h:192
@ ERROR_INT
Definition level.h:190
@ FATAL_INT
Definition level.h:189
@ TRACE_INT
Definition level.h:194
static LevelPtr toLevel(const std::wstring &sArg, const LevelPtr &defaultLevel)
Convert the string passed as argument to a level.
static const DataPtr & getData()
static LevelPtr toLevel(const CFStringRef &sArg)
Convert the string passed as argument to a level.
static LevelPtr toLevel(int val)
Convert an integer passed as argument to a level.
static LevelPtr getWarn()
static LevelPtr getDebug()
LogString toString() const
Returns the string representation of this level.
static LevelPtr toLevel(const std::string &sArg)
Convert the string passed as argument to a level.
virtual bool equals(const LevelPtr &level) const
Two levels are equal if their level fields are equal.
bool operator!=(const Level &level1) const
Definition level.h:232
static LevelPtr getTrace()
static LevelPtr toLevel(int val, const LevelPtr &defaultLevel)
Convert an integer passed as argument to a level.
virtual bool isGreaterOrEqual(const LevelPtr &level) const
Returns true if this level has a higher or equal level than the level passed as argument,...
void toString(std::string &name) const
Get the name of the level in the current encoding.
void toString(std::wstring &name) const
Get the name of the level.
std::shared_ptr< Data > DataPtr
Definition level.h:209
static LevelPtr toLevelLS(const LogString &sArg)
Convert the string passed as argument to a level.
static LevelPtr getInfo()
void toString(CFStringRef &name) const
Get the name of the level.
int getSyslogEquivalent() const
Return the syslog equivalent of this level as an integer.
Definition level.h:240
bool operator==(const Level &level1) const
Definition level.h:227
int toInt() const
Returns the integer representation of this level.
Definition level.h:261
static LevelPtr toLevel(const std::wstring &sArg)
Convert the string passed as argument to a level.
static LevelPtr getFatal()
static LevelPtr toLevel(const CFStringRef &sArg, const LevelPtr &defaultLevel)
Convert the string passed as argument to a level.
static LevelPtr toLevelLS(const LogString &sArg, const LevelPtr &defaultLevel)
Convert the string passed as argument to a level.
Level(int level, const LogString &name, int syslogEquivalent)
Instantiate a Level object.
base class for java-like objects.
Definition object.h:102
const struct __CFString * CFStringRef
Definition logstring.h:30
Definition propertysetter.h:27
std::basic_string< logchar > LogString
Definition logstring.h:51
std::shared_ptr< Level > LevelPtr
Definition optionconverter.h:28
#define DECLARE_LOG4CXX_OBJECT_WITH_CUSTOM_CLASS(object, class)
Definition object.h:56
#define LOG4CXX_CAST_ENTRY(Interface)
Definition object.h:154
#define END_LOG4CXX_CAST_MAP()
Definition object.h:148
#define BEGIN_LOG4CXX_CAST_MAP()
Definition object.h:142
LevelPtr Debug
Definition level.h:205
LevelPtr Info
Definition level.h:204
LevelPtr All
Definition level.h:207
LevelPtr Trace
Definition level.h:206
LevelPtr Warn
Definition level.h:203
LevelPtr Off
Definition level.h:200
LevelPtr Fatal
Definition level.h:201
LevelPtr Error
Definition level.h:202