Modificacion plugin rawlog en awstats 6.9
el 8 abr En: Linux web tecnologia perl - sin comentarios
Una pequeña modificación escrita en perl que he añadido al rawlog.pm que añade un filtro al Awstats para la visualización por fechas del fichero log en bruto.
Por defecto el plugin rawlog (plugin awstats para ver fichero log en bruto) no filtra por ningun criterio y te deja que selecciones este campo como cadena de búsquda dentro del log. Esto no me gusta en algunos logs pesados que tenia y decidí que buscara siempre por la fecha actual si no ponias criterio.
Esto me sirve a mi y en determinadas circustancias. Muchos pensarán que para que lo necesitas si tienes rotación diaria de logs, etc.
En mi caso, editamos /usr/share/awstats/plugins/rawlog.pm y añadimos estas lineas:
16 no strict "refs";
17 use POSIX qw/ strftime /;
18
19 # Muestra la fecha como filtro del rawlog
20 my $ab_day=strftime( "%d", localtime(time) );
21 my $ab_month=strftime( "%b", localtime(time) );
22 my $ab_year=strftime( "%Y", localtime(time) );
23 my $datefilter="$ab_day/$ab_month/$ab_year";
Solo hay que buscar ahora la función BuildFullHTMLOutput_rawlog y ya tenemos filtrado el log por el dia actual.
86 sub BuildFullHTMLOutput_rawlog {
87 # <-----
88 my $Filter=$datefilter;
89 if ($QueryString =~ /filterrawlog=([^&]+)/i) { $Filter=&DecodeEncodedString("$1"); }
Si queremos avisar de esto al usuario cuando se muestre el formulario, lo hacemos en _ShowForm poniendo el texto que queramos.
Referencias: http://awstats.sourceforge.net/
