He is old enough to learn that you will not get him up during the night. I would swaddle him after feeding him, put him in the crib, and when he wakes 4 hours later to eat, change his diaper in the dark, feed him, put him down after burping him and swaddling him again, and walk out. Don't hold him, don't rock him, just walk out.
He will start to finally fall asleep when he knows you won't come back in to him. He is looking to you to entertain him - that's why he is staying awake. He wants to party. You need to not give him the attention because he has to learn that night time is sleeping time.
Don't go back in to feed him until 6:30 or 7:00 am and then don't put him back to bed until mid-morning. Keep a very strict schedule of bedtime and when you get him up in the morning. That will help.
There are some babies who don't sleep much. I feel for you - it's hard. It can have something to do with how you lay them down - some can't sleep on their sides or their backs. My younger son was like that, and we had to put him on his stomach so that he could sleep.
Dawn