Logfile::EPrints::Hit - Generic 'hit' object

DESCRIPTION

This object represents a single entry in a log file and doesn't proscribe any particular schema.

This uses the 'AUTOLOAD' mechanism to allow any variable to be defined as a method.

'Hit' objects are passed between filters that may add additional functionality (e.g. by subclassing the hit object).

SYNOPSIS

use Logfile::EPrints::Hit;

my $hit = Logfile::EPrints::Hit->new;
$hit->date( '2006-05-01 23:10:05' );

print $hit->date;

NAME

Logfile::EPrints::Hit::Combined - Parse combined logs like those generated from Apache

SYNOPSIS

use Logfile::EPrints::Hit;

my $hit = Logfile::EPrints::Hit::Combined->new($line);

printf("%s requested %s\n",
	$hit->hostname,
	$hit->page);

CLASS METHODS

Logfile::EPrints::Hit::Combined::initialise_geo_ip( [ FILENAME, [ FLAGS ] ] )

Initialise the GeoIP database with Maxmind country database located at FILENAME (must be called before trying to access country()). See Geo::IP or Geo::IP::PurePerl.

METHODS

address()

IP address (or hostname if IP address could not be found).

hostname()

Hostname (undef if the address is an IP without a reverse DNS entry).

date()

Apache formatted date/time.

datetime()

Date/time formatted as yyyymmddHHMMSS.

userid_identd()
identd()
request()

Request string.

code()

HTTP server code.

size()

HTTP server response size.

referrer()

User agent referrer.

agent()

User agent string.

method()

Request method (GET, HEAD etc.).

page()

Requested page - probably won't include the virtual host!

version()

HTTP version requested (HTTP/1.1 etc).

country()

Country that the IP is probably in (according to GeoIP).

homepage()

Home page of the requesting user's service provider, i.e. www.<hostname>. Performs an on-demand HTTP request.

institution()

Title of the user's home page. Performs an on-demand HTTP request, with the result cached by the class.

AUTHOR

Tim Brody - <tdb01r@ecs.soton.ac.uk>