http://qs1969.pair.com?node_id=315100


in reply to Re: Yet another Apache log question
in thread Yet another Apache log question

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.

Replies are listed 'Best First'.
Re: Re: Yet another Apache log question
by barrd (Canon) on Dec 16, 2003 at 18:24 UTC
    Aah... pooh ;)

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

    Ta

      Sure.

      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;

        Righty ho...

        First thing, update your locate database:

        foo:~# updatedb
        This may take a wee while... be patient. Then ensure that where you have said in your script that intra-access_log and your apache httpd.conf files are where you think they are:
        foo:~# locate httpd.conf /etc/apache/httpd.conf
        And...
        foo:~# locate intra-access_log /var/www/intra-access_log
        I'm kinda clutching at straws here as the formatting of LogFormat and CustomLog don't scream out any obvious errors...