Log Rotation

Rails applications tend to be very verbose in their logging. Instiki is no exception. By default, this branch of Instiki rotates its logfile (logs/production.log) whenever the logfile grows to about 1MB in size, keeping the last 25 files. This log rotation feature is built into the standard Ruby Logger class. The precise parameters can be customized in config/environments/production.rb.

If you’re using the default WEBrick server, or a single Mongrel instance, you probably don’t need to touch it. However, if you’re running a Mongrel cluster or FastCGI, the default logging configuration will not work well for you. The problem is that you will have several processes, all trying to write to (and rotate) the same logfile. And Ruby’s Logger class was not designed with this in mind. It implements no file-locking.

One solution is discussed here. Another is to use an external script, like logrotate. In either case, you will have to edit the settings in config/environments/production.rb.

N.B.: Log Rotation does not seem to work on (some?) Windows installations. Instead, when Instiki tries to rotate the log file, a 500 Application Error occurs. See the workaround here.

Cache Cleaning

Instiki uses action caching. For the most part, Instiki is smart about clearing the cache. There are, however, times when, despite the best of intentions, the cache becomes stale.

If you have commandline access, deleting the corresponding file(s) in the cache/view/ directory will do the trick. Otherwise, try editing the offending page, and that will expire the cache.