Cant get leonardo to just boot and begin outputting serial on USB

I have code that works fine on a 2560.

I just gathers analog data, writes the data to a serial logger on Serial1
It then outputs the same data on Serial(sub) and I collect it with a USB device (windows machine or android phone)

When I turn on the 2560, it just begins outputting the serial data.

With the leonardo (same code) it does not start outputting the usb data until after I connect TO the usb port with teraterm.

I assume there is some sort of code that I can add that will jumpstart the USB on leonardo without it first getting some sort of handshake?

make a new Serial port and try it might works, like as below

include <SoftwareSerial.h>
#define rxPin 10
#define txPin 11
int led = 13;
int fadeOut =0;
int fadeIn =1;

// set up a new serial port
SoftwareSerial bluetoothPort = SoftwareSerial(rxPin, txPin);

void setup() {
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
pinMode(led,OUTPUT);
// begin new port
bluetoothPort.begin(57600);

Are you using Serial on the Leonardo? Do you have while(!Serial); at the top of your code like most Leonardo sketches?

The thing is, it handles serial totally different to the other Arduinos. Some people don't like it. I personally do think it's a good idea. It is doing the USB interfacing on board the ATMega32U4 which means it is assembling the serial data into USB packets. Unfortunately, to keep it simple, you don't have much control over this process.

Ditch the while(!Serial); and see if it does what you want.

Unfortunately, as a USB device, disconnecting and reconnecting is expected to reset the device. You don't expect a USB thumb drive to keep doing some data logging after it's disconnected do you?