RSC
0.17.1
|
A proxy to an instance of Logger, which provides the same interface but allows to exchange the underlying logger at runtime. More...
#include <LoggerProxy.h>
Classes | |
class | SetLevelCallback |
Interface for callbacks which are invoked when someone calls setLevel on this proxy. More... | |
Public Types | |
typedef boost::shared_ptr< SetLevelCallback > | SetLevelCallbackPtr |
Public Types inherited from rsc::logging::Logger | |
enum | Level { LEVEL_ALL = 0x11111111, LEVEL_TRACE = 60, LEVEL_DEBUG = 50, LEVEL_INFO = 40, LEVEL_WARN = 30, LEVEL_ERROR = 20, LEVEL_FATAL = 10, LEVEL_OFF = 0 } |
Possible logging levels. More... | |
Public Member Functions | |
LoggerProxy (LoggerPtr logger, SetLevelCallbackPtr callback) | |
Constructor. More... | |
virtual | ~LoggerProxy () |
LoggerPtr | getLogger () const |
Returns the hidden logger behind this proxy. More... | |
void | setLogger (LoggerPtr logger) |
(Re-)Sets the logger to be hidden behind this proxy. More... | |
logger interface | |
virtual Logger::Level | getLevel () const |
Returns the currently defined level of the logger. More... | |
virtual void | setLevel (const Logger::Level &level) |
Defines the level of the logger. More... | |
virtual std::string | getName () const |
Returns the hierarchical name of the logger. More... | |
virtual void | setName (const std::string &name) |
Sets the name of the logger. More... | |
virtual void | log (const Logger::Level &level, const std::string &msg) |
Logs a message with the given level if it is enabled. More... | |
Public Member Functions inherited from rsc::logging::Logger | |
virtual | ~Logger () |
virtual void | trace (const std::string &msg) |
Logs a message with trace logging level if this level is enabled. More... | |
virtual void | debug (const std::string &msg) |
Logs a message with debug logging level if this level is enabled. More... | |
virtual void | info (const std::string &msg) |
Logs a message with info logging level if this level is enabled. More... | |
virtual void | warn (const std::string &msg) |
Logs a message with warn logging level if this level is enabled. More... | |
virtual void | error (const std::string &msg) |
Logs a message with error logging level if this level is enabled. More... | |
virtual void | fatal (const std::string &msg) |
Logs a message with fatal logging level if this level is enabled. More... | |
virtual bool | isTraceEnabled () const |
virtual bool | isDebugEnabled () const |
virtual bool | isInfoEnabled () const |
virtual bool | isWarnEnabled () const |
virtual bool | isErrorEnabled () const |
virtual bool | isFatalEnabled () const |
virtual bool | isEnabledFor (const Level &level) const |
Private Attributes | |
LoggerPtr | logger |
The hidden logger. More... | |
SetLevelCallbackPtr | callback |
Additional Inherited Members | |
Static Public Member Functions inherited from rsc::logging::Logger | |
static LoggerPtr | getLogger (const std::string &name) |
Returns a logger for the given name. More... | |
A proxy to an instance of Logger, which provides the same interface but allows to exchange the underlying logger at runtime.
Definition at line 43 of file LoggerProxy.h.
typedef boost::shared_ptr<SetLevelCallback> rsc::logging::LoggerProxy::SetLevelCallbackPtr |
Definition at line 63 of file LoggerProxy.h.
rsc::logging::LoggerProxy::LoggerProxy | ( | LoggerPtr | logger, |
SetLevelCallbackPtr | callback | ||
) |
Constructor.
logger | the initial logger to hide behind this proxy |
callback | callback invoked when setLevel is called |
Definition at line 35 of file LoggerProxy.cpp.
|
virtual |
Definition at line 39 of file LoggerProxy.cpp.
|
virtual |
Returns the currently defined level of the logger.
Implements rsc::logging::Logger.
Definition at line 42 of file LoggerProxy.cpp.
References logger.
LoggerPtr rsc::logging::LoggerProxy::getLogger | ( | ) | const |
Returns the hidden logger behind this proxy.
Definition at line 63 of file LoggerProxy.cpp.
References logger.
|
virtual |
Returns the hierarchical name of the logger.
Implements rsc::logging::Logger.
Definition at line 51 of file LoggerProxy.cpp.
References logger.
|
virtual |
Logs a message with the given level if it is enabled.
level | level for the message |
msg | message to log |
Implements rsc::logging::Logger.
Definition at line 59 of file LoggerProxy.cpp.
References logger.
|
virtual |
Defines the level of the logger.
level | new level |
Implements rsc::logging::Logger.
Definition at line 46 of file LoggerProxy.cpp.
References callback.
void rsc::logging::LoggerProxy::setLogger | ( | LoggerPtr | logger | ) |
(Re-)Sets the logger to be hidden behind this proxy.
This may happen at any time and from any thread.
logger | new logger to hide |
Definition at line 67 of file LoggerProxy.cpp.
References logger.
|
virtual |
Sets the name of the logger.
name | new name |
Implements rsc::logging::Logger.
Definition at line 55 of file LoggerProxy.cpp.
References logger.
|
private |
Definition at line 108 of file LoggerProxy.h.
Referenced by setLevel().
|
private |
The hidden logger.
We rely on the locking of boost::shared_ptr for access to this instance, even on reselection.
Definition at line 106 of file LoggerProxy.h.
Referenced by getLevel(), getLogger(), getName(), log(), setLogger(), and setName().