SObjectizer  5.5
Classes | Namespaces | Macros | Typedefs | Functions
error_logger.hpp File Reference

Tools for logging error messages inside SObjectizer core. More...

#include <so_5/declspec.hpp>
#include <so_5/compiler_features.hpp>
#include <memory>
#include <sstream>

Go to the source code of this file.

Classes

class  so_5::error_logger_t
 An interface for logging error messages. More...
 
class  so_5::log_msg_details::conductor_t
 

Namespaces

 so_5
 Public part of message limit implementation.
 
 so_5::log_msg_details
 Implementation details of error_logging facility.
 

Macros

#define SO_5_LOG_ERROR_IMPL(logger, file, line, var_name)
 An implementation for SO_5_LOG_ERROR macro. More...
 
#define SO_5_LOG_ERROR(logger, var_name)   SO_5_LOG_ERROR_IMPL(logger, __FILE__, __LINE__, var_name )
 A special macro for helping error logging. More...
 

Typedefs

using so_5::error_logger_shptr_t = std::shared_ptr< error_logger_t >
 An alias for shared_ptr to error_logger. More...
 

Functions

SO_5_FUNC error_logger_shptr_t so_5::create_stderr_logger ()
 A factory for creating error_logger implemenation which uses std::stderr as log stream. More...
 

Detailed Description

Tools for logging error messages inside SObjectizer core.

Since
v.5.5.0

Macro Definition Documentation

◆ SO_5_LOG_ERROR

#define SO_5_LOG_ERROR (   logger,
  var_name 
)    SO_5_LOG_ERROR_IMPL(logger, __FILE__, __LINE__, var_name )

A special macro for helping error logging.

Since
v.5.5.0
Examples:
so_5/disp/main.cpp.

◆ SO_5_LOG_ERROR_IMPL

#define SO_5_LOG_ERROR_IMPL (   logger,
  file,
  line,
  var_name 
)
Value:
for( so_5::log_msg_details::conductor_t conductor__( logger, file, line ); \
!conductor__.completed(); ) \
for( std::ostringstream & var_name = conductor__.stream(); \
!conductor__.completed(); conductor__.log_message() )
bool completed() const
Definition: error_logger.hpp:107
Definition: error_logger.hpp:84

An implementation for SO_5_LOG_ERROR macro.

Since
v.5.5.0