Contiki-NG
Loading...
Searching...
No Matches
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 specified, but might
83 * not be zero-terminated.
84 *
85 * \param text The CoAP string.
86 * \param len The number of characters in the CoAP string.
87 */
88void coap_log_string(const char *text, size_t len);
89
90#endif /* COAP_LOG_H_ */
91/** @} */
API to address CoAP endpoints.
void coap_log_string(const char *text, size_t len)
Logs a CoAP string that has a length specified, but might not be zero-terminated.
Definition coap-log.c:47
Header file for the logging system.