1menu "Log output"
2
3    choice LOG_DEFAULT_LEVEL
4        bool "Default log verbosity"
5        default LOG_DEFAULT_LEVEL_INFO
6        help
7            Specify how much output to see in logs by default.
8            You can set lower verbosity level at runtime using
9            esp_log_level_set function.
10
11            By default, this setting limits which log statements
12            are compiled into the program. For example, selecting
13            "Warning" would mean that changing log level to "Debug"
14            at runtime will not be possible. To allow increasing log
15            level above the default at runtime, see the next option.
16
17        config LOG_DEFAULT_LEVEL_NONE
18            bool "No output"
19        config LOG_DEFAULT_LEVEL_ERROR
20            bool "Error"
21        config LOG_DEFAULT_LEVEL_WARN
22            bool "Warning"
23        config LOG_DEFAULT_LEVEL_INFO
24            bool "Info"
25        config LOG_DEFAULT_LEVEL_DEBUG
26            bool "Debug"
27        config LOG_DEFAULT_LEVEL_VERBOSE
28            bool "Verbose"
29    endchoice
30
31    config LOG_DEFAULT_LEVEL
32        int
33        default 0 if LOG_DEFAULT_LEVEL_NONE
34        default 1 if LOG_DEFAULT_LEVEL_ERROR
35        default 2 if LOG_DEFAULT_LEVEL_WARN
36        default 3 if LOG_DEFAULT_LEVEL_INFO
37        default 4 if LOG_DEFAULT_LEVEL_DEBUG
38        default 5 if LOG_DEFAULT_LEVEL_VERBOSE
39
40    choice LOG_MAXIMUM_LEVEL
41        bool "Maximum log verbosity"
42        default LOG_MAXIMUM_EQUALS_DEFAULT
43        help
44            This config option sets the highest log verbosity that it's possible to select
45            at runtime by calling esp_log_level_set(). This level may be higher than
46            the default verbosity level which is set when the app starts up.
47
48            This can be used enable debugging output only at a critical point, for a particular
49            tag, or to minimize startup time but then enable more logs once the firmware has
50            loaded.
51
52            Note that increasing the maximum available log level will increase the firmware
53            binary size.
54
55            This option only applies to logging from the app, the bootloader log level is
56            fixed at compile time to the separate "Bootloader log verbosity" setting.
57
58        config LOG_MAXIMUM_EQUALS_DEFAULT
59            bool "Same as default"
60        config LOG_MAXIMUM_LEVEL_ERROR
61            bool "Error"
62            depends on LOG_DEFAULT_LEVEL < 1
63        config LOG_MAXIMUM_LEVEL_WARN
64            bool "Warning"
65            depends on LOG_DEFAULT_LEVEL < 2
66        config LOG_MAXIMUM_LEVEL_INFO
67            bool "Info"
68            depends on LOG_DEFAULT_LEVEL < 3
69        config LOG_MAXIMUM_LEVEL_DEBUG
70            bool "Debug"
71            depends on LOG_DEFAULT_LEVEL < 4
72        config LOG_MAXIMUM_LEVEL_VERBOSE
73            bool "Verbose"
74            depends on LOG_DEFAULT_LEVEL < 5
75    endchoice
76
77    config LOG_MAXIMUM_LEVEL
78        int
79        default LOG_DEFAULT_LEVEL if LOG_MAXIMUM_EQUALS_DEFAULT
80        default 0 if LOG_MAXIMUM_LEVEL_NONE
81        default 1 if LOG_MAXIMUM_LEVEL_ERROR
82        default 2 if LOG_MAXIMUM_LEVEL_WARN
83        default 3 if LOG_MAXIMUM_LEVEL_INFO
84        default 4 if LOG_MAXIMUM_LEVEL_DEBUG
85        default 5 if LOG_MAXIMUM_LEVEL_VERBOSE
86
87    config LOG_COLORS
88        bool "Use ANSI terminal colors in log output"
89        default "y"
90        help
91            Enable ANSI terminal color codes in bootloader output.
92
93            In order to view these, your terminal program must support ANSI color codes.
94
95    choice LOG_TIMESTAMP_SOURCE
96        prompt "Log Timestamps"
97        default LOG_TIMESTAMP_SOURCE_RTOS
98        help
99            Choose what sort of timestamp is displayed in the log output:
100
101            - Milliseconds since boot is calulated from the RTOS tick count multiplied
102              by the tick period. This time will reset after a software reboot.
103              e.g. (90000)
104
105            - System time is taken from POSIX time functions which use the ESP32's
106              RTC and FRC1 timers to maintain an accurate time. The system time is
107              initialized to 0 on startup, it can be set with an SNTP sync, or with
108              POSIX time functions. This time will not reset after a software reboot.
109              e.g. (00:01:30.000)
110
111            - NOTE: Currently this will not get used in logging from binary blobs
112              (i.e WiFi & Bluetooth libraries), these will always print
113              milliseconds since boot.
114
115        config LOG_TIMESTAMP_SOURCE_RTOS
116            bool "Milliseconds Since Boot"
117        config LOG_TIMESTAMP_SOURCE_SYSTEM
118            bool "System Time"
119    endchoice
120
121endmenu
122