Forum OpenACS Q&A: default OpenACS solution
added log-rolling to the to-do list for docs - I can just add it to the default config.tcl file, right?
Joel, you're on the right track but it's not quite that simple.
First, here's all the stuff I have in my AOLserver config.tcl related to both the server and access logs. You may want to change some of the settings for the OpenACS default config.tcl (I'm not sure), but you should at least look at what all of these do:
ns_section ns/parameters ns_param serverlog $error_log_full_filename($which) # Number of days to keep old error logs around: ns_param maxbackup 7 ns_section ns/server/$server_name/module/nslog ns_param File $access_log_full_filename # Number of days to keep old access logs around: ns_param maxbackup 7 ns_param EnableHostnameLookup Off ns_param LogRefer Off ns_param LogUserAgent Off ns_param maxbackup 7 ns_param RollDay * ns_param RollFmt %Y-%m-%d-%H:%M ns_param RollHour 0 ns_param RollOnSignal On ns_param RollLog On ns_param ExtendedHeaders X-User-Tracking
The settings above will take care of rolling the access log without doing anything else. But to roll the server log, you need to schedule ns_logroll (usually once per night at midnight) to roll the log. See my old Jan. 18 2003 definition of my dtk_roll_server_log proc above.
I think using a simple helper proc like that is a bit nicer than scheduling ns_logroll directly, because it writes a notice to the log before and after telling you what's going on. So you just need a proc like that (probably named "ad_roll_server_log"), and the call to ad_schedule_proc.
Hm, I don't see anywhere better to put it, so,
ad_roll_server_log should probably just go into
packages/acs-tcl/tcl/utilities-proc.tcl, and the call to
ad_schedule_proc should go into the matching
Once that's all done... then the only thing to put into the docs is pointers to those places, and telling people how to change it in case they need to.