le_log.h File Reference
Go to the source code of this file.
Macros | |
#define | LE_LOG_LEVEL_STATIC_FILTER LE_LOG_DEBUG |
#define | _LE_LOG_MSG(level, formatString, ...) |
#define | LE_DEBUG(formatString, ...) _LE_LOG_MSG(LE_LOG_DEBUG, formatString, ##__VA_ARGS__) |
Debug message. More... | |
#define | LE_DUMP(dataPtr, dataLength) |
#define | LE_LOG_DUMP(level, dataPtr, dataLength) _le_LogData(level, dataPtr, dataLength, STRINGIZE(LE_FILENAME), _LE_LOG_FUNCTION_NAME, __LINE__) |
#define | LE_INFO(formatString, ...) _LE_LOG_MSG(LE_LOG_INFO, formatString, ##__VA_ARGS__) |
Informational message. Normally expected. More... | |
#define | LE_WARN(formatString, ...) _LE_LOG_MSG(LE_LOG_WARN, formatString, ##__VA_ARGS__) |
Warning. Possibly indicates a problem. Should be addressed. More... | |
#define | LE_ERROR(formatString, ...) _LE_LOG_MSG(LE_LOG_ERR, formatString, ##__VA_ARGS__) |
#define | LE_CRIT(formatString, ...) _LE_LOG_MSG(LE_LOG_CRIT, formatString, ##__VA_ARGS__) |
#define | LE_EMERG(formatString, ...) _LE_LOG_MSG(LE_LOG_EMERG, formatString, ##__VA_ARGS__) |
Emergency. A fatal error has occurred. A process is being terminated. More... | |
#define | LE_IS_TRACE_ENABLED(traceRef) (le_log_IsTraceEnabled(traceRef)) |
#define | LE_TRACE(traceRef, string, ...) |
#define | le_log_GetTraceRef(keywordPtr) _le_log_GetTraceRef(LE_LOG_SESSION, (keywordPtr)) |
#define | le_log_IsTraceEnabled(traceRef) (*((bool*)(traceRef))) |
#define | le_log_SetFilterLevel(level) _le_log_SetFilterLevel(LE_LOG_SESSION, (level)) |
#define | le_log_GetFilterLevel() ((LE_LOG_LEVEL_FILTER_PTR != NULL)?(*LE_LOG_LEVEL_FILTER_PTR):(LE_LOG_INFO)) |
#define | le_log_EnableTrace(traceRef) ((void)(*((bool*)(traceRef)) = true)) |
#define | le_log_DisableTrace(traceRef) ((void)(*((bool*)(traceRef)) = false)) |
#define | LE_DEBUG_IF(condition, formatString, ...) if (condition) { LE_DEBUG(formatString, ##__VA_ARGS__); } |
#define | LE_INFO_IF(condition, formatString, ...) if (condition) { LE_INFO(formatString, ##__VA_ARGS__); } |
#define | LE_WARN_IF(condition, formatString, ...) if (condition) { LE_WARN(formatString, ##__VA_ARGS__); } |
#define | LE_ERROR_IF(condition, formatString, ...) if (condition) { LE_ERROR(formatString, ##__VA_ARGS__); } |
#define | LE_CRIT_IF(condition, formatString, ...) if (condition) { LE_CRIT(formatString, ##__VA_ARGS__); } |
#define | LE_EMERG_IF(condition, formatString, ...) if (condition) { LE_EMERG(formatString, ##__VA_ARGS__); } |
#define | LE_FATAL(formatString, ...) { LE_EMERG(formatString, ##__VA_ARGS__); exit(EXIT_FAILURE); } |
#define | LE_FATAL_IF(condition, formatString, ...) if (condition) { LE_FATAL(formatString, ##__VA_ARGS__) } |
#define | LE_ASSERT(condition) |
#define | LE_ASSERT_OK(condition) |
#define | LE_RESULT_TXT(v) _le_log_GetResultCodeString(v) |
Enumerations | |
enum | le_log_Level_t { LE_LOG_DEBUG, LE_LOG_INFO, LE_LOG_WARN, LE_LOG_ERR, LE_LOG_CRIT, LE_LOG_EMERG } |
Functions | |
const char * | _le_log_GetResultCodeString (le_result_t resultCode) |
Function that does the real work of translating result codes. See LE_RESULT_TXT. More... | |
Detailed Description
Legato Logging API include file.
Copyright (C) Sierra Wireless Inc.
Macro Definition Documentation
◆ _LE_LOG_MSG
#define _LE_LOG_MSG | ( | level, | |
formatString, | |||
... | |||
) |
do { \if ((level >= LE_LOG_LEVEL_STATIC_FILTER) && \((LE_LOG_LEVEL_FILTER_PTR == NULL) || (level >= *LE_LOG_LEVEL_FILTER_PTR))) \_le_log_Send(level, NULL, LE_LOG_SESSION, __FILE__, _LE_LOG_FUNCTION_NAME, __LINE__, \formatString, ##__VA_ARGS__); \} while(0)
Internal macro to filter out messages that do not meet the current filtering level.
◆ LE_ASSERT
#define LE_ASSERT | ( | condition | ) |
if (!(condition)) \{ \LE_EMERG("Assert Failed: '%s'", #condition); \LE_BACKTRACE("Assertion Call Stack"); \exit(EXIT_FAILURE); \}
This macro does nothing if the condition is true, otherwise it logs the condition expression as a message at EMERGENCY level and then kills the calling process.
◆ LE_ASSERT_OK
#define LE_ASSERT_OK | ( | condition | ) |
if ((condition) != LE_OK) \{ \LE_EMERG("Assert Failed: '%s' is not LE_OK (0)", #condition); \LE_BACKTRACE("Assertion Call Stack"); \exit(EXIT_FAILURE); \}
This macro does nothing if the condition is LE_OK (0), otherwise it logs that the expression did not evaluate to LE_OK (0) in a message at EMERGENCY level and then kills the calling process.
◆ LE_CRIT
#define LE_CRIT | ( | formatString, | |
... | |||
) | _LE_LOG_MSG(LE_LOG_CRIT, formatString, ##__VA_ARGS__) |
Critical error. Fault that almost certainly has or will result in a system failure.
◆ LE_CRIT_IF
#define LE_CRIT_IF | ( | condition, | |
formatString, | |||
... | |||
) | if (condition) { LE_CRIT(formatString, ##__VA_ARGS__); } |
LE_CRIT if condition is met.
◆ LE_DEBUG
#define LE_DEBUG | ( | formatString, | |
... | |||
) | _LE_LOG_MSG(LE_LOG_DEBUG, formatString, ##__VA_ARGS__) |
Debug message.
◆ LE_DEBUG_IF
#define LE_DEBUG_IF | ( | condition, | |
formatString, | |||
... | |||
) | if (condition) { LE_DEBUG(formatString, ##__VA_ARGS__); } |
LE_DEBUG if condition is met.
◆ LE_DUMP
#define LE_DUMP | ( | dataPtr, | |
dataLength | |||
) |
_le_LogData(LE_LOG_DEBUG, dataPtr, dataLength, STRINGIZE(LE_FILENAME), _LE_LOG_FUNCTION_NAME, \__LINE__)
Dump a buffer of data as hexadecimal to the log at debug level.
- Parameters
-
dataPtr Binary data to dump. dataLength Length og the buffer.
◆ LE_EMERG
#define LE_EMERG | ( | formatString, | |
... | |||
) | _LE_LOG_MSG(LE_LOG_EMERG, formatString, ##__VA_ARGS__) |
Emergency. A fatal error has occurred. A process is being terminated.
◆ LE_EMERG_IF
#define LE_EMERG_IF | ( | condition, | |
formatString, | |||
... | |||
) | if (condition) { LE_EMERG(formatString, ##__VA_ARGS__); } |
LE_EMERG if condition is met.
◆ LE_ERROR
#define LE_ERROR | ( | formatString, | |
... | |||
) | _LE_LOG_MSG(LE_LOG_ERR, formatString, ##__VA_ARGS__) |
Error. Definitely indicates a fault that needs to be addressed. Possibly resulted in a system failure.
◆ LE_ERROR_IF
#define LE_ERROR_IF | ( | condition, | |
formatString, | |||
... | |||
) | if (condition) { LE_ERROR(formatString, ##__VA_ARGS__); } |
LE_ERROR if condition is met.
◆ LE_FATAL
#define LE_FATAL | ( | formatString, | |
... | |||
) | { LE_EMERG(formatString, ##__VA_ARGS__); exit(EXIT_FAILURE); } |
Log fatal errors by killing the calling process after logging the message at EMERGENCY level. This macro never returns.
Accepts printf-style arguments, consisting of a format string followed by zero or more parameters to be printed (depending on the contents of the format string).
◆ LE_FATAL_IF
#define LE_FATAL_IF | ( | condition, | |
formatString, | |||
... | |||
) | if (condition) { LE_FATAL(formatString, ##__VA_ARGS__) } |
This macro does nothing if the condition is false, otherwise it logs the message at EMERGENCY level and then kills the calling process.
Accepts printf-style arguments, consisting of a format string followed by zero or more parameters to be printed (depending on the contents of the format string).
◆ LE_INFO
#define LE_INFO | ( | formatString, | |
... | |||
) | _LE_LOG_MSG(LE_LOG_INFO, formatString, ##__VA_ARGS__) |
Informational message. Normally expected.
◆ LE_INFO_IF
#define LE_INFO_IF | ( | condition, | |
formatString, | |||
... | |||
) | if (condition) { LE_INFO(formatString, ##__VA_ARGS__); } |
LE_INFO if condition is met.
◆ LE_IS_TRACE_ENABLED
#define LE_IS_TRACE_ENABLED | ( | traceRef | ) | (le_log_IsTraceEnabled(traceRef)) |
Queries whether or not a trace keyword is enabled.
- Returns
- true if the keyword is enabled. false otherwise.
◆ le_log_DisableTrace
#define le_log_DisableTrace | ( | traceRef | ) | ((void)(*((bool*)(traceRef)) = false)) |
Disables a trace.
- Note
- Normally, this is not necessary, since traces can be enabled at runtime using the log control tool and can be persistently configured. See Log Controls.
- Parameters
-
traceRef [IN] Trace reference obtained from le_log_GetTraceRef()
◆ LE_LOG_DUMP
#define LE_LOG_DUMP | ( | level, | |
dataPtr, | |||
dataLength | |||
) | _le_LogData(level, dataPtr, dataLength, STRINGIZE(LE_FILENAME), _LE_LOG_FUNCTION_NAME, __LINE__) |
Dump a buffer of data as hexadecimal to the log at the specified level.
- Parameters
-
level Log level. dataPtr Binary data to dump. dataLength Length of the buffer.
◆ le_log_EnableTrace
#define le_log_EnableTrace | ( | traceRef | ) | ((void)(*((bool*)(traceRef)) = true)) |
Enables a trace.
- Note
- Normally, this is not necessary, since traces can be enabled at runtime using the log control tool and can be persistently configured. See Log Controls.
- Parameters
-
traceRef [IN] Trace reference obtained from le_log_GetTraceRef()
◆ le_log_GetFilterLevel
#define le_log_GetFilterLevel | ( | ) | ((LE_LOG_LEVEL_FILTER_PTR != NULL)?(*LE_LOG_LEVEL_FILTER_PTR):(LE_LOG_INFO)) |
Gets the log filter level for the calling component.
◆ le_log_GetTraceRef
#define le_log_GetTraceRef | ( | keywordPtr | ) | _le_log_GetTraceRef(LE_LOG_SESSION, (keywordPtr)) |
Gets a reference to a trace keyword's settings.
- Parameters
-
keywordPtr [IN] Pointer to the keyword string.
- Returns
- Trace reference.
◆ le_log_IsTraceEnabled
#define le_log_IsTraceEnabled | ( | traceRef | ) | (*((bool*)(traceRef))) |
Determines if a trace is currently enabled.
- Parameters
-
traceRef [IN] Trace reference obtained from le_log_GetTraceRef()
- Returns
- true if enabled, false if not.
◆ LE_LOG_LEVEL_STATIC_FILTER
#define LE_LOG_LEVEL_STATIC_FILTER LE_LOG_DEBUG |
Compile-time filtering level.
- Note
- Logs below this filter level will be removed at compile-time and cannot be enabled at runtime.
◆ le_log_SetFilterLevel
#define le_log_SetFilterLevel | ( | level | ) | _le_log_SetFilterLevel(LE_LOG_SESSION, (level)) |
Sets the log filter level for the calling component.
- Note
- Normally not necessary as the log filter level can be controlled at runtime using the log control tool, and can be persistently configured. See Log Controls.
- Parameters
-
level [IN] Log filter level to apply to the current log session.
◆ LE_RESULT_TXT
#define LE_RESULT_TXT | ( | v | ) | _le_log_GetResultCodeString(v) |
Get a null-terminated, printable string representing an le_result_t value.
For example, LE_RESULT_TXT(LE_NOT_PERMITTED) would return a pointer to a string containing "LE_NOT_PERMITTED".
"(unknown)" will be returned if the value given is out of range.
- Returns
- Pointer to a string constant.
◆ LE_TRACE
#define LE_TRACE | ( | traceRef, | |
string, | |||
... | |||
) |
if (le_log_IsTraceEnabled(traceRef)) \{ \_le_log_Send((le_log_Level_t)-1, \traceRef, \LE_LOG_SESSION, \STRINGIZE(LE_FILENAME), \_LE_LOG_FUNCTION_NAME, \__LINE__, \string, \##__VA_ARGS__); \}
Logs the string if the keyword has been enabled by a runtime tool or configuration setting.
◆ LE_WARN
#define LE_WARN | ( | formatString, | |
... | |||
) | _LE_LOG_MSG(LE_LOG_WARN, formatString, ##__VA_ARGS__) |
Warning. Possibly indicates a problem. Should be addressed.
◆ LE_WARN_IF
#define LE_WARN_IF | ( | condition, | |
formatString, | |||
... | |||
) | if (condition) { LE_WARN(formatString, ##__VA_ARGS__); } |
LE_WARN if condition is met.
Enumeration Type Documentation
◆ le_log_Level_t
enum le_log_Level_t |
Local definitions that should not be used directly.
Function Documentation
◆ _le_log_GetResultCodeString()
const char* _le_log_GetResultCodeString | ( | le_result_t | resultCode | ) |
Function that does the real work of translating result codes. See LE_RESULT_TXT.
- Parameters
-
[in] resultCode Result code value to be translated.