Claw  1.7.3
Public Types | Public Member Functions | List of all members
claw::log_system Class Reference

A class implementing a logging system. More...

#include <logger.hpp>

Public Types

typedef log_stream stream_type
typedef std::list< stream_type * > stream_list_type

Public Member Functions

CLAW_LOGGER_EXPORT log_system ()
 Default constructor.
CLAW_LOGGER_EXPORT ~log_system ()
 Destructor.
CLAW_LOGGER_EXPORT void clear ()
 Delete the streams.
CLAW_LOGGER_EXPORT void merge (stream_type *s)
 Add an other output stream.
CLAW_LOGGER_EXPORT void remove (const stream_type *s)
 Remove a stream.
CLAW_LOGGER_EXPORT void set (stream_type *s)
 Set the output stream.
CLAW_LOGGER_EXPORT void set_level (int lvl)
 Change the level of log.
CLAW_LOGGER_EXPORT void set_level (const log_level &lvl)
 Change the level of log.
CLAW_LOGGER_EXPORT void flush ()
 Flush all log streams.
template<typename T >
log_systemoperator<< (const T &that)
 Log something.
CLAW_LOGGER_EXPORT log_systemoperator<< (const log_level &that)
 Change the level of the next mesasges.
CLAW_LOGGER_EXPORT log_systemoperator<< (log_system &(*pf)(log_system &))
 Apply a stream modifier function to the log_system.

Detailed Description

A class implementing a logging system.

Messages are sent to the log system. If the importance (level) of a message is lower or equal to a given threshold, the message is printed. Otherwise, it is ignored.

Message printing is managed by log_stream classes. The logger_system can contain several log_stream. None checking is done when adding a log_stream to see if it is already in the system.

Author
Julien Jorge

Definition at line 71 of file logger.hpp.

Constructor & Destructor Documentation

claw::log_system::log_system ( )

Default constructor.

The logger is initialized with a console logger.

Definition at line 46 of file logger.cpp.

Member Function Documentation

void claw::log_system::merge ( stream_type s)

Add an other output stream.

Parameters
sDynamicaly allocated logger_stream.

Definition at line 80 of file logger.cpp.

template<class T >
claw::log_system & claw::log_system::operator<< ( const T &  t)

Log something.

Parameters
tThe thing to log...
Remarks
T must support operator<<(std::ostream&, const T&);

Definition at line 39 of file logger.tpp.

claw::log_system & claw::log_system::operator<< ( const log_level that)

Change the level of the next mesasges.

Parameters
thatThe new level.

Definition at line 151 of file logger.cpp.

References claw::log_level::get(), and claw::log_level::get_string().

claw::log_system & claw::log_system::operator<< ( log_system &(*)(log_system &)  pf)

Apply a stream modifier function to the log_system.

Parameters
pfThe function to apply.

Definition at line 167 of file logger.cpp.

void claw::log_system::remove ( const stream_type s)

Remove a stream.

Parameters
sThe stream to remove.
Remarks
The search is done on the address of the pointer s.

Definition at line 91 of file logger.cpp.

void claw::log_system::set ( stream_type s)

Set the output stream.

Parameters
sDynamicaly allocated logger_stream.

Definition at line 105 of file logger.cpp.

Referenced by claw::application::application().

void claw::log_system::set_level ( int  lvl)

Change the level of log.

Parameters
lvlNew level.

Definition at line 116 of file logger.cpp.

Referenced by claw::application::application().

void claw::log_system::set_level ( const log_level lvl)

Change the level of log.

Parameters
lvlNew level.

Definition at line 126 of file logger.cpp.

References claw::log_level::get().


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