120#define ARMARX_FUNCTION __PRETTY_FUNCTION__
143#define ARMARX_LOG_S \
144 (*(::armarx::LogSender::createLogSender()->setFile(__FILE__)->setLine(__LINE__)->setFunction( \
164 (*ARMARX_LOG_S.setLocalMinimumLoggingLevel(this->Logging::minimumLoggingLevel)) \
165 << this->::armarx::Logging::tag
168#define _ARMARX_LOG_INTERNAL_S(level) \
169 (level < ::armarx::LogSender::GetGlobalMinimumLoggingLevel()) ? _GlobalDummyLogSender \
170 : ARMARX_LOG_S << level
172#define _ARMARX_LOG_INTERNAL_(level) \
173 (checkLogLevel(level)) ? _GlobalDummyLogSender \
174 : (*loghelper(__FILE__, __LINE__, ARMARX_FUNCTION)) << level
179#define ARMARX_INFO _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::INFO)
182#define ARMARX_DEBUG _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::DEBUG)
185#define ARMARX_VERBOSE _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::VERBOSE)
188#define ARMARX_IMPORTANT _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::IMPORTANT)
191#define ARMARX_WARNING _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::WARN)
194#define ARMARX_ERROR _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::ERROR)
197#define ARMARX_FATAL _ARMARX_LOG_INTERNAL_(::armarx::MessageTypeT::FATAL)
200#define ARMARX_INFO_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::INFO)
203#define ARMARX_DEBUG_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::DEBUG)
205#define ARMARX_VERBOSE_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::VERBOSE)
208#define ARMARX_IMPORTANT_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::IMPORTANT)
211#define ARMARX_WARNING_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::WARN)
214#define ARMARX_ERROR_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::ERROR)
217#define ARMARX_FATAL_S _ARMARX_LOG_INTERNAL_S(::armarx::MessageTypeT::FATAL)
243 void setTag(
const std::string& tagName);
265 const std::string& identifier =
"",
266 bool deactivate =
true)
const;
308#define ARMARX_STREAM_PRINTER ::armarx::detail::StreamPrinterTag::tag* [&](std::ostream & out)
313 const std::string& identifier =
"",
314 bool deactivate =
true);
318 float deactivationDurationSec = 10.0f,
319 bool deactivate =
true)
321 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.