menu "Log output"

    choice LOG_DEFAULT_LEVEL
        bool "Default log verbosity"
        default LOG_DEFAULT_LEVEL_INFO
        help
            Specify how much output to see in logs by default.
            You can set lower verbosity level at runtime using
            esp_log_level_set function.

            Note that this setting limits which log statements
            are compiled into the program. So setting this to, say,
            "Warning" would mean that changing log level to "Debug"
            at runtime will not be possible.

        config LOG_DEFAULT_LEVEL_NONE
            bool "No output"
        config LOG_DEFAULT_LEVEL_ERROR
            bool "Error"
        config LOG_DEFAULT_LEVEL_WARN
            bool "Warning"
        config LOG_DEFAULT_LEVEL_INFO
            bool "Info"
        config LOG_DEFAULT_LEVEL_DEBUG
            bool "Debug"
        config LOG_DEFAULT_LEVEL_VERBOSE
            bool "Verbose"
    endchoice

    config LOG_DEFAULT_LEVEL
        int
        default 0 if LOG_DEFAULT_LEVEL_NONE
        default 1 if LOG_DEFAULT_LEVEL_ERROR
        default 2 if LOG_DEFAULT_LEVEL_WARN
        default 3 if LOG_DEFAULT_LEVEL_INFO
        default 4 if LOG_DEFAULT_LEVEL_DEBUG
        default 5 if LOG_DEFAULT_LEVEL_VERBOSE

    config LOG_COLORS
        bool "Use ANSI terminal colors in log output"
        default "y"
        help
            Enable ANSI terminal color codes in bootloader output.

            In order to view these, your terminal program must support ANSI color codes.

    choice LOG_TIMESTAMP_SOURCE
        prompt "Log Timestamps"
        default LOG_TIMESTAMP_SOURCE_RTOS
        help
            Choose what sort of timestamp is displayed in the log output:

            - Milliseconds since boot is calulated from the RTOS tick count multiplied
              by the tick period. This time will reset after a software reboot.
              e.g. (90000)

            - System time is taken from POSIX time functions which use the ESP32's
              RTC and FRC1 timers to maintain an accurate time. The system time is
              initialized to 0 on startup, it can be set with an SNTP sync, or with
              POSIX time functions. This time will not reset after a software reboot.
              e.g. (00:01:30.000)

            - NOTE: Currently this will not get used in logging from binary blobs
              (i.e WiFi & Bluetooth libraries), these will always print
              milliseconds since boot.

        config LOG_TIMESTAMP_SOURCE_RTOS
            bool "Milliseconds Since Boot"
        config LOG_TIMESTAMP_SOURCE_SYSTEM
            bool "System Time"
    endchoice

endmenu
