Java dev here. That's a config problem. When configured correctly, log4j will roll over log files based on time or size, and I'm pretty sure it supports removing/archiving old log files too.
If the system grinds to a halt because it ran out of disk space, then someone wasn't monitoring the production system's disk usage properly. Something like Nagios to catch this in advance isn't that hard.
Yes, log files can be large, and some devs do put too much into them, but they're preferable to having that one case when something goes horribly wrong and you not being able to explain what happened because you don't have them. Enabling them after a problem and hoping it happens again to catch it this time isn't practical.