BLYNK_PRINT and BLYNK_DEBUG usage question

#define BLYNK_PRINT Serial // Defines the object that is used for printing
#define BLYNK_DEBUG // Optional, this enables more detailed prints

These are defined at the top of the sketch
BLYNK_PRINT assigns which serial port that BLYNK_DEBUG will use. Is this correct?

If BLYNK_DEBUG is defined then the sketch will output to the defined BLYNK_PRINT serial port BLYNK runtime debug messages. I still need to use Serial.Print to output user messages. Is this correct.

With BLYNK_DEBUG undefined, no BLYNK runtime debug messages will be sent but user messages sent via Serial.Println calls will be sent. Is this correct?

I need to define BLYNK_PRINT in order to use BLYNK_LOG calls in my sketch. Is this correct. I usually use snprint calls to format messages with data values. Does BLYNK_LOG store the text of the messages in flash memory or in ram?

Thanks for helping a noob understanding their usage.