Perl Monk, Perl Meditation | |
PerlMonks |
Re: Question about the most efficient way to read Apache log files without All-In-One Modules from CPAN (personal learning exercise)by kcott (Archbishop) |
on Jun 17, 2015 at 07:19 UTC ( [id://1130766]=note: print w/replies, xml ) | Need Help?? |
G'day lulz, Welcome to the Monastery. Reading an entire logfile into memory prior to processing would be very much the exception; the norm would be to process the file a line at a time. The format of each log entry is defined in the Apache configuration file (httpd.conf or whatever you've called it). From my httpd.conf, here's the lines that describe the access_log:
See the documentation in Apache Module mod_log_config for a description of the %X codes and other related information. With that information to hand, it's fairly easy to construct a regex to parse the log records. Here's a script to do that. The three DATA lines are taken verbatim from my access_log file.
Output:
Be aware that your configuration may use other logfiles with different LogFormat directives; however, you should be able to contruct a suitable regex using the script above as a template. And, of course, you'll probably want to do something more useful than just printing the data. -- Ken
In Section
Seekers of Perl Wisdom
|
|