http://qs321.pair.com?node_id=658331

One of the things that I've learned over the past few years, hand in hand with Perl, has been the use of SQL. I find it very natural to approach some problems via the use of SQL, and find it relatively straightforward to created reasonably complex SQL queries.

With that in mind I thought it might be useful to create SQL queries against Apache logfiles - without having to lose the plain logfiles I currently have. (ie. run SQL queries against Apache "Common" logfiles, not against something such as mod_log_sql which I don't use).

So I created the simple asql tool. This is a simple shell program which allows you to load Apache logfiles into a "temporary" SQLite database and then dynamically query against it.

The code is now contained in the Debian unstable distribution, and there is a mercurial repository. The code itself is mostly trivial, and so I won't post it here. However this is a representative sample of usage:

asql> load /var/log/apache2/acc* Creating tables Loading: /var/log/apache2/access.log Loading: /var/log/apache2/access.log.1 asql> SELECT referer,COUNT(referer) AS number from logs GROUP BY refe +rer ORDER BY number DESC,referer - 4807 http://localhost/stats/ 2 http://foo.ocm/stats/ 2 asql>
Steve
--