log4cpp  1.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
log4cpp::Category Class Reference

This is the central class in the log4j package. More...

#include <Category.hh>

Inheritance diagram for log4cpp::Category:
log4cpp::FixedContextCategory

Public Member Functions

virtual ~Category ()
 Destructor for Category. More...
 
virtual const std::string & getName () const throw ()
 Return the category name. More...
 
virtual void setPriority (Priority::Value priority) throw (std::invalid_argument)
 Set the priority of this Category. More...
 
virtual Priority::Value getPriority () const throw ()
 Returns the assigned Priority, if any, for this Category. More...
 
virtual Priority::Value getChainedPriority () const throw ()
 Starting from this Category, search the category hierarchy for a set priority and return it. More...
 
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. More...
 
virtual void addAppender (Appender *appender) throw (std::invalid_argument)
 Adds an Appender to this Category. More...
 
virtual void addAppender (Appender &appender)
 Adds an Appender for this Category. More...
 
void setAppender (Appender *appender)
 Adds an Appender to this Category. More...
 
void setAppender (Appender &appender)
 Adds an Appender for this Category. More...
 
virtual AppendergetAppender () const
 Returns the first Appender for this Category, or NULL if no Appender has been set. More...
 
virtual AppendergetAppender (const std::string &name) const
 Returns the specified Appender for this Category, or NULL if the Appender is not attached to this Category. More...
 
virtual AppenderSet getAllAppenders () const
 Returns the set of Appenders currently attached to this Catogory. More...
 
virtual void removeAllAppenders ()
 Removes all appenders for this Category. More...
 
virtual void removeAppender (Appender *appender)
 Removes specified appender for this Category. More...
 
virtual bool ownsAppender () const throw ()
 Returns true if the Category owns the first Appender in its Appender set. More...
 
virtual bool ownsAppender (Appender *appender) const throw ()
 Returns true if the Category owns the Appender. More...
 
virtual void callAppenders (const LoggingEvent &event) throw ()
 Call the appenders in the hierarchy starting at this. More...
 
virtual void setAdditivity (bool additivity)
 Set the additivity flag for this Category instance. More...
 
virtual bool getAdditivity () const throw ()
 Returns the additivity flag for this Category instance. More...
 
virtual CategorygetParent () throw ()
 Returns the parent category of this category, or NULL if the category is the root category. More...
 
virtual const CategorygetParent () const throw ()
 Returns the parent category of this category, or NULL if the category is the root category. More...
 
virtual void log (Priority::Value priority, const char *stringFormat,...) throw ()
 Log a message with the specified priority. More...
 
virtual void log (Priority::Value priority, const std::string &message) throw ()
 Log a message with the specified priority. More...
 
virtual void logva (Priority::Value priority, const char *stringFormat, va_list va) throw ()
 Log a message with the specified priority. More...
 
void debug (const char *stringFormat,...) throw ()
 Log a message with debug priority. More...
 
void debug (const std::string &message) throw ()
 Log a message with debug priority. More...
 
bool isDebugEnabled () const throw ()
 Return true if the Category will log messages with priority DEBUG. More...
 
CategoryStream debugStream ()
 Return a CategoryStream with priority DEBUG. More...
 
void info (const char *stringFormat,...) throw ()
 Log a message with info priority. More...
 
void info (const std::string &message) throw ()
 Log a message with info priority. More...
 
bool isInfoEnabled () const throw ()
 Return true if the Category will log messages with priority INFO. More...
 
CategoryStream infoStream ()
 Return a CategoryStream with priority INFO. More...
 
void notice (const char *stringFormat,...) throw ()
 Log a message with notice priority. More...
 
void notice (const std::string &message) throw ()
 Log a message with notice priority. More...
 
bool isNoticeEnabled () const throw ()
 Return true if the Category will log messages with priority NOTICE. More...
 
CategoryStream noticeStream ()
 Return a CategoryStream with priority NOTICE. More...
 
void warn (const char *stringFormat,...) throw ()
 Log a message with warn priority. More...
 
void warn (const std::string &message) throw ()
 Log a message with warn priority. More...
 
bool isWarnEnabled () const throw ()
 Return true if the Category will log messages with priority WARN. More...
 
CategoryStream warnStream ()
 Return a CategoryStream with priority WARN. More...
 
void error (const char *stringFormat,...) throw ()
 Log a message with error priority. More...
 
void error (const std::string &message) throw ()
 Log a message with error priority. More...
 
bool isErrorEnabled () const throw ()
 Return true if the Category will log messages with priority ERROR. More...
 
CategoryStream errorStream ()
 Return a CategoryStream with priority ERROR. More...
 
void crit (const char *stringFormat,...) throw ()
 Log a message with crit priority. More...
 
void crit (const std::string &message) throw ()
 Log a message with crit priority. More...
 
bool isCritEnabled () const throw ()
 Return true if the Category will log messages with priority CRIT. More...
 
CategoryStream critStream ()
 Return a CategoryStream with priority CRIT. More...
 
void alert (const char *stringFormat,...) throw ()
 Log a message with alert priority. More...
 
void alert (const std::string &message) throw ()
 Log a message with alert priority. More...
 
bool isAlertEnabled () const throw ()
 Return true if the Category will log messages with priority ALERT. More...
 
CategoryStream alertStream () throw ()
 Return a CategoryStream with priority ALERT. More...
 
void emerg (const char *stringFormat,...) throw ()
 Log a message with emerg priority. More...
 
void emerg (const std::string &message) throw ()
 Log a message with emerg priority. More...
 
bool isEmergEnabled () const throw ()
 Return true if the Category will log messages with priority EMERG. More...
 
CategoryStream emergStream ()
 Return a CategoryStream with priority EMERG. More...
 
void fatal (const char *stringFormat,...) throw ()
 Log a message with fatal priority. More...
 
void fatal (const std::string &message) throw ()
 Log a message with fatal priority. More...
 
bool isFatalEnabled () const throw ()
 Return true if the Category will log messages with priority FATAL. More...
 
CategoryStream fatalStream ()
 Return a CategoryStream with priority FATAL. More...
 
virtual CategoryStream getStream (Priority::Value priority)
 Return a CategoryStream with given Priority. More...
 
virtual CategoryStream operator<< (Priority::Value priority)
 Return a CategoryStream with given Priority. More...
 

Static Public Member Functions

static CategorygetRoot ()
 Return the root of the Category hierarchy. More...
 
static void setRootPriority (Priority::Value priority)
 Set the priority of the root Category. More...
 
static Priority::Value getRootPriority () throw ()
 Get the priority of the root Category. More...
 
static CategorygetInstance (const std::string &name)
 Instantiate a Category with name name. More...
 
static Categoryexists (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. More...
 
static std::vector< Category * > * getCurrentCategories ()
 Returns all the currently defined categories as a vector of Category pointers. More...
 
static void shutdown ()
 This method will remove all Appenders from Categories.XXX. More...
 

Protected Member Functions

 Category (const std::string &name, Category *parent, Priority::Value priority=Priority::NOTSET)
 Constructor. More...
 
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. More...
 

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.

Constructor & Destructor Documentation

log4cpp::Category::~Category ( )
virtual

Destructor for Category.

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

Member Function Documentation

void log4cpp::Category::_logUnconditionally ( Priority::Value  priority,
const char *  format,
va_list  arguments 
)
throw (
)
protectedvirtual
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.

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.

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.

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
void log4cpp::Category::alert ( const std::string &  message)
throw (
)

Log a message with alert priority.

Parameters
messagestring to write in the log file
CategoryStream log4cpp::Category::alertStream ( )
throw (
)
inline

Return a CategoryStream with priority ALERT.

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

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
void log4cpp::Category::crit ( const std::string &  message)
throw (
)

Log a message with crit priority.

Parameters
messagestring to write in the log file
CategoryStream log4cpp::Category::critStream ( )
inline

Return a CategoryStream with priority CRIT.

Returns
The CategoryStream.
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
void log4cpp::Category::debug ( const std::string &  message)
throw (
)

Log a message with debug priority.

Parameters
messagestring to write in the log file
CategoryStream log4cpp::Category::debugStream ( )
inline

Return a CategoryStream with priority DEBUG.

Returns
The CategoryStream.
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
void log4cpp::Category::emerg ( const std::string &  message)
throw (
)

Log a message with emerg priority.

Parameters
messagestring to write in the log file
CategoryStream log4cpp::Category::emergStream ( )
inline

Return a CategoryStream with priority EMERG.

Returns
The CategoryStream.
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
void log4cpp::Category::error ( const std::string &  message)
throw (
)

Log a message with error priority.

Parameters
messagestring to write in the log file
CategoryStream log4cpp::Category::errorStream ( )
inline

Return a CategoryStream with priority ERROR.

Returns
The CategoryStream.
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
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
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
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.
bool log4cpp::Category::getAdditivity ( ) const
throw (
)
virtual

Returns the additivity flag for this Category instance.

Reimplemented in log4cpp::FixedContextCategory.

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.

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.

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.

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.

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
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.
const std::string & log4cpp::Category::getName ( ) const
throw (
)
virtual

Return the category name.

Returns
The category name.
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.
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.
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.

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
Priority::Value log4cpp::Category::getRootPriority ( )
throw (
)
static

Get the priority of the root Category.

Returns
the priority of the root category
CategoryStream log4cpp::Category::getStream ( Priority::Value  priority)
virtual

Return a CategoryStream with given Priority.

Parameters
priorityThe Priority of the CategoryStream.
Returns
The requested CategoryStream.
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
void log4cpp::Category::info ( const std::string &  message)
throw (
)

Log a message with info priority.

Parameters
messagestring to write in the log file
CategoryStream log4cpp::Category::infoStream ( )
inline

Return a CategoryStream with priority INFO.

Returns
The CategoryStream.
bool log4cpp::Category::isAlertEnabled ( ) const
throw (
)
inline

Return true if the Category will log messages with priority ALERT.

Returns
Whether the Category will log.
bool log4cpp::Category::isCritEnabled ( ) const
throw (
)
inline

Return true if the Category will log messages with priority CRIT.

Returns
Whether the Category will log.
bool log4cpp::Category::isDebugEnabled ( ) const
throw (
)
inline

Return true if the Category will log messages with priority DEBUG.

Returns
Whether the Category will log.
bool log4cpp::Category::isEmergEnabled ( ) const
throw (
)
inline

Return true if the Category will log messages with priority EMERG.

Returns
Whether the Category will log.
bool log4cpp::Category::isErrorEnabled ( ) const
throw (
)
inline

Return true if the Category will log messages with priority ERROR.

Returns
Whether the Category will log.
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.
bool log4cpp::Category::isInfoEnabled ( ) const
throw (
)
inline

Return true if the Category will log messages with priority INFO.

Returns
Whether the Category will log.
bool log4cpp::Category::isNoticeEnabled ( ) const
throw (
)
inline

Return true if the Category will log messages with priority NOTICE.

Returns
Whether the Category will log.
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.
bool log4cpp::Category::isWarnEnabled ( ) const
throw (
)
inline

Return true if the Category will log messages with priority WARN.

Returns
Whether the Category will log.
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
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
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.
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
void log4cpp::Category::notice ( const std::string &  message)
throw (
)

Log a message with notice priority.

Parameters
messagestring to write in the log file
CategoryStream log4cpp::Category::noticeStream ( )
inline

Return a CategoryStream with priority NOTICE.

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

Return a CategoryStream with given Priority.

Parameters
priorityThe Priority of the CategoryStream.
Returns
The requested CategoryStream.
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.

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.

void log4cpp::Category::removeAllAppenders ( )
virtual

Removes all appenders for this Category.

Reimplemented in log4cpp::FixedContextCategory.

void log4cpp::Category::removeAppender ( Appender appender)
virtual

Removes specified appender for this Category.

Since
0.2.7
void log4cpp::Category::setAdditivity ( bool  additivity)
virtual

Set the additivity flag for this Category instance.

Reimplemented in log4cpp::FixedContextCategory.

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.
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.
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.
void log4cpp::Category::setRootPriority ( Priority::Value  priority)
static

Set the priority of the root Category.

Parameters
priorityThe new priority for the root Category
void log4cpp::Category::shutdown ( )
static

This method will remove all Appenders from Categories.XXX.

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
void log4cpp::Category::warn ( const std::string &  message)
throw (
)

Log a message with warn priority.

Parameters
messagestring to write in the log file
CategoryStream log4cpp::Category::warnStream ( )
inline

Return a CategoryStream with priority WARN.

Returns
The CategoryStream.

Friends And Related Function Documentation

friend class HierarchyMaintainer
friend

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