Skip to content

iox::log::Logger🔗

More...

#include <logger.hpp>

Public Functions🔗

Name
Logger(Logger && other)
Logger & operator=(Logger && rhs)
Logger(const Logger & other)
Logger & operator=(const Logger & rhs)
void SetLogLevel(const LogLevel logLevel)
void SetLogMode(const LogMode logMode)
bool IsEnabled(const LogLevel logLevel) const
LogStream LogFatal()
LogStream LogError()
LogStream LogWarn()
LogStream LogInfo()
LogStream LogDebug()
LogStream LogVerbose()

Protected Functions🔗

Name
Logger(std::string ctxId, std::string ctxDescription, LogLevel appLogLevel)
virtual void Log(const LogEntry & entry) const

Friends🔗

Name
class LogManager
class LogStream

Detailed Description🔗

class iox::log::Logger;

Todo: for asynchronous logging, make the logger an active object according to Herb Sutter https://herbsutter.com/2010/07/12/effective-concurrency-prefer-using-active-objects-instead-of-naked-threads/

Public Functions Documentation🔗

function Logger🔗

Logger(
    Logger && other
)

function operator=🔗

Logger & operator=(
    Logger && rhs
)

function Logger🔗

Logger(
    const Logger & other
)

function operator=🔗

Logger & operator=(
    const Logger & rhs
)

function SetLogLevel🔗

void SetLogLevel(
    const LogLevel logLevel
)

function SetLogMode🔗

void SetLogMode(
    const LogMode logMode
)

function IsEnabled🔗

bool IsEnabled(
    const LogLevel logLevel
) const

function LogFatal🔗

LogStream LogFatal()

function LogError🔗

LogStream LogError()

function LogWarn🔗

LogStream LogWarn()

function LogInfo🔗

LogStream LogInfo()

function LogDebug🔗

LogStream LogDebug()

function LogVerbose🔗

LogStream LogVerbose()

Protected Functions Documentation🔗

function Logger🔗

Logger(
    std::string ctxId,
    std::string ctxDescription,
    LogLevel appLogLevel
)

function Log🔗

virtual void Log(
    const LogEntry & entry
) const

Friends🔗

friend LogManager🔗

friend class LogManager;

friend LogStream🔗

friend class LogStream;

Todo: LogStream needs to call Log(); do we want to make Log() public?


Updated on 31 May 2022 at 15:29:15 CEST