Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
log4cpp::Category Class Reference

#include <Category.hh>

Inheritance diagram for log4cpp::Category:
Inheritance graph
[legend]

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 AppendergetAppender () const
 
virtual AppendergetAppender (const std::string &name) const
 
virtual Priority::Value getChainedPriority () const throw ()
 
virtual const std::string & getName () const throw ()
 
virtual CategorygetParent () throw ()
 
virtual const CategorygetParent () 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 Categoryexists (const std::string &name)
 
static std::vector< Category * > * getCurrentCategories ()
 
static CategorygetInstance (const std::string &name)
 
static CategorygetRoot ()
 
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)
 
Categoryoperator= (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
 

Detailed Description

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.

Member Typedef Documentation

typedef std::map<Appender *, bool> log4cpp::Category::OwnsAppenderMap
private

Definition at line 641 of file Category.hh.

Constructor & Destructor Documentation

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

Parameters
namethe fully qualified name of this Category
parentthe parent of this parent, or NULL for the root Category
prioritythe priority for this Category. Defaults to Priority::NOTSET

Definition at line 52 of file Category.cpp.

log4cpp::Category::Category ( const Category other)
private

Member Function Documentation

void log4cpp::Category::_logUnconditionally ( Priority::Value  priority,
const char *  format,
va_list  arguments 
)
throw (
)
protectedvirtual

Definition at line 251 of file Category.cpp.

void log4cpp::Category::_logUnconditionally2 ( Priority::Value  priority,
const std::string &  message 
)
throw (
)
protectedvirtual

Unconditionally log a message with the specified priority.

Parameters
priorityThe priority of this log message.
messagestring 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.

Since
0.2.7
Parameters
appenderThe Appender to wich this category has to log.
Exceptions
std::invalid_argumentif 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.

Since
0.2.7
Parameters
appenderThe 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.

Parameters
stringFormatFormat 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.

Parameters
messagestring 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.

Returns
The CategoryStream.

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.

Parameters
eventthe 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.

Parameters
stringFormatFormat 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.

Parameters
messagestring 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.

Returns
The CategoryStream.

Definition at line 480 of file Category.hh.

void log4cpp::Category::debug ( const char *  stringFormat,
  ... 
)
throw (
)

Log a message with debug priority.

Parameters
stringFormatFormat 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.

Parameters
messagestring 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.

Returns
The CategoryStream.

Definition at line 330 of file Category.hh.

void log4cpp::Category::emerg ( const char *  stringFormat,
  ... 
)
throw (
)

Log a message with emerg priority.

Parameters
stringFormatFormat 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.

Parameters
messagestring 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.

Returns
The CategoryStream.

Definition at line 540 of file Category.hh.

void log4cpp::Category::error ( const char *  stringFormat,
  ... 
)
throw (
)

Log a message with error priority.

Parameters
stringFormatFormat 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.

Parameters
messagestring 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.

Returns
The CategoryStream.

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.

Since
0.2.7

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'.

Since
0.2.7
Parameters
stringFormatFormat 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'.

Since
0.2.7
Parameters
messagestring 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'.

Since
0.2.7
Returns
The CategoryStream.

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.

Since
0.3.1
Returns
The set of attached Appenders.

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.

Deprecated:
use getAppender(const std::string&)
Returns
The Appender.

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.

Since
0.2.7
Returns
The Appender.

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.

Since
0.3.2. Before 0.3.2 this method returned a std::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.

Parameters
nameThe name of the category to retrieve.

Definition at line 35 of file Category.cpp.

const std::string & log4cpp::Category::getName ( ) const
throw (
)
virtual

Return the category name.

Returns
The category name.

Definition at line 63 of file Category.cpp.

Category * log4cpp::Category::getParent ( )
throw (
)
virtual

Returns the parent category of this category, or NULL if the category is the root category.

Returns
the parent 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.

Returns
the parent 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.

Returns
Priority - the assigned Priority, can be Priority::NOTSET

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 "".

Returns
The root category

Definition at line 23 of file Category.cpp.

Priority::Value log4cpp::Category::getRootPriority ( )
throw (
)
static

Get the priority of the root Category.

Returns
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.

Parameters
priorityThe Priority of the CategoryStream.
Returns
The requested CategoryStream.

Definition at line 417 of file Category.cpp.

void log4cpp::Category::info ( const char *  stringFormat,
  ... 
)
throw (
)

Log a message with info priority.

Parameters
stringFormatFormat 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.

Parameters
messagestring 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.

Returns
The CategoryStream.

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.

Returns
Whether the Category will log.

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.

Returns
Whether the Category will log.

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.

Returns
Whether the Category will log.

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.

Returns
Whether the Category will log.

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.

Returns
Whether the Category will log.

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'.

Since
0.2.7
Returns
Whether the Category will log.

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.

Returns
Whether the Category will log.

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.

Returns
Whether the Category will log.

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.

Parameters
priorityThe priority to compare with.
Returns
whether logging is enable for this priority.

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.

Returns
Whether the Category will log.

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.

Parameters
priorityThe priority of this log message.
stringFormatFormat 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.

Parameters
priorityThe priority of this log message.
messagestring 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.

Since
0.2.7
Parameters
priorityThe priority of this log message.
stringFormatFormat specifier for the string to write in the log file.
vaThe 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.

Parameters
stringFormatFormat 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.

Parameters
messagestring 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.

Returns
The CategoryStream.

Definition at line 390 of file Category.hh.

CategoryStream log4cpp::Category::operator<< ( Priority::Value  priority)
virtual

Return a CategoryStream with given Priority.

Parameters
priorityThe Priority of the CategoryStream.
Returns
The requested CategoryStream.

Definition at line 422 of file Category.cpp.

Category& log4cpp::Category::operator= ( const Category other)
private
virtual bool log4cpp::Category::ownsAppender ( ) const
throw (
)
inlinevirtual

Returns true if the Category owns the first Appender in its Appender set. In that case the Category destructor will delete the Appender.

Deprecated:
use ownsAppender(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.

Since
0.2.7

Reimplemented in log4cpp::FixedContextCategory.

Definition at line 185 of file Category.cpp.

virtual bool log4cpp::Category::ownsAppender ( Appender appender,
OwnsAppenderMap::iterator &  i2 
)
throw (
)
privatevirtual

Returns the iterator to the Appender if the Category owns the Appender. In that case the Category destructor will delete the Appender.

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.

Since
0.2.7

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.

Deprecated:
use addAppender(Appender*) or removeAllAppenders() instead.
Parameters
appenderThe 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.

Deprecated:
use addAppender(Appender&) instead.
Parameters
appenderThe 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.

Parameters
priorityThe priority to set. Use Priority::NOTSET to let the category use its parents priority as effective priority.
Exceptions
std::invalid_argumentif 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.

Parameters
priorityThe 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.

Parameters
stringFormatFormat 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.

Parameters
messagestring 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.

Returns
The CategoryStream.

Definition at line 420 of file Category.hh.

Friends And Related Function Documentation

friend class HierarchyMaintainer
friend

Definition at line 34 of file Category.hh.

Member Data Documentation

AppenderSet log4cpp::Category::_appender
private

Definition at line 652 of file Category.hh.

threading::Mutex log4cpp::Category::_appenderSetMutex
mutableprivate

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.

OwnsAppenderMap log4cpp::Category::_ownsAppender
private

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.


The documentation for this class was generated from the following files:


log4cpp
Author(s): Stephen Roderick, Bastiaan Bakker, Cedric Le Goater, Steve Ostlind, Marcel Harkema, Walter Stroebel, Glenn Scott and Tony Cheung
autogenerated on Sun Jun 23 2019 19:10:00