This is the central class in the log4j package. More...
#include <Category.hh>
Public Member Functions | |
virtual void | addAppender (Appender *appender) |
Adds an Appender to this Category. | |
virtual void | addAppender (Appender &appender) |
Adds an Appender for this Category. | |
void | alert (const char *stringFormat,...) throw () |
Log a message with alert priority. | |
void | alert (const std::string &message) throw () |
Log a message with alert priority. | |
CategoryStream | alertStream () throw () |
Return a CategoryStream with priority ALERT. | |
virtual void | callAppenders (const LoggingEvent &event) throw () |
Call the appenders in the hierarchy starting at this . | |
void | crit (const char *stringFormat,...) throw () |
Log a message with crit priority. | |
void | crit (const std::string &message) throw () |
Log a message with crit priority. | |
CategoryStream | critStream () |
Return a CategoryStream with priority CRIT. | |
void | debug (const char *stringFormat,...) throw () |
Log a message with debug priority. | |
void | debug (const std::string &message) throw () |
Log a message with debug priority. | |
CategoryStream | debugStream () |
Return a CategoryStream with priority DEBUG. | |
void | emerg (const char *stringFormat,...) throw () |
Log a message with emerg priority. | |
void | emerg (const std::string &message) throw () |
Log a message with emerg priority. | |
CategoryStream | emergStream () |
Return a CategoryStream with priority EMERG. | |
void | error (const char *stringFormat,...) throw () |
Log a message with error priority. | |
void | error (const std::string &message) throw () |
Log a message with error priority. | |
CategoryStream | errorStream () |
Return a CategoryStream with priority ERROR. | |
void | fatal (const char *stringFormat,...) throw () |
Log a message with fatal priority. | |
void | fatal (const std::string &message) throw () |
Log a message with fatal priority. | |
CategoryStream | fatalStream () |
Return a CategoryStream with priority FATAL. | |
virtual bool | getAdditivity () const throw () |
Returns the additivity flag for this Category instance. | |
virtual AppenderSet | getAllAppenders () const |
Returns the set of Appenders currently attached to this Catogory. | |
virtual Appender * | getAppender () const |
Returns the first Appender for this Category, or NULL if no Appender has been set. | |
virtual Appender * | getAppender (const std::string &name) const |
Returns the specified Appender for this Category, or NULL if the Appender is not attached to this Category. | |
virtual Priority::Value | getChainedPriority () const throw () |
Starting from this Category, search the category hierarchy for a set priority and return it. | |
virtual const std::string & | getName () const throw () |
Return the category name. | |
virtual Category * | getParent () throw () |
Returns the parent category of this category, or NULL if the category is the root category. | |
virtual const Category * | getParent () const throw () |
Returns the parent category of this category, or NULL if the category is the root category. | |
virtual Priority::Value | getPriority () const throw () |
Returns the assigned Priority, if any, for this Category. | |
virtual CategoryStream | getStream (Priority::Value priority) |
Return a CategoryStream with given Priority. | |
void | info (const char *stringFormat,...) throw () |
Log a message with info priority. | |
void | info (const std::string &message) throw () |
Log a message with info priority. | |
void | info_pop (const char *stringFormat,...) throw () |
Log a message with info priority & pops an indentation to the NDC stack. | |
void | info_push (const char *stringFormat,...) throw () |
Log a message with info priority & pushes an indentation to the NDC stack. | |
CategoryStream | infoStream () |
Return a CategoryStream with priority INFO. | |
bool | isAlertEnabled () const throw () |
Return true if the Category will log messages with priority ALERT. | |
bool | isCritEnabled () const throw () |
Return true if the Category will log messages with priority CRIT. | |
bool | isDebugEnabled () throw () |
Return true if the Category will log messages with priority DEBUG. | |
bool | isEmergEnabled () const throw () |
Return true if the Category will log messages with priority EMERG. | |
bool | isErrorEnabled () const throw () |
Return true if the Category will log messages with priority ERROR. | |
bool | isFatalEnabled () const throw () |
Return true if the Category will log messages with priority FATAL. | |
bool | isInfoEnabled () throw () |
Return true if the Category will log messages with priority INFO. | |
bool | isNoticeEnabled () const throw () |
Return true if the Category will log messages with priority NOTICE. | |
virtual bool | isPriorityEnabled (Priority::Value priority) const throw () |
Returns true if the chained priority of the Category is equal to or higher than given priority. | |
bool | isWarnEnabled () throw () |
Return true if the Category will log messages with priority WARN. | |
virtual void | log (Priority::Value priority, const char *stringFormat,...) throw () |
Log a message with the specified priority. | |
virtual void | log (Priority::Value priority, const std::string &message) throw () |
Log a message with the specified priority. | |
virtual void | logva (Priority::Value priority, const char *stringFormat, va_list va) throw () |
Log a message with the specified priority. | |
void | notice (const char *stringFormat,...) throw () |
Log a message with notice priority. | |
void | notice (const std::string &message) throw () |
Log a message with notice priority. | |
CategoryStream | noticeStream () |
Return a CategoryStream with priority NOTICE. | |
virtual CategoryStream | operator<< (Priority::Value priority) |
Return a CategoryStream with given Priority. | |
virtual bool | ownsAppender () const throw () |
Returns true if the Category owns the first Appender in its Appender set. | |
virtual bool | ownsAppender (Appender *appender) const throw () |
Returns true if the Category owns the Appender. | |
virtual void | removeAllAppenders () |
Removes all appenders for this Category. | |
virtual void | removeAppender (Appender *appender) |
Removes specified appender for this Category. | |
virtual void | setAdditivity (bool additivity) |
Set the additivity flag for this Category instance. | |
void | setAppender (Appender *appender) |
Adds an Appender to this Category. | |
void | setAppender (Appender &appender) |
Adds an Appender for this Category. | |
virtual void | setPriority (Priority::Value priority) |
Set the priority of this Category. | |
void | warn (const char *stringFormat,...) throw () |
Log a message with warn priority. | |
void | warn (const std::string &message) throw () |
Log a message with warn priority. | |
CategoryStream | warnStream () |
Return a CategoryStream with priority WARN. | |
virtual | ~Category () |
Destructor for Category. | |
Static Public Member Functions | |
static Category * | exists (const std::string &name) |
If the named category exists (in the default hierarchy) then it returns a reference to the category, otherwise it returns NULL. | |
static std::vector< Category * > * | getCurrentCategories () |
Returns all the currently defined categories as a vector of Category pointers. | |
static Category & | getInstance (const std::string &name) |
Instantiate a Category with name name . | |
static Category & | getRoot () |
Return the root of the Category hierarchy. | |
static Priority::Value | getRootPriority () throw () |
Get the priority of the root Category. | |
static void | setRootPriority (Priority::Value priority) |
Set the priority of the root Category. | |
static void | shutdown () |
This method will remove all Appenders from Categories.XXX. | |
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 () |
Unconditionally log a message with the specified priority. | |
Category (const std::string &name, Category *parent, Priority::Value priority=Priority::NOTSET) | |
Constructor. | |
Private Types | |
typedef std::map< Appender *, bool > | OwnsAppenderMap |
Private Member Functions | |
Category (const Category &other) | |
void | InvalidateEnabledCache (bool InvalidateAll=true) |
Invalidates the enabled caches for the different priorities. | |
Category & | operator= (const Category &other) |
virtual bool | ownsAppender (Appender *appender, OwnsAppenderMap::iterator &i2) throw () |
Returns the iterator to the Appender if the Category owns the Appender. | |
Private Attributes | |
AppenderSet | _appender |
threading::Mutex | _appenderSetMutex |
bool | _DebugEnabled |
Indicates that logging is enabled for Info level. | |
bool | _InfoEnabled |
Indicates that logging is enabled for Info level. | |
volatile bool | _isAdditive |
Additivity is set to true by default, i.e. | |
const std::string | _name |
The name of this category. | |
OwnsAppenderMap | _ownsAppender |
Whether the category holds the ownership of the appender. | |
Category * | _parent |
The parent of this category. | |
volatile Priority::Value | _priority |
The assigned priority of this category. | |
bool | _ValidDebugEnabledCache |
Indicates if the *Enabled flags are valid. | |
bool | _ValidInfoEnabledCache |
Indicates if the *Enabled flags are valid. | |
bool | _ValidWarnEnabledCache |
Indicates if the *Enabled flags are valid. | |
bool | _WarnEnabled |
Indicates that logging is enabled for Info level. | |
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 34 of file Category.hh.
typedef std::map<Appender *, bool> Category::OwnsAppenderMap [private] |
Definition at line 673 of file Category.hh.
virtual Category::~Category | ( | ) | [virtual] |
Destructor for Category.
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 |
Category::Category | ( | const Category & | other | ) | [private] |
virtual void Category::_logUnconditionally | ( | Priority::Value | priority, |
const char * | format, | ||
va_list | arguments | ||
) | throw () [protected, virtual] |
virtual void 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 FixedContextCategory.
virtual void Category::addAppender | ( | Appender * | appender | ) | [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. |
GenICam::InvalidArgumentException | if the appender is NULL. |
Reimplemented in FixedContextCategory.
virtual void 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 FixedContextCategory.
void 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 |
void Category::alert | ( | const std::string & | message | ) | throw () |
Log a message with alert priority.
message | string to write in the log file |
CategoryStream Category::alertStream | ( | ) | throw () [inline] |
Return a CategoryStream with priority ALERT.
Definition at line 542 of file Category.hh.
virtual void 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 FixedContextCategory.
void 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 |
void Category::crit | ( | const std::string & | message | ) | throw () |
Log a message with crit priority.
message | string to write in the log file |
CategoryStream Category::critStream | ( | ) | [inline] |
Return a CategoryStream with priority CRIT.
Definition at line 512 of file Category.hh.
void 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 |
void Category::debug | ( | const std::string & | message | ) | throw () |
Log a message with debug priority.
message | string to write in the log file |
CategoryStream Category::debugStream | ( | ) | [inline] |
Return a CategoryStream with priority DEBUG.
Definition at line 336 of file Category.hh.
void 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 |
void Category::emerg | ( | const std::string & | message | ) | throw () |
Log a message with emerg priority.
message | string to write in the log file |
CategoryStream Category::emergStream | ( | ) | [inline] |
Return a CategoryStream with priority EMERG.
Definition at line 572 of file Category.hh.
void 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 |
void Category::error | ( | const std::string & | message | ) | throw () |
Log a message with error priority.
message | string to write in the log file |
CategoryStream Category::errorStream | ( | ) | [inline] |
Return a CategoryStream with priority ERROR.
Definition at line 482 of file Category.hh.
static Category* 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.
void 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 |
void 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 |
CategoryStream Category::fatalStream | ( | ) | [inline] |
Return a CategoryStream with priority FATAL.
NB. priority 'fatal' is equivalent to 'emerg'.
Definition at line 610 of file Category.hh.
virtual bool Category::getAdditivity | ( | ) | const throw () [virtual] |
Returns the additivity flag for this Category instance.
Reimplemented in FixedContextCategory.
virtual AppenderSet Category::getAllAppenders | ( | ) | const [virtual] |
Returns the set of Appenders currently attached to this Catogory.
Reimplemented in FixedContextCategory.
virtual Appender* Category::getAppender | ( | ) | const [virtual] |
Returns the first Appender for this Category, or NULL if no Appender has been set.
Reimplemented in FixedContextCategory.
virtual Appender* Category::getAppender | ( | const std::string & | name | ) | const [virtual] |
virtual Priority::Value 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 FixedContextCategory.
static std::vector<Category*>* 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.
static Category& 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. |
virtual const std::string& Category::getName | ( | ) | const throw () [virtual] |
Return the category name.
virtual Category* Category::getParent | ( | ) | throw () [virtual] |
Returns the parent category of this category, or NULL if the category is the root category.
virtual const Category* Category::getParent | ( | ) | const throw () [virtual] |
Returns the parent category of this category, or NULL if the category is the root category.
virtual Priority::Value Category::getPriority | ( | ) | const throw () [virtual] |
Returns the assigned Priority, if any, for this Category.
Reimplemented in FixedContextCategory.
static Category& 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 "".
static Priority::Value Category::getRootPriority | ( | ) | throw () [static] |
Get the priority of the root
Category.
virtual CategoryStream Category::getStream | ( | Priority::Value | priority | ) | [virtual] |
Return a CategoryStream with given Priority.
priority | The Priority of the CategoryStream. |
void 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 |
void Category::info | ( | const std::string & | message | ) | throw () |
Log a message with info priority.
message | string to write in the log file |
void Category::info_pop | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with info priority & pops an indentation to the NDC stack.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
void Category::info_push | ( | const char * | stringFormat, |
... | |||
) | throw () |
Log a message with info priority & pushes an indentation to the NDC stack.
stringFormat | Format specifier for the string to write in the log file. |
... | The arguments for stringFormat |
CategoryStream Category::infoStream | ( | ) | [inline] |
Return a CategoryStream with priority INFO.
Definition at line 387 of file Category.hh.
void Category::InvalidateEnabledCache | ( | bool | InvalidateAll = true | ) | [private] |
Invalidates the enabled caches for the different priorities.
bool Category::isAlertEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority ALERT.
Definition at line 534 of file Category.hh.
bool Category::isCritEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority CRIT.
Definition at line 504 of file Category.hh.
bool Category::isDebugEnabled | ( | ) | throw () [inline] |
Return true if the Category will log messages with priority DEBUG.
Definition at line 323 of file Category.hh.
bool Category::isEmergEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority EMERG.
Definition at line 564 of file Category.hh.
bool Category::isErrorEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority ERROR.
Definition at line 474 of file Category.hh.
bool 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 600 of file Category.hh.
bool Category::isInfoEnabled | ( | ) | throw () [inline] |
Return true if the Category will log messages with priority INFO.
Definition at line 374 of file Category.hh.
bool Category::isNoticeEnabled | ( | ) | const throw () [inline] |
Return true if the Category will log messages with priority NOTICE.
Definition at line 409 of file Category.hh.
virtual bool 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. |
bool Category::isWarnEnabled | ( | ) | throw () [inline] |
Return true if the Category will log messages with priority WARN.
Definition at line 439 of file Category.hh.
virtual void 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 |
virtual void 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 |
virtual void 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. |
void 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 |
void Category::notice | ( | const std::string & | message | ) | throw () |
Log a message with notice priority.
message | string to write in the log file |
CategoryStream Category::noticeStream | ( | ) | [inline] |
Return a CategoryStream with priority NOTICE.
Definition at line 417 of file Category.hh.
virtual CategoryStream Category::operator<< | ( | Priority::Value | priority | ) | [virtual] |
Return a CategoryStream with given Priority.
priority | The Priority of the CategoryStream. |
virtual bool 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 FixedContextCategory.
Definition at line 227 of file Category.hh.
virtual bool 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 FixedContextCategory.
virtual bool Category::ownsAppender | ( | Appender * | appender, |
OwnsAppenderMap::iterator & | i2 | ||
) | throw () [private, virtual] |
virtual void Category::removeAllAppenders | ( | ) | [virtual] |
Removes all appenders for this Category.
Reimplemented in FixedContextCategory.
virtual void Category::removeAppender | ( | Appender * | appender | ) | [virtual] |
Removes specified appender for this Category.
virtual void Category::setAdditivity | ( | bool | additivity | ) | [virtual] |
Set the additivity flag for this Category instance.
Reimplemented in FixedContextCategory.
void 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 169 of file Category.hh.
void 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 183 of file Category.hh.
virtual void Category::setPriority | ( | Priority::Value | priority | ) | [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. |
static void Category::setRootPriority | ( | Priority::Value | priority | ) | [static] |
static void Category::shutdown | ( | ) | [static] |
This method will remove all Appenders from Categories.XXX.
void 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 |
void Category::warn | ( | const std::string & | message | ) | throw () |
Log a message with warn priority.
message | string to write in the log file |
CategoryStream Category::warnStream | ( | ) | [inline] |
Return a CategoryStream with priority WARN.
Definition at line 452 of file Category.hh.
friend class HierarchyMaintainer [friend] |
Definition at line 35 of file Category.hh.
AppenderSet Category::_appender [private] |
Definition at line 684 of file Category.hh.
threading::Mutex Category::_appenderSetMutex [mutable, private] |
Definition at line 685 of file Category.hh.
bool Category::_DebugEnabled [private] |
Indicates that logging is enabled for Info level.
Definition at line 710 of file Category.hh.
bool Category::_InfoEnabled [private] |
Indicates that logging is enabled for Info level.
Definition at line 704 of file Category.hh.
volatile bool Category::_isAdditive [private] |
Additivity is set to true by default, i.e.
a child inherits its ancestor's appenders by default.
Definition at line 698 of file Category.hh.
const std::string Category::_name [private] |
The name of this category.
Definition at line 660 of file Category.hh.
OwnsAppenderMap Category::_ownsAppender [private] |
Whether the category holds the ownership of the appender.
If so, it deletes the appender in its destructor.
Definition at line 692 of file Category.hh.
Category* Category::_parent [private] |
The parent of this category.
All categories have al least one ancestor which is the root category.
Definition at line 666 of file Category.hh.
volatile Priority::Value Category::_priority [private] |
The assigned priority of this category.
Definition at line 671 of file Category.hh.
bool Category::_ValidDebugEnabledCache [private] |
Indicates if the *Enabled flags are valid.
Definition at line 707 of file Category.hh.
bool Category::_ValidInfoEnabledCache [private] |
Indicates if the *Enabled flags are valid.
Definition at line 701 of file Category.hh.
bool Category::_ValidWarnEnabledCache [private] |
Indicates if the *Enabled flags are valid.
Definition at line 713 of file Category.hh.
bool Category::_WarnEnabled [private] |
Indicates that logging is enabled for Info level.
Definition at line 716 of file Category.hh.