Something like this should work.
Log::query()
->selectRaw('to_char(submit_date, 'YYYY-MM-DD') AS sent_at, status as stat, count(username) as t')
->where('username', $this->currentUser()->username)
->whereBetween('submit_date', [$start, $end])
->groupBy(['sent_at', 'stat'])
->orderBy('sent_at);
If you need more control over submit_date then try:
Log::query()
->selectRaw('to_char(submit_date, 'YYYY-MM-DD') AS sent_at, status as stat, count(username) as t')
->where('username', $this->currentUser()->username)
->where(function ($query): void {
$query->whereBetween('submit_date', [$start, $end])->whereRaw('LOCALTIMESTAMP');
})
->groupBy(['sent_at', 'stat'])
->orderBy('sent_at);