7 #ifndef _LOG_FUNCTIONS_HEADER_
8 #define _LOG_FUNCTIONS_HEADER_
15 #define LOG_RESULT(code) \
18 tResult _result = code; \
21 LOG_INFO("%s", A_UTILS_NS::detail::to_string(_result).c_str());\
25 LOG_ERROR("%s", A_UTILS_NS::detail::to_string(_result).c_str());\
32 #define RETURN_AND_LOG_ERROR(code) \
35 tResult _result = code; \
36 LOG_RESULT(_result); \
43 #define RETURN_AND_LOG_ERROR_STR(code, ...) \
46 LOG_ERROR(__VA_ARGS__); \
53 #define RETURN_IF_FAILED_AND_LOG_ERROR_STR(code, ...) \
56 tResult _outer_result = code; \
57 if (IS_FAILED(_outer_result)) \
59 LOG_ERROR(__VA_ARGS__); \
60 LOG_RESULT(_outer_result);\
61 return _outer_result;\
121 const tChar* strMessage =
nullptr,
122 const tChar* strSource =
nullptr)
167 #define _A_UTILS_STRINGIFY(__number) #__number
169 #define _A_UTILS_TO_STRING(__number) _A_UTILS_STRINGIFY(__number)
171 #define LOG_ADD_ENTRY(__level, ...)\
172 A_UTILS_NS::log::add_entry(__level, \
173 A_UTILS_NS::detail::format(__VA_ARGS__).c_str(),\
174 A_UTILS_NS::detail::format("%s:%d(%s)", __FILE__, __LINE__, __FUNC__).c_str())
178 #define LOG_DUMP(...) LOG_ADD_ENTRY(A_UTILS_NS::log::tLogLevel::Dump, __VA_ARGS__)
181 #define LOG_DUMP(...)
184 #define LOG_DETAIL(...) LOG_ADD_ENTRY(A_UTILS_NS::log::tLogLevel::Detail, __VA_ARGS__)
186 #define LOG_INFO(...) LOG_ADD_ENTRY(A_UTILS_NS::log::tLogLevel::Info, __VA_ARGS__)
188 #define LOG_WARNING(...) LOG_ADD_ENTRY(A_UTILS_NS::log::tLogLevel::Warning, __VA_ARGS__)
190 #define LOG_ERROR(...) LOG_ADD_ENTRY(A_UTILS_NS::log::tLogLevel::Error, __VA_ARGS__)
uint8_t tUInt8
type definition for unsigned integer values (8bit) (platform and compiler independent type).
char tChar
The tChar defines the type for platform character set (platform and compiler dependent type).
tInt64 tTimeStamp
type definition for a time value.
void tVoid
The tVoid is always the definition for the void (non-type).
Copyright © Audi Electronics Venture GmbH.
tVoid set_filtered_logging(tUInt8 nMaxLogLevel, logger oLogger=default_logger)
Convenience method to filter log messages.
tVoid set_logger(logger oLogger)
Sets the currently used logger.
tTimeStamp log_get_current_date_time()
Internal helper to hide cDateTime::GetCurrentDateTime.
std::function< tVoid(const tLogEntry &sEntry)> logger
Logger interface definition.
tVoid default_logger(const tLogEntry &sEntry)
Default logging method, that writes log messages to stdout.
logger get_logger()
Returns the currently used logger.
tVoid add_entry(const tLogEntry &sEntry)
Adds a new log entry to the current logger.
ADTF A_UTIL Namespace - Within adtf this is used as adtf::util or adtf_util.
const tChar * strMessage
the message text, optionally nullptr.
tUInt8 nLogLevel
the log level, see tLogLevel.
tTimeStamp nTimeStamp
time stamp of the log message.
const tChar * strSource
the origin of the entry, optionally nullptr.