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. More...
 
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. More...
 
CLAW_LOGGER_EXPORT void remove (const stream_type *s)
 Remove a stream. More...
 
CLAW_LOGGER_EXPORT void set (stream_type *s)
 Set the output stream. More...
 
CLAW_LOGGER_EXPORT void set_level (int lvl)
 Change the level of log. More...
 
CLAW_LOGGER_EXPORT void set_level (const log_level &lvl)
 Change the level of log. More...
 
CLAW_LOGGER_EXPORT void flush ()
 Flush all log streams.
 
template<typename T >
log_systemoperator<< (const T &that)
 
CLAW_LOGGER_EXPORT log_systemoperator<< (const log_level &that)
 Change the level of the next mesasges. More...
 
CLAW_LOGGER_EXPORT log_systemoperator<< (log_system &(*pf)(log_system &))
 Apply a stream modifier function to the log_system. More...
 

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

◆ log_system()

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

◆ merge()

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.

◆ operator<<() [1/2]

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().

◆ operator<<() [2/2]

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.

◆ remove()

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.

◆ set()

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().

◆ set_level() [1/2]

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().

◆ set_level() [2/2]

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: