This is all controlled via the maintenance script /etc/periodic/weekly/500.weekly, specifically:
...
cd /var/log/httpd
for i in access_log error_log; do
if [ -f "${i}" ]; then
echo -n " $i"
if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
if [ -f "${i}.3${gzext}" ]; then mv -f "${i}.3${gzext}" "${i}.4${gzext}"; fi
if [ -f "${i}.2${gzext}" ]; then mv -f "${i}.2${gzext}" "${i}.3${gzext}"; fi
if [ -f "${i}.1${gzext}" ]; then mv -f "${i}.1${gzext}" "${i}.2${gzext}"; fi
if [ -f "${i}.0${gzext}" ]; then mv -f "${i}.0${gzext}" "${i}.1${gzext}"; fi
if [ -f "${i}" ]; then mv -f "${i}" "${i}.0" && if [ -x /usr/bin/gzip ]; then gzip -9 "${i}.0"; fi; fi
touch "${i}" && chmod 640 "${i}" && chown root:admin "${i}"
fi
done
If you don't want this to happen, either set your own cron task to move the log files as necessary or edit this script to do what you want.
Why is Apache archiving my log files and can it be stopped?
I have a HUGH hard drive on this iMac. A 200MB log file is not going to be a problem
Everything's relative I suppose.
I run some large servers that generate that amount of logs in less than a week so one perpetual log file is not an option.
It's also more efficient for the system to maintain smaller log files. You'll also find that parsing 10 small log files is quicker than parsing one big file, especially if you're looking for a specific time entry. All my logs rotate at least daily and some hourly) so at worst I have one day's worth of logs to walk through, and I know exactly which log file to look at.
At the end of the day it's your machine and you should configure it in whatever way makes sense for you. If you don't like the defaults that Apple have set (and neither you nor I do, for different reasons) feel free to change it.