Go to the documentation of this file.
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)
244 void setTag(
const LogTag& tag);
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);
MessageTypeT minimumLoggingLevel
const armarx::LogSender _GlobalDummyLogSender
Dummy instance for faster skipped logging (if verbosity level is lower than selected level) - DO NOT ...
Wrapper for the Log IceStorm topic with convenience methods for logging.
armarx::LogSenderPtr loghelper(const char *file, int line, const char *function)
SpamFilterDataPtr spamFilter
std::shared_ptr< SpamFilterData > SpamFilterDataPtr
armarx::SpamFilterDataPtr deactivateSpam(float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true)
bool checkLogLevel(armarx::MessageTypeT level)
std::string tagName(ConfigTag tag)
Base Class for all Logging classes.
std::shared_ptr< LogSender > LogSenderPtr
Typedef of std::shared_ptr for convenience.
#define ARMARXCORE_IMPORT_EXPORT
This file offers overloads of toIce() and fromIce() functions for STL container types.