No output from ESP_LOGD

I switched from arduino

framework = Arduino
platform = espressif32

to espidf+arduino:

framework = Arduino, espidf
platform = espressif32

And after this, I no longer get any output from my ESP_LOGD statements. ESP_LOGE, ESP_LOGW, and ESP_LOGI still work.

I assume I have to turn on some debug flag but I have tried everything I can find and nothing works. I have tried:

  1. build flags:
build_flags = 
  -DCORE_DEBUG_LEVEL=4
  1. sdkconfig settings
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG=y
CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG=y
CONFIG_BOOTLOADER_LOG_LEVEL=4

CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_ARDUHAL_LOG_DEFAULT_LEVEL=4
  1. local headers

#define LOG_LOCAL_LEVEL ESP_LOG_DEBUG

  1. code wildcards

esp_log_level_set("*", ESP_LOG_DEBUG);

None of this works. I must be missing some really obvious setting but I cannot find it and none of the threads I can find have the solution either.

The weird thing is, I am getting some debug [D] messages from internal libraries such as:

[ 6796][D][WiFiGeneric.cpp:1039] _eventCallback(): Arduino Event: 0 - WIFI_READY

I found that adding this will display the debug items for my program, but also all the debug items for all other libraries which rapidly overwhelms all of the terminal buffer.

CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL=4
CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=y
CONFIG_LOG_MAXIMUM_LEVEL=4

I added these to main() make that manageable:

  // Default everything to WARN except my APP logs
  esp_log_level_set("*", ESP_LOG_WARN);
  esp_log_level_set("MyApp", ESP_LOG_DEBUG);

  // show what levels are supported
  ESP_LOGE("MyApp, "Error Reporting On");
  ESP_LOGW("MyApp, "Warning Reporting On");
  ESP_LOGI("MyApp, "Information Reporting On");
  ESP_LOGD("MyApp, "Debug Reporting On");
  ESP_LOGV("MyApp, "Verbose Reporting On");

I don’t feel this is the right solution. I would prefer a flag exists that enabled my code’s ESP_LOGD output without displaying the debug output for every other included library.