User-Agent Log Watch (ULW) processes custom Apache logs and reports hits based on combinations of URL, user agent, and remote IP address. It maintains a list of known IPs, so they aren't reported twice. The list of URL/UA/IP is stored in a configuration file, and its entries can be regexp-understood by gawk. It can be cronned or it can call mail/sendmail. The custom log is reset each time ULW is invoked and processed logs are gzipped and stored in a different location.
StreamLog is a Perl script to automatically filter a compressed web server log as it streams via FTP. It figures out the most recent file and checks the modification date, and so is useful for running from cron. StreamLog saves only the records matching your web site, as opposed to your ISP's entire log file.
Squij is a Python script to analyse and help tune refresh_patterns in Squid (1.x and 2.x) configurations for freshness and efficiency. It shows a number of statistics about object hit rates, freshness, and their state on the origin server. Squij is experimental software, and is licensed under the GPL.
scanSquidLog quickly scans through Squid log files looking for lines whose URLs match any of those contained in a specified file. Matching lines are printed to standard output, and the main reason for using this program instead of standard utilities such as grep or awk is speed. Pattern matching for the URLs is not provided, but sub-domains, trailing path components, and case independence are automatically handled.
logsurfer is a log checking/auditing tool similar to swatch and logcheck but with the capability of handling multi-line messages and dynamically adapting the ruleset. It is written in portable C, well documented, fast, and flexible. It works on any textfile or stdin, can be run at intervals or continuously, and has timeouts and resource limits.