1 /*
2  * coreMQTT Agent v1.1.0
3  * Copyright (C) 2021 Amazon.com, Inc. or its affiliates.  All Rights Reserved.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of
6  * this software and associated documentation files (the "Software"), to deal in
7  * the Software without restriction, including without limitation the rights to
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9  * the Software, and to permit persons to whom the Software is furnished to do so,
10  * subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included in all
13  * copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21  */
22 
23 /**
24  * @file logging_levels.h
25  * @brief Defines the logging level macros.
26  */
27 
28 #ifndef LOGGING_LEVELS_H_
29 #define LOGGING_LEVELS_H_
30 
31 /**
32  * @brief No log messages.
33  *
34  * When @ref LIBRARY_LOG_LEVEL is #LOG_NONE, logging is disabled and no
35  * logging messages are printed.
36  */
37 #define LOG_NONE     0
38 
39 /**
40  * @brief Represents erroneous application state or event.
41  *
42  * These messages describe the situations when a library encounters an error from
43  * which it cannot recover.
44  *
45  * These messages are printed when @ref LIBRARY_LOG_LEVEL is defined as either
46  * of #LOG_ERROR, #LOG_WARN, #LOG_INFO or #LOG_DEBUG.
47  */
48 #define LOG_ERROR    1
49 
50 /**
51  * @brief Message about an abnormal event.
52  *
53  * These messages describe the situations when a library encounters
54  * abnormal event that may be indicative of an error. Libraries continue
55  * execution after logging a warning.
56  *
57  * These messages are printed when @ref LIBRARY_LOG_LEVEL is defined as either
58  * of #LOG_WARN, #LOG_INFO or #LOG_DEBUG.
59  */
60 #define LOG_WARN     2
61 
62 /**
63  * @brief A helpful, informational message.
64  *
65  * These messages describe normal execution of a library. They provide
66  * the progress of the program at a coarse-grained level.
67  *
68  * These messages are printed when @ref LIBRARY_LOG_LEVEL is defined as either
69  * of #LOG_INFO or #LOG_DEBUG.
70  */
71 #define LOG_INFO     3
72 
73 /**
74  * @brief Detailed and excessive debug information.
75  *
76  * Debug log messages are used to provide the
77  * progress of the program at a fine-grained level. These are mostly used
78  * for debugging and may contain excessive information such as internal
79  * variables, buffers, or other specific information.
80  *
81  * These messages are only printed when @ref LIBRARY_LOG_LEVEL is defined as
82  * #LOG_DEBUG.
83  */
84 #define LOG_DEBUG    4
85 
86 /* The macro definition for LIBRARY_LOG_LEVEL is for Doxygen
87  * documentation only. This macro is typically defined in only the
88  * <library>_config.h file or the demo_config.h file. */
89 
90 /**
91  * @brief The logging level verbosity configuration of log messages from library.
92  *
93  * The logging verbosity levels are one of #LOG_DEBUG, #LOG_INFO, #LOG_WARN,
94  * and #LOG_ERROR.
95  * - With level #LOG_NONE, logging will be disabled.
96  * - With level #LOG_DEBUG, all log messages will print.
97  * - With level #LOG_INFO, all log messages, except level #LOG_DEBUG, will print.
98  * - With level #LOG_WARN, only messages this level and #LOG_ERROR level will print.
99  * - With level #LOG_ERROR, only messages at this level will print.
100  */
101 #ifdef DOXYGEN
102     #define LIBRARY_LOG_LEVEL    LOG_ERROR
103 #endif
104 
105 #endif /* ifndef LOGGING_LEVELS_H_ */
106