#include <Category.hh>
Public Member Functions | |
virtual void | addAppender (Appender *appender) throw (std::invalid_argument) |
virtual void | addAppender (Appender &appender) |
void | alert (const char *stringFormat,...) throw () |
void | alert (const std::string &message) throw () |
CategoryStream | alertStream () throw () |
virtual void | callAppenders (const LoggingEvent &event) throw () |
void | crit (const char *stringFormat,...) throw () |
void | crit (const std::string &message) throw () |
CategoryStream | critStream () |
void | debug (const char *stringFormat,...) throw () |
void | debug (const std::string &message) throw () |
CategoryStream | debugStream () |
void | emerg (const char *stringFormat,...) throw () |
void | emerg (const std::string &message) throw () |
CategoryStream | emergStream () |
void | error (const char *stringFormat,...) throw () |
void | error (const std::string &message) throw () |
CategoryStream | errorStream () |
void | fatal (const char *stringFormat,...) throw () |
void | fatal (const std::string &message) throw () |
CategoryStream | fatalStream () |
virtual bool | getAdditivity () const throw () |
virtual AppenderSet | getAllAppenders () const |
virtual Appender * | getAppender () const |
virtual Appender * | getAppender (const std::string &name) const |
virtual Priority::Value | getChainedPriority () const throw () |
virtual const std::string & | getName () const throw () |
virtual Category * | getParent () throw () |
virtual const Category * | getParent () const throw () |
virtual Priority::Value | getPriority () const throw () |
virtual CategoryStream | getStream (Priority::Value priority) |
void | info (const char *stringFormat,...) throw () |
void | info (const std::string &message) throw () |
CategoryStream | infoStream () |
bool | isAlertEnabled () const throw () |
bool | isCritEnabled () const throw () |
bool | isDebugEnabled () const throw () |
bool | isEmergEnabled () const throw () |
bool | isErrorEnabled () const throw () |
bool | isFatalEnabled () const throw () |
bool | isInfoEnabled () const throw () |
bool | isNoticeEnabled () const throw () |
virtual bool | isPriorityEnabled (Priority::Value priority) const throw () |
bool | isWarnEnabled () const throw () |
virtual void | log (Priority::Value priority, const char *stringFormat,...) throw () |
virtual void | log (Priority::Value priority, const std::string &message) throw () |
virtual void | logva (Priority::Value priority, const char *stringFormat, va_list va) throw () |
void | notice (const char *stringFormat,...) throw () |
void | notice (const std::string &message) throw () |
CategoryStream | noticeStream () |
virtual CategoryStream | operator<< (Priority::Value priority) |
virtual bool | ownsAppender () const throw () |
virtual bool | ownsAppender (Appender *appender) const throw () |
virtual void | removeAllAppenders () |
virtual void | removeAppender (Appender *appender) |
virtual void | setAdditivity (bool additivity) |
void | setAppender (Appender *appender) |
void | setAppender (Appender &appender) |
virtual void | setPriority (Priority::Value priority) throw (std::invalid_argument) |
void | warn (const char *stringFormat,...) throw () |
void | warn (const std::string &message) throw () |
CategoryStream | warnStream () |
virtual | ~Category () |
Static Public Member Functions | |
static Category * | exists (const std::string &name) |
static std::vector< Category * > * | getCurrentCategories () |
static Category & | getInstance (const std::string &name) |
static Category & | getRoot () |
static Priority::Value | getRootPriority () throw () |
static void | setRootPriority (Priority::Value priority) |
static void | shutdown () |
Protected Member Functions | |
virtual void | _logUnconditionally (Priority::Value priority, const char *format, va_list arguments) throw () |
virtual void | _logUnconditionally2 (Priority::Value priority, const std::string &message) throw () |
Category (const std::string &name, Category *parent, Priority::Value priority=Priority::NOTSET) | |
Private Types | |
typedef std::map< Appender *, bool > | OwnsAppenderMap |
Private Member Functions | |
Category (const Category &other) | |
Category & | operator= (const Category &other) |
virtual bool | ownsAppender (Appender *appender, OwnsAppenderMap::iterator &i2) throw () |
Private Attributes | |
AppenderSet | _appender |
threading::Mutex | _appenderSetMutex |
volatile bool | _isAdditive |
const std::string | _name |
OwnsAppenderMap | _ownsAppender |
Category * | _parent |
volatile Priority::Value | _priority |
Friends | |
class | HierarchyMaintainer |
This is the central class in the log4j package. One of the distintive features of log4j (and hence log4cpp) are hierarchal categories and their evaluation.
Definition at line 33 of file Category.hh.
typedef std::map<Appender *, bool> log4cpp::Category::OwnsAppenderMap [private] |
Definition at line 641 of file Category.hh.
log4cpp::Category::~Category | ( | ) | [virtual] |
Destructor for Category.
Definition at line 59 of file Category.cpp.
log4cpp::Category::Category | ( | const std::string & | name, |
Category * | parent, | ||
Priority::Value | priority = Priority::NOTSET |
||
) | [protected] |
Constructor
name | the fully qualified name of this Category |
parent | the parent of this parent, or NULL for the root Category |
priority | the priority for this Category. Defaults to Priority::NOTSET |
Definition at line 52 of file Category.cpp.
log4cpp::Category::Category | ( | const Category & | other | ) | [private] |
void log4cpp::Category::_logUnconditionally | ( | Priority::Value | priority, |
const char * | format, | ||
va_list | arguments | ||
) | throw () [protected, virtual] |
Definition at line 251 of file Category.cpp.
void log4cpp::Category::_logUnconditionally2 | ( | Priority::Value | priority, |
const std::string & | message | ||
) | throw () [protected, virtual] |
Unconditionally log a message with the specified priority.
priority | The priority of this log message. |
message | string to write in the log file |
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 257 of file Category.cpp.
void log4cpp::Category::addAppender | ( | Appender * | appender | ) | throw (std::invalid_argument) [virtual] |
Adds an Appender to this Category. This method passes ownership from the caller to the Category.
appender | The Appender to wich this category has to log. |
std::invalid_argument | if the appender is NULL. |
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 94 of file Category.cpp.
void log4cpp::Category::addAppender | ( | Appender & | appender | ) | [virtual] |
Adds an Appender for this Category. This method does not pass ownership from the caller to the Category.
appender | The Appender this category has to log to. |
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 111 of file Category.cpp.
void log4cpp::Category::alert | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with alert priority.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 375 of file Category.cpp.
void log4cpp::Category::alert | ( | const std::string & | message | ) | throw () |
Log a message with alert priority.
message | string to write in the log file |
Definition at line 384 of file Category.cpp.
CategoryStream log4cpp::Category::alertStream | ( | ) | throw () [inline] |
Return a CategoryStream with priority ALERT.
Definition at line 510 of file Category.hh.
void log4cpp::Category::callAppenders | ( | const LoggingEvent & | event | ) | throw () [virtual] |
Call the appenders in the hierarchy starting at this
. If no appenders could be found, emit a warning.
This method always calls all the appenders inherited form the hierracy circumventing any evaluation of whether to log or not to log the particular log request.
event | the LogginEvent to log. |
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 220 of file Category.cpp.
void log4cpp::Category::crit | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with crit priority.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 361 of file Category.cpp.
void log4cpp::Category::crit | ( | const std::string & | message | ) | throw () |
Log a message with crit priority.
message | string to write in the log file |
Definition at line 370 of file Category.cpp.
CategoryStream log4cpp::Category::critStream | ( | ) | [inline] |
Return a CategoryStream with priority CRIT.
Definition at line 480 of file Category.hh.
void log4cpp::Category::debug | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with debug priority.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 291 of file Category.cpp.
void log4cpp::Category::debug | ( | const std::string & | message | ) | throw () |
Log a message with debug priority.
message | string to write in the log file |
Definition at line 300 of file Category.cpp.
CategoryStream log4cpp::Category::debugStream | ( | ) | [inline] |
Return a CategoryStream with priority DEBUG.
Definition at line 330 of file Category.hh.
void log4cpp::Category::emerg | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with emerg priority.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 389 of file Category.cpp.
void log4cpp::Category::emerg | ( | const std::string & | message | ) | throw () |
Log a message with emerg priority.
message | string to write in the log file |
Definition at line 398 of file Category.cpp.
CategoryStream log4cpp::Category::emergStream | ( | ) | [inline] |
Return a CategoryStream with priority EMERG.
Definition at line 540 of file Category.hh.
void log4cpp::Category::error | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with error priority.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 347 of file Category.cpp.
void log4cpp::Category::error | ( | const std::string & | message | ) | throw () |
Log a message with error priority.
message | string to write in the log file |
Definition at line 356 of file Category.cpp.
CategoryStream log4cpp::Category::errorStream | ( | ) | [inline] |
Return a CategoryStream with priority ERROR.
Definition at line 450 of file Category.hh.
Category * log4cpp::Category::exists | ( | const std::string & | name | ) | [static] |
If the named category exists (in the default hierarchy) then it returns a reference to the category, otherwise it returns NULL.
Definition at line 39 of file Category.cpp.
void log4cpp::Category::fatal | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with fatal priority. NB. priority 'fatal' is equivalent to 'emerg'.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 403 of file Category.cpp.
void log4cpp::Category::fatal | ( | const std::string & | message | ) | throw () |
Log a message with fatal priority. NB. priority 'fatal' is equivalent to 'emerg'.
message | string to write in the log file |
Definition at line 412 of file Category.cpp.
CategoryStream log4cpp::Category::fatalStream | ( | ) | [inline] |
Return a CategoryStream with priority FATAL. NB. priority 'fatal' is equivalent to 'emerg'.
Definition at line 578 of file Category.hh.
bool log4cpp::Category::getAdditivity | ( | ) | const throw () [virtual] |
Returns the additivity flag for this Category instance.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 239 of file Category.cpp.
AppenderSet log4cpp::Category::getAllAppenders | ( | ) | const [virtual] |
Returns the set of Appenders currently attached to this Catogory.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 144 of file Category.cpp.
Appender * log4cpp::Category::getAppender | ( | ) | const [virtual] |
Returns the first Appender for this Category, or NULL if no Appender has been set.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 122 of file Category.cpp.
Appender * log4cpp::Category::getAppender | ( | const std::string & | name | ) | const [virtual] |
Returns the specified Appender for this Category, or NULL if the Appender is not attached to this Category.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 130 of file Category.cpp.
Priority::Value log4cpp::Category::getChainedPriority | ( | ) | const throw () [virtual] |
Starting from this Category, search the category hierarchy for a set priority and return it. Otherwise, return the priority of the root category.
The Category class is designed so that this method executes as quickly as possible.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 83 of file Category.cpp.
std::vector< Category * > * log4cpp::Category::getCurrentCategories | ( | ) | [static] |
Returns all the currently defined categories as a vector of Category pointers. Note: this function does not pass ownership of the categories in the vector to the caller, only the ownership of the vector. However vector<Category&>* is not legal C++, so we can't follow the default ownership conventions.
Unlike in log4j, the root category is included in the returned set.
Definition at line 43 of file Category.cpp.
Category & log4cpp::Category::getInstance | ( | const std::string & | name | ) | [static] |
Instantiate a Category with name name
. This method does not set priority of the category which is by default Priority::NOTSET
.
name | The name of the category to retrieve. |
Definition at line 35 of file Category.cpp.
const std::string & log4cpp::Category::getName | ( | ) | const throw () [virtual] |
Category * log4cpp::Category::getParent | ( | ) | throw () [virtual] |
Returns the parent category of this category, or NULL if the category is the root category.
Definition at line 243 of file Category.cpp.
const Category * log4cpp::Category::getParent | ( | ) | const throw () [virtual] |
Returns the parent category of this category, or NULL if the category is the root category.
Definition at line 247 of file Category.cpp.
Priority::Value log4cpp::Category::getPriority | ( | ) | const throw () [virtual] |
Returns the assigned Priority, if any, for this Category.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 67 of file Category.cpp.
Category & log4cpp::Category::getRoot | ( | ) | [static] |
Return the root of the Category hierarchy.
The root category is always instantiated and available. It's name is the empty string.
Unlike in log4j, calling Category.getInstance("")
does retrieve the root category and not a category just under root named "".
Definition at line 23 of file Category.cpp.
Priority::Value log4cpp::Category::getRootPriority | ( | ) | throw () [static] |
Get the priority of the root
Category.
Definition at line 31 of file Category.cpp.
CategoryStream log4cpp::Category::getStream | ( | Priority::Value | priority | ) | [virtual] |
Return a CategoryStream with given Priority.
priority | The Priority of the CategoryStream. |
Definition at line 417 of file Category.cpp.
void log4cpp::Category::info | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with info priority.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 305 of file Category.cpp.
void log4cpp::Category::info | ( | const std::string & | message | ) | throw () |
Log a message with info priority.
message | string to write in the log file |
Definition at line 314 of file Category.cpp.
CategoryStream log4cpp::Category::infoStream | ( | ) | [inline] |
Return a CategoryStream with priority INFO.
Definition at line 360 of file Category.hh.
bool log4cpp::Category::isAlertEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority ALERT.
Definition at line 502 of file Category.hh.
bool log4cpp::Category::isCritEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority CRIT.
Definition at line 472 of file Category.hh.
bool log4cpp::Category::isDebugEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority DEBUG.
Definition at line 322 of file Category.hh.
bool log4cpp::Category::isEmergEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority EMERG.
Definition at line 532 of file Category.hh.
bool log4cpp::Category::isErrorEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority ERROR.
Definition at line 442 of file Category.hh.
bool log4cpp::Category::isFatalEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority FATAL. NB. priority 'fatal' is equivalent to 'emerg'.
Definition at line 568 of file Category.hh.
bool log4cpp::Category::isInfoEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority INFO.
Definition at line 352 of file Category.hh.
bool log4cpp::Category::isNoticeEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority NOTICE.
Definition at line 382 of file Category.hh.
bool log4cpp::Category::isPriorityEnabled | ( | Priority::Value | priority | ) | const throw () [virtual] |
Returns true if the chained priority of the Category is equal to or higher than given priority.
priority | The priority to compare with. |
Definition at line 263 of file Category.cpp.
bool log4cpp::Category::isWarnEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority WARN.
Definition at line 412 of file Category.hh.
void log4cpp::Category::log | ( | Priority::Value | priority, |
const char * | stringFormat, | ||
... | |||
) | throw () [virtual] |
Log a message with the specified priority.
priority | The priority of this log message. |
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 267 of file Category.cpp.
void log4cpp::Category::log | ( | Priority::Value | priority, |
const std::string & | message | ||
) | throw () [virtual] |
Log a message with the specified priority.
priority | The priority of this log message. |
message | string to write in the log file |
Definition at line 277 of file Category.cpp.
void log4cpp::Category::logva | ( | Priority::Value | priority, |
const char * | stringFormat, | ||
va_list | va | ||
) | throw () [virtual] |
Log a message with the specified priority.
priority | The priority of this log message. |
stringFormat | Format specifier for the string to write in the log file. |
va | The arguments for stringFormat. |
Definition at line 283 of file Category.cpp.
void log4cpp::Category::notice | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with notice priority.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 319 of file Category.cpp.
void log4cpp::Category::notice | ( | const std::string & | message | ) | throw () |
Log a message with notice priority.
message | string to write in the log file |
Definition at line 328 of file Category.cpp.
CategoryStream log4cpp::Category::noticeStream | ( | ) | [inline] |
Return a CategoryStream with priority NOTICE.
Definition at line 390 of file Category.hh.
CategoryStream log4cpp::Category::operator<< | ( | Priority::Value | priority | ) | [virtual] |
Return a CategoryStream with given Priority.
priority | The Priority of the CategoryStream. |
Definition at line 422 of file Category.cpp.
virtual bool log4cpp::Category::ownsAppender | ( | ) | const throw () [inline, virtual] |
Returns true if the Category owns the first Appender in its Appender set. In that case the Category destructor will delete the Appender.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 226 of file Category.hh.
bool log4cpp::Category::ownsAppender | ( | Appender * | appender | ) | const throw () [virtual] |
Returns true if the Category owns the Appender. In that case the Category destructor will delete the Appender.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 185 of file Category.cpp.
virtual bool log4cpp::Category::ownsAppender | ( | Appender * | appender, |
OwnsAppenderMap::iterator & | i2 | ||
) | throw () [private, virtual] |
void log4cpp::Category::removeAllAppenders | ( | ) | [virtual] |
Removes all appenders for this Category.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 151 of file Category.cpp.
void log4cpp::Category::removeAppender | ( | Appender * | appender | ) | [virtual] |
Removes specified appender for this Category.
Definition at line 168 of file Category.cpp.
void log4cpp::Category::setAdditivity | ( | bool | additivity | ) | [virtual] |
Set the additivity flag for this Category instance.
Reimplemented in log4cpp::FixedContextCategory.
Definition at line 235 of file Category.cpp.
void log4cpp::Category::setAppender | ( | Appender * | appender | ) | [inline] |
Adds an Appender to this Category. This method passes ownership from the caller to the Category.
appender | The Appender this category has to log to or NULL to remove the current Appenders. |
Definition at line 168 of file Category.hh.
void log4cpp::Category::setAppender | ( | Appender & | appender | ) | [inline] |
Adds an Appender for this Category. This method does not pass ownership from the caller to the Category.
appender | The Appender this category has to log to. |
Definition at line 182 of file Category.hh.
void log4cpp::Category::setPriority | ( | Priority::Value | priority | ) | throw (std::invalid_argument) [virtual] |
Set the priority of this Category.
priority | The priority to set. Use Priority::NOTSET to let the category use its parents priority as effective priority. |
std::invalid_argument | if the caller tries to set Priority::NOTSET on the Root Category. |
Definition at line 71 of file Category.cpp.
void log4cpp::Category::setRootPriority | ( | Priority::Value | priority | ) | [static] |
Set the priority of the root Category.
priority | The new priority for the root Category |
Definition at line 27 of file Category.cpp.
void log4cpp::Category::shutdown | ( | ) | [static] |
This method will remove all Appenders from Categories.XXX
Definition at line 48 of file Category.cpp.
void log4cpp::Category::warn | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with warn priority.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
Definition at line 333 of file Category.cpp.
void log4cpp::Category::warn | ( | const std::string & | message | ) | throw () |
Log a message with warn priority.
message | string to write in the log file |
Definition at line 342 of file Category.cpp.
CategoryStream log4cpp::Category::warnStream | ( | ) | [inline] |
Return a CategoryStream with priority WARN.
Definition at line 420 of file Category.hh.
friend class HierarchyMaintainer [friend] |
Definition at line 34 of file Category.hh.
AppenderSet log4cpp::Category::_appender [private] |
Definition at line 652 of file Category.hh.
threading::Mutex log4cpp::Category::_appenderSetMutex [mutable, private] |
Definition at line 653 of file Category.hh.
volatile bool log4cpp::Category::_isAdditive [private] |
Additivity is set to true by default, i.e. a child inherits its ancestor's appenders by default.
Definition at line 666 of file Category.hh.
const std::string log4cpp::Category::_name [private] |
The name of this category.
Definition at line 628 of file Category.hh.
Whether the category holds the ownership of the appender. If so, it deletes the appender in its destructor.
Definition at line 660 of file Category.hh.
Category* log4cpp::Category::_parent [private] |
The parent of this category. All categories have al least one ancestor which is the root category.
Definition at line 634 of file Category.hh.
volatile Priority::Value log4cpp::Category::_priority [private] |
The assigned priority of this category.
Definition at line 639 of file Category.hh.