SObjectizer 5.8
Loading...
Searching...
No Matches
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

namespace  so_5
 Private part of message limit implementation.
 
namespace  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.
 
#define SO_5_LOG_ERROR(logger, var_name)
 A special macro for helping error logging.
 

Typedefs

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

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.
 

Detailed Description

Tools for logging error messages inside SObjectizer core.

Since
v.5.5.0

Definition in file error_logger.hpp.

Macro Definition Documentation

◆ SO_5_LOG_ERROR

#define SO_5_LOG_ERROR ( logger,
var_name )
Value:
SO_5_LOG_ERROR_IMPL(logger, __FILE__, __LINE__, var_name )
#define SO_5_LOG_ERROR_IMPL(logger, file, line, var_name)
An implementation for SO_5_LOG_ERROR macro.

A special macro for helping error logging.

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

Definition at line 161 of file error_logger.hpp.

◆ 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() )

An implementation for SO_5_LOG_ERROR macro.

Since
v.5.5.0

Definition at line 145 of file error_logger.hpp.