Logger
Logger
#include <icy/logger.h>class LoggerDefined in src/base/include/icy/logger.h:155
Logger class.
List of all members
| Name | Kind | Owner |
|---|---|---|
Singleton< Logger > | friend | Declared here |
Thread | friend | Declared here |
Logger | function | Declared here |
~Logger | function | Declared here |
add | function | Declared here |
remove | function | Declared here |
get | function | Declared here |
setDefault | function | Declared here |
setWriter | function | Declared here |
getDefault | function | Declared here |
write | function | Declared here |
write | function | Declared here |
instance | function | Declared here |
setInstance | function | Declared here |
destroy | function | Declared here |
_mutex | variable | Declared here |
_channels | variable | Declared here |
_defaultChannel | variable | Declared here |
_writer | variable | Declared here |
Logger | function | Declared here |
operator= | function | Declared here |
Logger | function | Declared here |
operator= | function | Declared here |
Friends
| Name | Description |
|---|---|
Singleton< Logger > | |
Thread |
Singleton< Logger >
friend class Singleton< Logger >Defined in src/base/include/icy/logger.h:203
Thread
friend class ThreadDefined in src/base/include/icy/logger.h:208
Public Methods
| Return | Name | Description |
|---|---|---|
Logger | ||
void | add | Adds the given log channel. Takes ownership. |
void | remove | Removes the given log channel by name. |
LogChannel * | get const | Returns the specified log channel. Throws an exception if the channel doesn't exist. |
void | setDefault | Sets the default log to the specified log channel. |
void | setWriter | Sets the log writer instance. Takes ownership. |
LogChannel * | getDefault const | Returns the default log channel, or the nullptr channel if no default channel has been set. |
void | write | Writes the given message to the default log channel. The message will be copied. |
void | write | Writes the given message to the default log channel. |
Logger
Logger()Defined in src/base/include/icy/logger.h:158
add
void add(std::unique_ptr< LogChannel > channel)Defined in src/base/include/icy/logger.h:172
Adds the given log channel. Takes ownership.
remove
void remove(std::string_view name)Defined in src/base/include/icy/logger.h:175
Removes the given log channel by name.
get
const
LogChannel * get(std::string_view name, bool whiny = true) constDefined in src/base/include/icy/logger.h:179
Returns the specified log channel. Throws an exception if the channel doesn't exist.
setDefault
void setDefault(std::string_view name)Defined in src/base/include/icy/logger.h:182
Sets the default log to the specified log channel.
setWriter
void setWriter(std::unique_ptr< LogWriter > writer)Defined in src/base/include/icy/logger.h:185
Sets the log writer instance. Takes ownership.
getDefault
const
LogChannel * getDefault() constDefined in src/base/include/icy/logger.h:189
Returns the default log channel, or the nullptr channel if no default channel has been set.
write
void write(const LogStream & stream)Defined in src/base/include/icy/logger.h:193
Writes the given message to the default log channel. The message will be copied.
write
void write(std::unique_ptr< LogStream > stream)Defined in src/base/include/icy/logger.h:196
Writes the given message to the default log channel.
Public Static Methods
| Return | Name | Description |
|---|---|---|
Logger & | instance static | Returns the default logger singleton. Logger instances may be created separately as needed. |
void | setInstance static | Sets the default logger singleton instance. |
void | destroy static | Destroys the default logger singleton instance. |
instance
static
static Logger & instance()Defined in src/base/include/icy/logger.h:163
Returns the default logger singleton. Logger instances may be created separately as needed.
setInstance
static
static void setInstance(Logger * logger, bool freeExisting = true)Defined in src/base/include/icy/logger.h:166
Sets the default logger singleton instance.
destroy
static
static void destroy()Defined in src/base/include/icy/logger.h:169
Destroys the default logger singleton instance.
Protected Attributes
| Return | Name | Description |
|---|---|---|
std::mutex | _mutex | |
LogChannelMap | _channels | |
LogChannel * | _defaultChannel | |
std::unique_ptr< LogWriter > | _writer |
_mutex
std::mutex _mutexDefined in src/base/include/icy/logger.h:210
_channels
LogChannelMap _channelsDefined in src/base/include/icy/logger.h:211
_defaultChannel
LogChannel * _defaultChannelDefined in src/base/include/icy/logger.h:212
_writer
std::unique_ptr< LogWriter > _writerDefined in src/base/include/icy/logger.h:213
Protected Methods
Logger
Logger(const Logger &) = deleteDefined in src/base/include/icy/logger.h:200
NonCopyable and NonMovable.
Logger
Logger(Logger &&) = deleteDefined in src/base/include/icy/logger.h:202
Deleted constructor.
