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_system & | operator<< (const T &that) |
CLAW_LOGGER_EXPORT log_system & | operator<< (const log_level &that) |
Change the level of the next mesasges. | |
CLAW_LOGGER_EXPORT log_system & | operator<< (log_system &(*pf)(log_system &)) |
Apply a stream modifier function to the log_system. | |
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.
Definition at line 72 of file logger.hpp.
typedef std::list<stream_type*> claw::log_system::stream_list_type |
Definition at line 76 of file logger.hpp.
Definition at line 75 of file logger.hpp.
claw::log_system::log_system | ( | ) |
Default constructor.
The logger is initialized with a console logger.
Definition at line 45 of file logger.cpp.
claw::log_system::~log_system | ( | ) |
Destructor.
Definition at line 53 of file logger.cpp.
void claw::log_system::clear | ( | ) |
Delete the streams.
Definition at line 61 of file logger.cpp.
void claw::log_system::flush | ( | ) |
Flush all log streams.
Definition at line 138 of file logger.cpp.
void claw::log_system::merge | ( | stream_type * | s | ) |
Add an other output stream.
s | Dynamicaly allocated logger_stream. |
Definition at line 77 of file logger.cpp.
claw::log_system & claw::log_system::operator<< | ( | const log_level & | that | ) |
Change the level of the next mesasges.
that | The new level. |
Definition at line 155 of file logger.cpp.
claw::log_system & claw::log_system::operator<< | ( | log_system &(* | pf )(log_system &) | ) |
Apply a stream modifier function to the log_system.
pf | The function to apply. |
Definition at line 171 of file logger.cpp.
void claw::log_system::remove | ( | const stream_type * | s | ) |
Remove a stream.
s | The stream to remove. |
Definition at line 89 of file logger.cpp.
void claw::log_system::set | ( | stream_type * | s | ) |
Set the output stream.
s | Dynamicaly allocated logger_stream. |
Definition at line 104 of file logger.cpp.
void claw::log_system::set_level | ( | const log_level & | lvl | ) |
void claw::log_system::set_level | ( | int | lvl | ) |