27#include <boost/current_function.hpp>
122#define ARMARX_FUNCTION BOOST_CURRENT_FUNCTION
145#define ARMARX_LOG_S \
146 (*(::armarx::LogSender::createLogSender()->setFile(__FILE__)->setLine(__LINE__)->setFunction( \
166 (*ARMARX_LOG_S.setLocalMinimumLoggingLevel(this->Logging::minimumLoggingLevel)) \
167 << this->::armarx::Logging::tag
170#define _ARMARX_LOG_INTERNAL_S(level) \
171 (level < ::armarx::LogSender::GetGlobalMinimumLoggingLevel()) ? _GlobalDummyLogSender \
172 : ARMARX_LOG_S << level
174#define _ARMARX_LOG_INTERNAL_(level) \
175 (checkLogLevel(level)) ? _GlobalDummyLogSender \
176 : (*loghelper(__FILE__, __LINE__, ARMARX_FUNCTION)) << level
181#define ARMARX_INFO _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::INFO)
184#define ARMARX_DEBUG _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::DEBUG)
187#define ARMARX_VERBOSE _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::VERBOSE)
190#define ARMARX_IMPORTANT _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::IMPORTANT)
193#define ARMARX_WARNING _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::WARN)
196#define ARMARX_ERROR _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::ERROR)
199#define ARMARX_FATAL _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::FATAL)
202#define ARMARX_INFO_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::INFO)
205#define ARMARX_DEBUG_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::DEBUG)
207#define ARMARX_VERBOSE_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::VERBOSE)
210#define ARMARX_IMPORTANT_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::IMPORTANT)
213#define ARMARX_WARNING_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::WARN)
216#define ARMARX_ERROR_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::ERROR)
219#define ARMARX_FATAL_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::FATAL)
245 void setTag(
const std::string& tagName);
267 const std::string& identifier =
"",
268 bool deactivate =
true)
const;
310#define ARMARX_STREAM_PRINTER ::armarx::detail::StreamPrinterTag::tag* [&](std::ostream & out)
315 const std::string& identifier =
"",
316 bool deactivate =
true);
320 float deactivationDurationSec = 10.0f,
321 bool deactivate =
true)
323 return deactivateSpam(deactivationDurationSec, identifier, deactivate);
#define ARMARXCORE_IMPORT_EXPORT
bool checkLogLevel(MessageTypeT level)
SpamFilterDataPtr deactivateSpam(SpamFilterDataPtr const &spamFilter, float deactivationDurationSec, const std::string &identifier, bool deactivate)
LogSenderPtr loghelper(const char *file, int line, const char *function)
armarx::LogSenderPtr loghelper(const char *file, int line, const char *function)
bool checkLogLevel(armarx::MessageTypeT level)
const armarx::LogSender _GlobalDummyLogSender
Dummy instance for faster skipped logging (if verbosity level is lower than selected level) - DO NOT ...
armarx::SpamFilterDataPtr deactivateSpam(float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true)
Wrapper for the Log IceStorm topic with convenience methods for logging.
MessageTypeT minimumLoggingLevel
SpamFilterDataPtr spamFilter
void setTag(const LogTag &tag)
void setLocalMinimumLoggingLevel(MessageTypeT level)
With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set.
const LogSenderPtr & getLogSender() const
Retrieve log sender.
MessageTypeT getEffectiveLoggingLevel() const
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< SpamFilterData > SpamFilterDataPtr
std::shared_ptr< LogSender > LogSenderPtr
Typedef of std::shared_ptr for convenience.