How can I extend the time when system.log gets turned over? Right now my system.log gets recreated every 24 hours or so with a message like:

Jan  4 00:30:01 Mac newsyslog[63416]: logfile turned over


Can I change a setting such that it will get rotated every month? Or every week?  

Having a much longer time would allow for better visibility of the progression of some errors.
You use newsyslog command. There is plenty of online documentation out there on how to do this, but here's a start:

https://serverfault.com/questions/264292/osx-var-log-system-log-where-do-i-define-pruning-interval