I think the proper way to say it would be "I have not had enough sleep, so I have been in a fog all day long"
"Haven't" is poor grammar but I guess easily accepted among conversations.
You could also say "I did not sleep at all last night" or "I did not sleep enough last night" and "so I have been 'out of it' all day" or "I have been tired all day."
If you want variety, say, "loopy" or "drained" instead of "in a fog" or "tired"
I hope this helps!