My employee never stops complaining, what do I do

Hello, I’ve been a manager going on 6 years. I’ve mainly managed a crew of around 8. I have one employee, we’ll call him W. Well W never stops complaining about his life. I am a very empathetic person and I genuinely care about my employees. I have been listening to him complain for 4 years now… he complains about never having enough time, not feeling good and never getting to do things for himself. Since day one I’ve always told him he can have whatever day off he wants he just needs to let me know. I tell him he can take a full weeks paid vacation but he NEVER gives me a date. Just complains. He sleeps all day, gets lunch and then comes in to work from 4pm-12am. He acts like no one else works full time and he’s just soooo overworked but refuses to take days off. I’ve even forcibly given him days off and yet he still comes back just as exasperated. I’ve went as far as cooking this man a full blown dinner and bringing it to him because he complained he couldn’t find a decent meal. STILL complained the next day. I’m just at a loss because this is a low paying job and I try to make it as fun as I can and show my employees I care about them. But I am so exhausted with listening to him and offering solutions with him to just not take them and continue to complain. I don’t want to ice him out but I’m at the point where I emotionally can’t deal with his complaining anymore. What do I do 😩