Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re: Yet another Apache log question

by barrd (Canon)
on Dec 16, 2003 at 17:35 UTC ( [id://315092] : note . print w/replies, xml ) Need Help??

in reply to Yet another Apache log question

Hi CHRYst,
Apache::ParseLog::getCustomLog: combined does not exist...
Did you put in a full path to the 'combined' log? i.e. something along the lines of:
$log = $base->getCustomLog('/var/log/apache/combined');

That, I think could be the problem...?

Replies are listed 'Best First'.
Re: Yet another Apache log question
by CHRYSt (Acolyte) on Dec 16, 2003 at 18:08 UTC
    Unfortunately not.

    The getCustomLog("value") requires the nickname of the log. It appears that it parses the apache conf file, and determines the log path based on the CustomLog directive that states "combined" as it's nickname.
      Aah... pooh ;)

      OK, could you post the CustomLog directive line from your conf file so we can have a look?



        The logging directives are:

        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        CustomLog /var/www/intra-access_log combined env=!image

        The current incarnation of the script I'm using. This is taken directly from the documentation, and though it's not the data I'm looking for, at this point I'd just like to at least get it to parse the log:

        #!/usr/local/bin/perl $|++; use Apache::ParseLog; + $conf = "/path/to/httpd.conf"; $base = new Apache::ParseLog($conf); + $log = $base->getCustomLog("combined"); %user = $log->user(); print "Users Report\n"; foreach (sort keys %user) { print "$_:\t$user{$_}\n" unless m/^-$/; } + exit;