test

Committer:
peyo
Date:
Wed Apr 12 14:09:46 2017 +0200
Revision:
1:3f75eb8d46f4
Parent:
0:cd5404401c2f
add main

Who changed what in which revision?

UserRevisionLine numberNew contents of line
peyo 0:cd5404401c2f 1 /*
peyo 0:cd5404401c2f 2 * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
peyo 0:cd5404401c2f 3 *
peyo 0:cd5404401c2f 4 * Licensed under the Apache License, Version 2.0 (the "License").
peyo 0:cd5404401c2f 5 * You may not use this file except in compliance with the License.
peyo 0:cd5404401c2f 6 * A copy of the License is located at
peyo 0:cd5404401c2f 7 *
peyo 0:cd5404401c2f 8 * http://aws.amazon.com/apache2.0
peyo 0:cd5404401c2f 9 *
peyo 0:cd5404401c2f 10 * or in the "license" file accompanying this file. This file is distributed
peyo 0:cd5404401c2f 11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
peyo 0:cd5404401c2f 12 * express or implied. See the License for the specific language governing
peyo 0:cd5404401c2f 13 * permissions and limitations under the License.
peyo 0:cd5404401c2f 14 */
peyo 0:cd5404401c2f 15
peyo 0:cd5404401c2f 16 /**
peyo 0:cd5404401c2f 17 * @file aws_iot_log.h
peyo 0:cd5404401c2f 18 * @brief Logging macros for the SDK.
peyo 0:cd5404401c2f 19 * This file defines common logging macros with log levels to be used within the SDK.
peyo 0:cd5404401c2f 20 * These macros can also be used in the IoT application code as a common way to output
peyo 0:cd5404401c2f 21 * logs. The log levels can be tuned by modifying the makefile. Removing (commenting
peyo 0:cd5404401c2f 22 * out) the IOT_* statement in the makefile disables that log level.
peyo 0:cd5404401c2f 23 *
peyo 0:cd5404401c2f 24 * It is expected that the macros below will be modified or replaced when porting to
peyo 0:cd5404401c2f 25 * specific hardware platforms as printf may not be the desired behavior.
peyo 0:cd5404401c2f 26 */
peyo 0:cd5404401c2f 27
peyo 0:cd5404401c2f 28 #ifndef _IOT_LOG_H
peyo 0:cd5404401c2f 29 #define _IOT_LOG_H
peyo 0:cd5404401c2f 30
peyo 0:cd5404401c2f 31 #ifdef __cplusplus
peyo 0:cd5404401c2f 32 extern "C" {
peyo 0:cd5404401c2f 33 #endif
peyo 0:cd5404401c2f 34
peyo 0:cd5404401c2f 35 #include <stdio.h>
peyo 0:cd5404401c2f 36 #include <stdlib.h>
peyo 0:cd5404401c2f 37
peyo 0:cd5404401c2f 38 /**
peyo 0:cd5404401c2f 39 * @brief Debug level logging macro.
peyo 0:cd5404401c2f 40 *
peyo 0:cd5404401c2f 41 * Macro to expose function, line number as well as desired log message.
peyo 0:cd5404401c2f 42 */
peyo 0:cd5404401c2f 43 #ifdef ENABLE_IOT_DEBUG
peyo 0:cd5404401c2f 44 #define IOT_DEBUG(...) \
peyo 0:cd5404401c2f 45 {\
peyo 0:cd5404401c2f 46 printf("DEBUG: %s L#%d ", __func__, __LINE__); \
peyo 0:cd5404401c2f 47 printf(__VA_ARGS__); \
peyo 0:cd5404401c2f 48 printf("\n"); \
peyo 0:cd5404401c2f 49 }
peyo 0:cd5404401c2f 50 #else
peyo 0:cd5404401c2f 51 #define IOT_DEBUG(...)
peyo 0:cd5404401c2f 52 #endif
peyo 0:cd5404401c2f 53
peyo 0:cd5404401c2f 54 /**
peyo 0:cd5404401c2f 55 * @brief Debug level trace logging macro.
peyo 0:cd5404401c2f 56 *
peyo 0:cd5404401c2f 57 * Macro to print message function entry and exit
peyo 0:cd5404401c2f 58 */
peyo 0:cd5404401c2f 59 #ifdef ENABLE_IOT_TRACE
peyo 0:cd5404401c2f 60 #define FUNC_ENTRY \
peyo 0:cd5404401c2f 61 {\
peyo 0:cd5404401c2f 62 printf("FUNC_ENTRY: %s L#%d \n", __func__, __LINE__); \
peyo 0:cd5404401c2f 63 }
peyo 0:cd5404401c2f 64 #define FUNC_EXIT \
peyo 0:cd5404401c2f 65 {\
peyo 0:cd5404401c2f 66 printf("FUNC_EXIT: %s L#%d \n", __func__, __LINE__); \
peyo 0:cd5404401c2f 67 }
peyo 0:cd5404401c2f 68 #define FUNC_EXIT_RC(x) \
peyo 0:cd5404401c2f 69 {\
peyo 0:cd5404401c2f 70 printf("FUNC_EXIT: %s L#%d Return Code : %d \n", __func__, __LINE__, x); \
peyo 0:cd5404401c2f 71 return x; \
peyo 0:cd5404401c2f 72 }
peyo 0:cd5404401c2f 73 #else
peyo 0:cd5404401c2f 74 #define FUNC_ENTRY
peyo 0:cd5404401c2f 75
peyo 0:cd5404401c2f 76 #define FUNC_EXIT
peyo 0:cd5404401c2f 77 #define FUNC_EXIT_RC(x) { return x; }
peyo 0:cd5404401c2f 78 #endif
peyo 0:cd5404401c2f 79
peyo 0:cd5404401c2f 80 /**
peyo 0:cd5404401c2f 81 * @brief Info level logging macro.
peyo 0:cd5404401c2f 82 *
peyo 0:cd5404401c2f 83 * Macro to expose desired log message. Info messages do not include automatic function names and line numbers.
peyo 0:cd5404401c2f 84 */
peyo 0:cd5404401c2f 85 #ifdef ENABLE_IOT_INFO
peyo 0:cd5404401c2f 86 #define IOT_INFO(...) \
peyo 0:cd5404401c2f 87 {\
peyo 0:cd5404401c2f 88 printf(__VA_ARGS__); \
peyo 0:cd5404401c2f 89 printf("\n"); \
peyo 0:cd5404401c2f 90 }
peyo 0:cd5404401c2f 91 #else
peyo 0:cd5404401c2f 92 #define IOT_INFO(...)
peyo 0:cd5404401c2f 93 #endif
peyo 0:cd5404401c2f 94
peyo 0:cd5404401c2f 95 /**
peyo 0:cd5404401c2f 96 * @brief Warn level logging macro.
peyo 0:cd5404401c2f 97 *
peyo 0:cd5404401c2f 98 * Macro to expose function, line number as well as desired log message.
peyo 0:cd5404401c2f 99 */
peyo 0:cd5404401c2f 100 #ifdef ENABLE_IOT_WARN
peyo 0:cd5404401c2f 101 #define IOT_WARN(...) \
peyo 0:cd5404401c2f 102 { \
peyo 0:cd5404401c2f 103 printf("WARN: %s L#%d ", __func__, __LINE__); \
peyo 0:cd5404401c2f 104 printf(__VA_ARGS__); \
peyo 0:cd5404401c2f 105 printf("\n"); \
peyo 0:cd5404401c2f 106 }
peyo 0:cd5404401c2f 107 #else
peyo 0:cd5404401c2f 108 #define IOT_WARN(...)
peyo 0:cd5404401c2f 109 #endif
peyo 0:cd5404401c2f 110
peyo 0:cd5404401c2f 111 /**
peyo 0:cd5404401c2f 112 * @brief Error level logging macro.
peyo 0:cd5404401c2f 113 *
peyo 0:cd5404401c2f 114 * Macro to expose function, line number as well as desired log message.
peyo 0:cd5404401c2f 115 */
peyo 0:cd5404401c2f 116 #ifdef ENABLE_IOT_ERROR
peyo 0:cd5404401c2f 117 #define IOT_ERROR(...) \
peyo 0:cd5404401c2f 118 { \
peyo 0:cd5404401c2f 119 printf("ERROR: %s L#%d ", __func__, __LINE__); \
peyo 0:cd5404401c2f 120 printf(__VA_ARGS__); \
peyo 0:cd5404401c2f 121 printf("\n"); \
peyo 0:cd5404401c2f 122 }
peyo 0:cd5404401c2f 123 #else
peyo 0:cd5404401c2f 124 #define IOT_ERROR(...)
peyo 0:cd5404401c2f 125 #endif
peyo 0:cd5404401c2f 126
peyo 0:cd5404401c2f 127 #ifdef __cplusplus
peyo 0:cd5404401c2f 128 }
peyo 0:cd5404401c2f 129 #endif
peyo 0:cd5404401c2f 130
peyo 0:cd5404401c2f 131 #endif // _IOT_LOG_H