When I set up my stats I looked around a few times for some examples and never found anything. I finally got mine working recently, so I posted my formats as much for my own reference as anyone else.
First, this web server is nginx. Changing the log format is trivial. My nginx.conf log_format block looks like this:
log_format main '$remote_addr [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent"';
Then awstats has to consume the log. Of course it doesn't use the same configuration language, but it's not too bad. My awstats.conf looks like this:
LogFormat = "%host %time1 %methodurl %code %bytesd %referer"
No rocket science here, but maybe it'll save you some time figuring it out for yourself. I haven't run this format long enough to be sure I won't add something to it. If I do, I'll update here.
Quick update, I forgot to add, to get nginx to re-read the config files on the fly, use this:
kill -HUP 1234
where 1234 is your pid. You can have nginx recreate the log files (if you've moved them during your debugging cycle) with
kill -USR1 1234
I pulled the quotes from the return code. doh!