1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
/*
* Copyright (c) 2019, The OpenThread Authors.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the copyright holder nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/**
* @file
* This file includes compile-time configurations for the logging service.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_OUTPUT
*
* Selects if, and where the LOG output goes to.
*
* There are several options available
* - @sa OPENTHREAD_CONFIG_LOG_OUTPUT_NONE
* - @sa OPENTHREAD_CONFIG_LOG_OUTPUT_DEBUG_UART
* - @sa OPENTHREAD_CONFIG_LOG_OUTPUT_APP
* - @sa OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED
* - @sa OPENTHREAD_CONFIG_LOG_OUTPUT_NCP_SPINEL
* - and others
*
* Note:
*
* 1) Because the default is: OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED
* The platform is expected to provide at least a stub for `otPlatLog()`.
*
* 2) This is effectively an ENUM so it can be if/else/endif at compile time.
*
*/
/** Log output goes to the bit bucket (disabled) */
/** Log output goes to the debug uart - requires OPENTHREAD_CONFIG_ENABLE_DEBUG_UART to be enabled */
/** Log output goes to the "application" provided otPlatLog() in NCP and CLI code */
/** Log output is handled by a platform defined function */
/** Log output for NCP goes to Spinel `STREAM_LOG` property (for CLI platform defined function is expected) */
/**
* @def OPENTHREAD_CONFIG_LOG_LEVEL
*
* The log level (used at compile time). If `OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE` is set, this defines the most
* verbose log level possible. See `OPENTHREAD_CONFIG_LOG_LEVEL_INIT` to set the initial log level.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE
*
* Define as 1 to enable dynamic log level control.
*
* Note that the OPENTHREAD_CONFIG_LOG_LEVEL determines the log level at
* compile time. The dynamic log level control (if enabled) only allows
* decreasing the log level from the compile time value.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_LEVEL_INIT
*
* The initial log level used when OpenThread is initialized. See
* `OPENTHREAD_CONFIG_LOG_LEVEL_DYNAMIC_ENABLE`.
*/
/**
* @def OPENTHREAD_CONFIG_LOG_API
*
* Define to enable OpenThread API logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_MLE
*
* Define to enable MLE logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_ARP
*
* Define to enable EID-to-RLOC map logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_NETDATA
*
* Define to enable Network Data logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_ICMP
*
* Define to enable ICMPv6 logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_IP6
*
* Define to enable IPv6 logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_MAC
*
* Define to enable IEEE 802.15.4 MAC logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_MEM
*
* Define to enable memory logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_PKT_DUMP
*
* Define to enable log content of packets.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_NETDIAG
*
* Define to enable network diagnostic logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_PLATFORM
*
* Define to enable platform region logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_CLI
*
* Define to enable CLI logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_COAP
*
* Define to enable COAP logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_CORE
*
* Define to enable OpenThread Core logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_UTIL
*
* Define to enable OpenThread Utility module logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_BBR
*
* Note: available since Thread 1.2.
*
* Define to enable Backbone Router (BBR) region logging.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL
*
* Define to prepend the log level to all log messages.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_PREPEND_REGION
*
* Define to prepend the log region to all log messages.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_SUFFIX
*
* Define suffix to append at the end of logs.
*
*/
/**
* @def OPENTHREAD_CONFIG_LOG_SRC_DST_IP_ADDRESSES
*
* If defined as 1 when IPv6 message info is logged in mesh-forwarder, the source and destination IPv6 addresses of
* messages are also included.
*
*/
/**
* @def OPENTHREAD_CONFIG_PLAT_LOG_FUNCTION
*
* Defines the name of function/macro used for logging inside OpenThread, by default it is set to `otPlatLog()`.
*
*/
// CONFIG_LOGGING_H_