373 #ifndef LEGATO_LOG_INCLUDE_GUARD 374 #define LEGATO_LOG_INCLUDE_GUARD 398 typedef struct le_log_Session* le_log_SessionRef_t;
400 typedef struct le_log_Trace* le_log_TraceRef_t;
405 const le_log_TraceRef_t traceRef,
406 le_log_SessionRef_t logSession,
407 const char* filenamePtr,
408 const char* functionNamePtr,
409 const unsigned int lineNumber,
410 const char* formatPtr,
412 ) __attribute__ ((format (printf, 7, 8)));
414 le_log_TraceRef_t _le_log_GetTraceRef
416 le_log_SessionRef_t logSession,
420 void _le_log_SetFilterLevel
422 le_log_SessionRef_t logSession,
438 LE_SHARED le_log_SessionRef_t LE_LOG_SESSION;
462 #define _LE_LOG_MSG(level, formatString, ...) \ 464 if ((LE_LOG_LEVEL_FILTER_PTR == NULL) || (level >= *LE_LOG_LEVEL_FILTER_PTR)) \ 465 _le_log_Send(level, NULL, LE_LOG_SESSION, __FILE__, __func__, __LINE__, \ 466 formatString, ##__VA_ARGS__); \ 480 #define LE_DEBUG(formatString, ...) _LE_LOG_MSG(LE_LOG_DEBUG, formatString, ##__VA_ARGS__) 482 #define LE_INFO(formatString, ...) _LE_LOG_MSG(LE_LOG_INFO, formatString, ##__VA_ARGS__) 484 #define LE_WARN(formatString, ...) _LE_LOG_MSG(LE_LOG_WARN, formatString, ##__VA_ARGS__) 486 #define LE_ERROR(formatString, ...) _LE_LOG_MSG(LE_LOG_ERR, formatString, ##__VA_ARGS__) 488 #define LE_CRIT(formatString, ...) _LE_LOG_MSG(LE_LOG_CRIT, formatString, ##__VA_ARGS__) 490 #define LE_EMERG(formatString, ...) _LE_LOG_MSG(LE_LOG_EMERG, formatString, ##__VA_ARGS__) 505 #define LE_DEBUG_IF(condition, formatString, ...) \ 506 if (condition) { _LE_LOG_MSG(LE_LOG_DEBUG, formatString, ##__VA_ARGS__); } 508 #define LE_INFO_IF(condition, formatString, ...) \ 509 if (condition) { _LE_LOG_MSG(LE_LOG_INFO, formatString, ##__VA_ARGS__); } 511 #define LE_WARN_IF(condition, formatString, ...) \ 512 if (condition) { _LE_LOG_MSG(LE_LOG_WARN, formatString, ##__VA_ARGS__); } 514 #define LE_ERROR_IF(condition, formatString, ...) \ 515 if (condition) { _LE_LOG_MSG(LE_LOG_ERR, formatString, ##__VA_ARGS__); } 517 #define LE_CRIT_IF(condition, formatString, ...) \ 518 if (condition) { _LE_LOG_MSG(LE_LOG_CRIT, formatString, ##__VA_ARGS__); } 520 #define LE_EMERG_IF(condition, formatString, ...) \ 521 if (condition) { _LE_LOG_MSG(LE_LOG_EMERG, formatString, ##__VA_ARGS__); } 533 #define LE_FATAL(formatString, ...) \ 534 { LE_EMERG(formatString, ##__VA_ARGS__); exit(EXIT_FAILURE); } 546 #define LE_FATAL_IF(condition, formatString, ...) \ 547 if (condition) { LE_FATAL(formatString, ##__VA_ARGS__) } 556 #define LE_ASSERT(condition) \ 557 if (!(condition)) { LE_FATAL("Assert Failed: '%s'", #condition) } 566 #define LE_ASSERT_OK(condition) \ 567 if ((condition) != LE_OK) { LE_FATAL("Assert Failed: '%s' is not LE_OK (0)", #condition) } 582 #define LE_RESULT_TXT(v) _le_log_GetResultCodeString(v) 600 #define LE_IS_TRACE_ENABLED(traceRef) (le_log_IsTraceEnabled(traceRef)) 608 #define LE_TRACE(traceRef, string, ...) \ 609 if (le_log_IsTraceEnabled(traceRef)) \ 611 _le_log_Send((le_log_Level_t)-1, \ 631 const char* keywordPtr
634 return _le_log_GetTraceRef(LE_LOG_SESSION, keywordPtr);
647 const le_log_TraceRef_t traceRef
650 return *((
bool*)traceRef);
668 _le_log_SetFilterLevel(LE_LOG_SESSION, level);
682 if (LE_LOG_LEVEL_FILTER_PTR != NULL)
684 return *LE_LOG_LEVEL_FILTER_PTR;
703 const le_log_TraceRef_t traceRef
706 *((
bool*)traceRef) =
true;
720 const le_log_TraceRef_t traceRef
723 *((
bool*)traceRef) =
false;
728 #endif // LEGATO_LOG_INCLUDE_GUARD static le_log_TraceRef_t le_log_GetTraceRef(const char *keywordPtr)
Definition: le_log.h:630
#define LE_SHARED
Definition: le_basics.h:240
le_result_t
Definition: le_basics.h:35
static void le_log_EnableTrace(const le_log_TraceRef_t traceRef)
Definition: le_log.h:702
static le_log_Level_t le_log_GetFilterLevel(void)
Definition: le_log.h:678
Warning. Possibly indicates a problem. Should be addressed.
Definition: le_log.h:385
le_log_Level_t
Definition: le_log.h:381
Debug message.
Definition: le_log.h:383
static void le_log_SetFilterLevel(le_log_Level_t level)
Definition: le_log.h:664
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:384
Emergency. A fatal error has occurred. A process is being terminated.
Definition: le_log.h:390
static bool le_log_IsTraceEnabled(const le_log_TraceRef_t traceRef)
Definition: le_log.h:646
static void le_log_DisableTrace(const le_log_TraceRef_t traceRef)
Definition: le_log.h:719