I have some code that isn't all that complex. It takes an access log and parses it and drops it into a heavily normalized database. From there you can run all sorts of queries against it.
The hardest part is parsing the access log string; I haven't seen any good perl code ever (even the stuff I wrote :)) that does a perfect job. You're always going to miss some records -- especially because people do things like 'get /"' for some weird reason and throw off the quoting context.
One option I haven't played with yet is using a funky delimiter between every entry, like |&| or something that should never occur in nature. This breaks a bunch of propietary software we use, so it isn't really an option here.
My experience with Apache::ParseLog is that it does far too much. You should be able to feed it a format string and a filehandle -- how often do you parse your logs while they are sitting on a web server?
out.
In reply to Re: Re: Apache::ParseLog
by DrZaius
in thread Apache::ParseLog
by myomancer
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |