ArmarXLog.cpp
Go to the documentation of this file.
1#include "ArmarXLog.h"
2
4
5namespace armarx::semantic
6{
7
8 void
10 {
11 semrel::LogInterface::setImplementation(std::make_shared<ArmarXLog>(tag));
12 }
13
19
20 void
21 ArmarXLog::log(semrel::LogMetaInfo info, const std::string& message)
22 {
23 (*loghelper(info.file.c_str(), info.line, info.func.c_str()))
24 << logLevelToMessageType(info.level) << message;
25 }
26
28 ArmarXLog::logLevelToMessageType(semrel::LogLevel level)
29 {
30 switch (level)
31 {
32 case semrel::LogLevel::DEBUG:
34 case semrel::LogLevel::VERBOSE:
36 case semrel::LogLevel::INFO:
38 case semrel::LogLevel::IMPORTANT:
40 case semrel::LogLevel::WARNING:
42 case semrel::LogLevel::ERROR:
44
45 default:
46 ARMARX_UNEXPECTED_ENUM_VALUE(semrel::LogLevel, level);
47 }
48 }
49
50} // namespace armarx::semantic
#define ARMARX_UNEXPECTED_ENUM_VALUE(EnumType, value)
Throw an UnexpectedEnumValueException.
static void SetComponentName(const std::string &componentName)
LogSenderPtr loghelper(const char *file, int line, const char *function) const
Definition Logging.cpp:113
void setTag(const LogTag &tag)
Definition Logging.cpp:54
static void setAsImplementation(const std::string &tag)
Definition ArmarXLog.cpp:9
ArmarXLog(const std::string &tag="")
Definition ArmarXLog.cpp:14
void log(semrel::LogMetaInfo info, const std::string &message) override
Definition ArmarXLog.cpp:21
MessageTypeT
Definition LogSender.h:46