348 #ifndef LEGATO_LOG_INCLUDE_GUARD
349 #define LEGATO_LOG_INCLUDE_GUARD
373 typedef struct le_log_Session* le_log_SessionRef_t;
375 typedef struct le_log_Trace* le_log_TraceRef_t;
380 const le_log_TraceRef_t traceRef,
381 le_log_SessionRef_t logSession,
382 const char* filenamePtr,
383 const char* functionNamePtr,
384 const unsigned int lineNumber,
385 const char* formatPtr,
387 ) __attribute__ ((format (printf, 7, 8)));
389 le_log_TraceRef_t _le_log_GetTraceRef
391 le_log_SessionRef_t logSession,
395 void _le_log_SetFilterLevel
397 le_log_SessionRef_t logSession,
413 le_log_SessionRef_t LE_LOG_SESSION;
437 #define _LE_LOG_MSG(level, formatString, ...) \
439 if ((LE_LOG_LEVEL_FILTER_PTR == NULL) || (level >= *LE_LOG_LEVEL_FILTER_PTR)) \
440 _le_log_Send(level, NULL, LE_LOG_SESSION, __FILE__, __func__, __LINE__, \
441 formatString, ##__VA_ARGS__); \
455 #define LE_DEBUG(formatString, ...) _LE_LOG_MSG(LE_LOG_DEBUG, formatString, ##__VA_ARGS__)
457 #define LE_INFO(formatString, ...) _LE_LOG_MSG(LE_LOG_INFO, formatString, ##__VA_ARGS__)
459 #define LE_WARN(formatString, ...) _LE_LOG_MSG(LE_LOG_WARN, formatString, ##__VA_ARGS__)
461 #define LE_ERROR(formatString, ...) _LE_LOG_MSG(LE_LOG_ERR, formatString, ##__VA_ARGS__)
463 #define LE_CRIT(formatString, ...) _LE_LOG_MSG(LE_LOG_CRIT, formatString, ##__VA_ARGS__)
465 #define LE_EMERG(formatString, ...) _LE_LOG_MSG(LE_LOG_EMERG, formatString, ##__VA_ARGS__)
480 #define LE_DEBUG_IF(condition, formatString, ...) \
481 if (condition) { _LE_LOG_MSG(LE_LOG_DEBUG, formatString, ##__VA_ARGS__); }
483 #define LE_INFO_IF(condition, formatString, ...) \
484 if (condition) { _LE_LOG_MSG(LE_LOG_INFO, formatString, ##__VA_ARGS__); }
486 #define LE_WARN_IF(condition, formatString, ...) \
487 if (condition) { _LE_LOG_MSG(LE_LOG_WARN, formatString, ##__VA_ARGS__); }
489 #define LE_ERROR_IF(condition, formatString, ...) \
490 if (condition) { _LE_LOG_MSG(LE_LOG_ERR, formatString, ##__VA_ARGS__); }
492 #define LE_CRIT_IF(condition, formatString, ...) \
493 if (condition) { _LE_LOG_MSG(LE_LOG_CRIT, formatString, ##__VA_ARGS__); }
495 #define LE_EMERG_IF(condition, formatString, ...) \
496 if (condition) { _LE_LOG_MSG(LE_LOG_EMERG, formatString, ##__VA_ARGS__); }
508 #define LE_FATAL(formatString, ...) \
509 { LE_EMERG(formatString, ##__VA_ARGS__); exit(EXIT_FAILURE); }
521 #define LE_FATAL_IF(condition, formatString, ...) \
522 if (condition) { LE_FATAL(formatString, ##__VA_ARGS__) }
531 #define LE_ASSERT(condition) \
532 if (!(condition)) { LE_FATAL("Assert Failed: '%s'", #condition) }
547 #define LE_RESULT_TXT(v) _le_log_GetResultCodeString(v)
565 #define LE_IS_TRACE_ENABLED(traceRef) (le_log_IsTraceEnabled(traceRef))
573 #define LE_TRACE(traceRef, string, ...) \
574 if (le_log_IsTraceEnabled(traceRef)) \
576 _le_log_Send(-1, traceRef, LE_LOG_SESSION, __FILE__, __func__, __LINE__, \
577 string, ##__VA_ARGS__); \
590 const char* keywordPtr
593 return _le_log_GetTraceRef(LE_LOG_SESSION, keywordPtr);
606 const le_log_TraceRef_t traceRef
609 return *((
bool*)traceRef);
627 _le_log_SetFilterLevel(LE_LOG_SESSION, level);
641 if (LE_LOG_LEVEL_FILTER_PTR != NULL)
643 return *LE_LOG_LEVEL_FILTER_PTR;
662 const le_log_TraceRef_t traceRef
665 *((
bool*)traceRef) =
true;
679 const le_log_TraceRef_t traceRef
682 *((
bool*)traceRef) =
false;
687 #endif // LEGATO_LOG_INCLUDE_GUARD
static le_log_TraceRef_t le_log_GetTraceRef(const char *keywordPtr)
Definition: le_log.h:589
le_result_t
Definition: le_basics.h:35
static void le_log_EnableTrace(const le_log_TraceRef_t traceRef)
Definition: le_log.h:661
static le_log_Level_t le_log_GetFilterLevel(void)
Definition: le_log.h:637
Warning. Possibly indicates a problem. Should be addressed.
Definition: le_log.h:360
le_log_Level_t
Definition: le_log.h:356
Debug message.
Definition: le_log.h:358
static void le_log_SetFilterLevel(le_log_Level_t level)
Definition: le_log.h:623
const char * _le_log_GetResultCodeString(le_result_t resultCode)
Function that does the real work of translating result codes. See LE_RESULT_TXT.
Informational message. Normally expected.
Definition: le_log.h:359
Emergency. A fatal error has occurred. A process is being terminated.
Definition: le_log.h:365
static bool le_log_IsTraceEnabled(const le_log_TraceRef_t traceRef)
Definition: le_log.h:605
static void le_log_DisableTrace(const le_log_TraceRef_t traceRef)
Definition: le_log.h:678