NAME
Apache::DBILogConfig - Logs access information in a DBI database
SYNOPSIS
# In httpd.conf
PerlLogHandler Apache::DBILogConfig
PerlSetVar DBILogConfig_data_source DBI:Informix:log_data
PerlSetVar DBILogConfig_username informix
PerlSetVar DBILogConfig_password informix
PerlSetVar DBILogConfig_table mysite_log
PerlSetVar DBILogConfig_log_format "%b=bytes_sent %f=filename %h=remote_host %r=request %s=status"
DESCRIPTION
This module replicates the functionality of the standard Apache module, mod_log_config, but logs information in a DBI-compliant database instead of a file.
LIST OF TOKENS
- DBILogConfig_data_source
-
A DBI data source with a format of "DBI::driver:database"
- DBILogConfig_username
-
Username passed to the database driver when connecting
- DBILogConfig_password
-
Password passed to the database driver when connecting
- DBILogConfig_table
-
Table in the database for logging
- DBILogConfig_log_format
-
A string consisting of formats seperated by white space that define the data to be looged (see FORMATS below)
FORMATS
A format consists of a string with the following syntax:
%[conditions][{parameter}]format=field
format
Formats specify the type of data to be logged. The following formats are accepted:
- b Bytes sent
- f Filename
- e Environment variable (specified by parameter)
- h Remote host
- a Remote IP Address
- i Header in the client request (specified by parameter)
- l Remote log name (from identd)
- n Contents of a note from another module (specified by parameter)
- o Header from the reply (specified by parameter)
- p Server port
- P Apache child PID
- r First line of the request
- s Request status
- t Time in common log format (default) or strftime() (parameter)
- T Time taken to serve request
- u Remote user from auth
- U URL
- v Server hostname
field
A database column to log the data to
parameter
For formats that take a parameter
Example: %{DOCUMENT_ROOT}e
conditions
Conditions are a comma-seperated list of status codes. If the status of the request being logged equals one of the status codes in the condition the data specified by the format will be logged. By placing a '!' in front of the conditions, data will be logged if the request status does not match any of the conditions.
Example: %!200,304,302s=status will log the status of all requests that did not return some sort of normal status
DEBUGGING
Debugging statements will be written to the error log if LOGLEVEL is set to 'warn' or higher
PREREQUISITES
mod_perl >= 1.11_01 with PerlLogHandler enabled
DBI
Date::Format
INSTALLATION
To install this module, move into the directory where this file is located and type the following:
perl Makefile.PL
make
make test
make install
This will install the module into the Perl library directory.
Once installed, you will need to modify your web server's configuration as above.
AUTHOR
Copyright (C) 1998, Jason Bodnar <jcbodnar@mail.utexas.edu>. All rights reserved.
This module is free software; you may redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
perl(1), mod_perl(3)