Apache::ParseLog
- Object-oriented Perl extension for parsing Apache log files
DESCRIPTION
Apache::ParseLog provides an easy way to parse the Apache log files,
using an object-oriented constructs. The data obtained using this
module are generic enough that it is flexible to use the data for
your own applications, such as CGI, simple text-only report generater,
feeding RDBMS, data for Perl/Tk-based GUI application, etc.
FEATURES
1 Easy and Portable Log-Parsing Methods
Because all the work (parsing logs, constructing regex, matching and
assigning to variables, etc.) is done inside this module, you can easily
create log reports (unless your logs need intense scrutiny). Read on this
manpage as well as the the section on EXAMPLES section to see how easy it
is to create log reports with this module.
Also, this module does not require C compiler, and it can (should) run on
any platforms supported by Perl.
2 Support for LogFormat/CustomLog
The Apache Web Server 1.3.x's new LogForamt/CustomLog feature (with
mod_log_config) is supported.
The log format specified with Apache's LogFormat directive in the
httpd.conf file will be parsed and the regular expressions will be
created dynamically inside this module, so re-writing your existing code
will be minimal when the log format is changed.
3 Reports on Unique Visitor Counts
Tranditionally, the hit count is calculated based on the number of files
requested by visitors (the simplest is the the total number of lines of
the log file calculated as the "total hit").
As such, the hit count obviously can be misleading in the sense of
"how many visitors who actually visited to my site?", especially if the
pages of your site contain many images (because each image is counted
as one hit).
Apache::ParseLog provides the methods to obtain such traditional data,
because those data also are very important for monitoring your web site's
activities. However, this module also provides the methods to obtain
the unique visitor counts, i.e., the actual number of "people" (well,
IP or hostname) who visited your site, by date, time, and date and time.
See the the section on LOG OBJECT METHODS for details about those methods.
4 Pre-Compiled Regex
The new pre-compiled regex feature introduced by Perl 5.005 is used (if
you have the version installed on your machine).
For the pre-compiled regex and the new quote-like assignment operator (qr),
see perlop(1) and perlre(1) manpages.
PREREQUISITES
You will need Perl 5.004 or later. To use the pre-compiled regex, you will
need 5.005 or later.
Although this package names may suggest, the mod_perl as well as any other
Apache::* modules are not necessary.
INSTALLATION
The same as any perl modules:
perl Makefile.PL
make
make test
make install
The Makefile.PL script will check the version of your perl, and if it is
newer than 5.005, it rewrites the ParseLog.pm file for the 5.005-compatible
version. For some reasons, if you need to rewrite the ParseLog.pm back to
the distributed version (5.004-compatible), run the command (note the option)
perl Makefile.PL -r
Running this will rewrite the ParseLog.pm to the 5.004 version.
DOCUMENTATION
If you want to read the manpage before you install, you can use perldoc to
read the manpage from the ParseLog.pm file, like:
perldoc -F ParseLog.pm
TO DO
- Add the support for HTTP header log (%{<header>}x) directive
in LogFormat (this actually should be considered as a bug)
- Add methods that return more analytical data
CURRENT VERSION
Current version is 1.02 (10/17/1998)
AUTHOR
Akira Hangai (
[email protected])
Please email with any suggestions, comments, etc. (especially the suggestions
for methods that return more elaborate data).
COPYRIGHT
Copyright 1998 by Akira Hangai. All rights reserved.
This package is free software, and you can redistribute it and/or modify
it under the same terms as Perl itself.