limal
Classes | Namespaces | Macros
Logger.hpp File Reference

LiMaL logging utilities. More...

#include <blocxx/Array.hpp>
#include <blocxx/String.hpp>
#include <blocxx/StringStream.hpp>
#include <blocxx/LogConfig.hpp>
#include <blocxx/Logger.hpp>
#include <blocxx/CommonFwd.hpp>
#include <blocxx/LogAppender.hpp>
#include <blocxx/AppenderLogger.hpp>
#include <limal/config.h>

Go to the source code of this file.

Classes

class  limal::Logger
 LiMaL library logger class. More...
 

Namespaces

namespace  limal
 

Macros

#define LIMAL_LOG(logger, level, message)
 Generic logging macro LIMAL_LOG.
 
#define LIMAL_SLOG(logger, level, message)
 Generic logging macro LIMAL_SLOG allowing formating using a stream output operator <<.
 
#define LIMAL_LOG_FATAL(logger, logMessage)   LIMAL_LOG(logger, blocxx::E_FATAL_ERROR_LEVEL, logMessage)
 Logging macro LIMAL_LOG_FATAL.
 
#define LIMAL_SLOG_FATAL(logger, logMessage)   LIMAL_SLOG(logger, blocxx::E_FATAL_ERROR_LEVEL, logMessage)
 
#define LIMAL_LOG_ERROR(logger, logMessage)   LIMAL_LOG(logger, blocxx::E_ERROR_LEVEL, logMessage)
 Logging macro LIMAL_LOG_ERROR.
 
#define LIMAL_SLOG_ERROR(logger, logMessage)   LIMAL_SLOG(logger, blocxx::E_ERROR_LEVEL, logMessage)
 
#define LIMAL_LOG_INFO(logger, logMessage)   LIMAL_LOG(logger, blocxx::E_INFO_LEVEL, logMessage)
 Logging macro LIMAL_LOG_INFO.
 
#define LIMAL_SLOG_INFO(logger, logMessage)   LIMAL_SLOG(logger, blocxx::E_INFO_LEVEL, logMessage)
 
#define LIMAL_LOG_DEBUG(logger, logMessage)   LIMAL_LOG(logger, blocxx::E_DEBUG_LEVEL, logMessage)
 Logging macro LIMAL_LOG_DEBUG.
 
#define LIMAL_SLOG_DEBUG(logger, logMessage)   LIMAL_SLOG(logger, blocxx::E_DEBUG_LEVEL, logMessage)
 

Detailed Description

LiMaL logging utilities.

The LiMaL extensions to the BloCxx logging framework.

Macro Definition Documentation

#define LIMAL_LOG (   logger,
  level,
  message 
)
Value:
do \
{ \
int err = errno; \
if( (logger).isEnabledFor(level)) \
{ \
(logger).logMessage((level), (message), \
__FILE__, __LINE__, \
BLOCXX_LOGGER_PRETTY_FUNCTION); \
} \
errno = err; \
} while(0)

Generic logging macro LIMAL_LOG.

This macro write a log message with the given level.

Parameters
loggera Logger object
levela log level
messagea log message
limal::Logger lg("MyComponentName");
LIMAL_LOG(lg, DEBUG, "the log message");
LIMAL_LOG(lg, DEBUG, blocxx::Format("log message nr %1", 2));
#define LIMAL_LOG_DEBUG (   logger,
  logMessage 
)    LIMAL_LOG(logger, blocxx::E_DEBUG_LEVEL, logMessage)

Logging macro LIMAL_LOG_DEBUG.

This macro write a log message with the log level DEBUG

Parameters
loggera Logger object
logMessagethe log message
limal::Logger lg("MyComponentName");
LIMAL_LOG_DEBUG(lg, "the log message");
LIMAL_SLOG_DEBUG(lg, "log message " << 42);
#define LIMAL_LOG_ERROR (   logger,
  logMessage 
)    LIMAL_LOG(logger, blocxx::E_ERROR_LEVEL, logMessage)

Logging macro LIMAL_LOG_ERROR.

This macro write a log message with the log level ERROR

Parameters
loggera Logger object
logMessagethe log message
limal::Logger lg("MyComponentName");
LIMAL_LOG_ERROR(lg, "the log message");
LIMAL_SLOG_ERROR(lg, "log message " << 42);
#define LIMAL_LOG_FATAL (   logger,
  logMessage 
)    LIMAL_LOG(logger, blocxx::E_FATAL_ERROR_LEVEL, logMessage)

Logging macro LIMAL_LOG_FATAL.

This macro write a log message with the log level FATAL.

Parameters
loggera Logger object
logMessagethe log message
limal::Logger lg("MyComponentName");
LIMAL_LOG_FATAL(lg, "the log message");
LIMAL_SLOG_FATAL(lg, "log message " << 42);
#define LIMAL_LOG_INFO (   logger,
  logMessage 
)    LIMAL_LOG(logger, blocxx::E_INFO_LEVEL, logMessage)

Logging macro LIMAL_LOG_INFO.

This macro write a log message with the log level INFO

Parameters
loggera Logger object
logMessagethe log message
limal::Logger lg("MyComponentName");
LIMAL_LOG_INFO(lg, "the log message");
LIMAL_SLOG_INFO(lg, "log message " << 42);
#define LIMAL_SLOG (   logger,
  level,
  message 
)
Value:
do \
{ \
int err = errno; \
if( (logger).isEnabledFor(level)) \
{ \
blocxx::OStringStream _buf; \
_buf << message; \
(logger).logMessage((level), _buf.toString(), \
__FILE__, __LINE__, \
BLOCXX_LOGGER_PRETTY_FUNCTION); \
} \
errno = err; \
} while(0)

Generic logging macro LIMAL_SLOG allowing formating using a stream output operator <<.

This macro write a log message with the given level.

Parameters
loggera Logger object
levela log level
messagea log message
limal::Logger lg("MyComponentName");
LIMAL_SLOG(lg, DEBUG, "log message nr " << 3);
#define LIMAL_SLOG_DEBUG (   logger,
  logMessage 
)    LIMAL_SLOG(logger, blocxx::E_DEBUG_LEVEL, logMessage)
#define LIMAL_SLOG_ERROR (   logger,
  logMessage 
)    LIMAL_SLOG(logger, blocxx::E_ERROR_LEVEL, logMessage)
#define LIMAL_SLOG_FATAL (   logger,
  logMessage 
)    LIMAL_SLOG(logger, blocxx::E_FATAL_ERROR_LEVEL, logMessage)
#define LIMAL_SLOG_INFO (   logger,
  logMessage 
)    LIMAL_SLOG(logger, blocxx::E_INFO_LEVEL, logMessage)