Contiki-NG
coap-log.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017, RISE SICS.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  * 3. Neither the name of the copyright holder nor the names of its
14  * contributors may be used to endorse or promote products derived
15  * from this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
18  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
20  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
21  * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
22  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28  * OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30 
31 /**
32  * \file
33  * Log support for CoAP
34  * \author
35  * Niclas Finne <niclas.finne@ri.se>
36  * Joakim Eriksson <joakim.eriksson@ri.se>
37  */
38 
39 /**
40  * \addtogroup coap
41  * @{
42  */
43 
44 #ifndef COAP_LOG_H_
45 #define COAP_LOG_H_
46 
47 #include "contiki.h"
48 
49 #ifdef COAP_LOG_CONF_PATH
50 #include COAP_LOG_CONF_PATH
51 #else /* COAP_LOG_CONF_PATH */
52 #include "sys/log.h"
53 #endif /* COAP_LOG_CONF_PATH */
54 
55 #include "coap-endpoint.h"
56 
57 /* CoAP endpoint */
58 #define LOG_COAP_EP(level, endpoint) do { \
59  if(level <= (LOG_LEVEL)) { \
60  coap_endpoint_log(endpoint); \
61  } \
62  } while (0)
63 
64 #define LOG_ERR_COAP_EP(endpoint) LOG_COAP_EP(LOG_LEVEL_ERR, endpoint)
65 #define LOG_WARN_COAP_EP(endpoint) LOG_COAP_EP(LOG_LEVEL_WARN, endpoint)
66 #define LOG_INFO_COAP_EP(endpoint) LOG_COAP_EP(LOG_LEVEL_INFO, endpoint)
67 #define LOG_DBG_COAP_EP(endpoint) LOG_COAP_EP(LOG_LEVEL_DBG, endpoint)
68 
69 /* CoAP strings */
70 #define LOG_COAP_STRING(level, text, len) do { \
71  if(level <= (LOG_LEVEL)) { \
72  coap_log_string(text, len); \
73  } \
74  } while (0)
75 
76 #define LOG_ERR_COAP_STRING(text, len) LOG_COAP_STRING(LOG_LEVEL_ERR, text, len)
77 #define LOG_WARN_COAP_STRING(text, len) LOG_COAP_STRING(LOG_LEVEL_WARN, text, len)
78 #define LOG_INFO_COAP_STRING(text, len) LOG_COAP_STRING(LOG_LEVEL_INFO, text, len)
79 #define LOG_DBG_COAP_STRING(text, len) LOG_COAP_STRING(LOG_LEVEL_DBG, text, len)
80 
81 /**
82  * \brief Logs a CoAP string that has a length but might not be 0-terminated.
83  * \param text The CoAP string
84  * \param len The number of characters in the CoAP string
85  */
86 void coap_log_string(const char *text, size_t len);
87 
88 #endif /* COAP_LOG_H_ */
89 /** @} */
API to address CoAP endpoints
void coap_log_string(const char *text, size_t len)
Logs a CoAP string that has a length but might not be 0-terminated.
Definition: coap-log.c:47
Header file for the logging system