Code forensics  0.1
Generate historical information about code changes
logging macros

Shorthand macros to write an output to the logger. More...

Namespaces

 boost
 
 boost::log
 

Macros

#define CUSTOM_LOG(logger, sev)
 
#define LOG_T(state)   CUSTOM_LOG((get_logger(state)), logging::severity::trace)
 
#define LOG_D(state)   CUSTOM_LOG((get_logger(state)), logging::severity::debug)
 
#define LOG_I(state)   CUSTOM_LOG((get_logger(state)), logging::severity::info)
 
#define LOG_W(state)   CUSTOM_LOG((get_logger(state)), logging::severity::warning)
 
#define LOG_E(state)   CUSTOM_LOG((get_logger(state)), logging::severity::error)
 
#define LOG_F(state)   CUSTOM_LOG((get_logger(state)), logging::severity::fatal)
 

Typedefs

template<typename T >
using MutLog = logging::attrs::mutable_constant< T, std::shared_mutex >
 

Functions

template<typename ValueType >
auto set_get_attrib (const char *name, ValueType value) -> ValueType
 
auto get_logger (walker_state *state) -> Logger &
 
auto get_logger (UPtr< walker_state > &state) -> Logger &
 
auto get_logger (SPtr< Logger > &in) -> Logger &
 

Detailed Description

Shorthand macros to write an output to the logger.

Macro Definition Documentation

◆ CUSTOM_LOG

#define CUSTOM_LOG (   logger,
  sev 
)
Value:
set_get_attrib("File", Str{__FILE__}); \
set_get_attrib("Line", __LINE__); \
set_get_attrib("Func", Str{__PRETTY_FUNCTION__}); \
BOOST_LOG_SEV(logger, sev)

Wrapper around the logger call for setting the 'File', 'Line', and 'Func' attributes.

◆ LOG_D

#define LOG_D (   state)    CUSTOM_LOG((get_logger(state)), logging::severity::debug)

◆ LOG_E

#define LOG_E (   state)    CUSTOM_LOG((get_logger(state)), logging::severity::error)

◆ LOG_F

#define LOG_F (   state)    CUSTOM_LOG((get_logger(state)), logging::severity::fatal)

◆ LOG_I

#define LOG_I (   state)    CUSTOM_LOG((get_logger(state)), logging::severity::info)

◆ LOG_T

#define LOG_T (   state)    CUSTOM_LOG((get_logger(state)), logging::severity::trace)

◆ LOG_W

#define LOG_W (   state)    CUSTOM_LOG((get_logger(state)), logging::severity::warning)

Typedef Documentation

◆ MutLog

template<typename T >
using MutLog = logging::attrs::mutable_constant<T, std::shared_mutex>

Type alias for mutable constant template used in the logging. The application might run in the multithreaded mode, so shared mutex is used for guarding access to the data.

Function Documentation

◆ get_logger() [1/3]

auto get_logger ( SPtr< Logger > &  in) -> Logger&
inline

◆ get_logger() [2/3]

auto get_logger ( UPtr< walker_state > &  state) -> Logger&
inline

◆ get_logger() [3/3]

auto get_logger ( walker_state state) -> Logger&
inline

◆ set_get_attrib()

template<typename ValueType >
auto set_get_attrib ( const char *  name,
ValueType  value 
) -> ValueType

Set value of the attribute and return a reference to it, for further modifications.

Note
The type of the value must match exactly with the original attribute declaration - using const char* instead of the std::string will result in the exception
set_get_attrib
auto set_get_attrib(const char *name, ValueType value) -> ValueType
Definition: logging.hpp:131