Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Evitar el llenado de los logs al ejecutar un CGI de Perl

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> CGI
Mensaje Mar May 08, 2007 4:09 pm
hugo11ab
Perlero Nuevo
Perlero Nuevo
Registrado: 22 Jul 2006
Mensajes: 31
Evitar el llenado de los logs al ejecutar un CGI de Perl Responder citando

Que tal.

El problema que tengo es que cuando ejecuto cgi en Perl, checo los log (/var/log/httpd) y al menos me genera un log como de 1 Mb. Ya he intentado varias cosas para evitar que estos archivos se llenen lo menos posible. Uno de los warnings más comunes que me manda son estos:

Código:
[Tue May 08 15:42:07 2007] [error] [client 130.10.15.5] [Tue May  8 15:42:07 2007] llamadas_horas.cgi: Use of uninitialized value in addition (+) at /var/www/cgi-bin/aserca/llamadas_horas.cgi line 197., referer: https://130.10.15.25/cgi-bin/aserca/llamadas_horas.cgi?nc=604

[Tue May 08 11:17:38 2007] [error] [client 130.10.15.5] [Tue May  8 11:17:38 2007] rp_aux_contable.cgi: Use of uninitialized value in string eq at /var/www/cgi-bin/inca/rp_aux_contable.cgi line 12.


Se que borrándolos y levantando de nuevo el Apache estos se vuelven a generar desde cero, pero necesito saber si hay alguna manera de poder evitar estos warnings y así estar reiniciando el Apache.

De antemano les agradeceré su ayuda.
Mensaje Mar May 08, 2007 5:12 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4143
Ubicación: Valladolid, España
Responder citando

Para evitar el tener que llevar un control sobre el crecimiento de los logs, desde hace unos años en las distribuciones Linux se instala el paquete logrotate, por lo que el mantenimiento que haces tiende a ser casi nulo.

Pero es cierto que es una molestia que esos mensajes aparezcan en los logs, sobre todo si podemos quitarlos.

El primero se refiere a que en una suma, uno de los valores no ha sido inicializado. Quizás esperabas un valor desde algún sitio (un parámetro pasado por el usuario en un formulario web, quizás) y realmente ha llegado sin ningún valor o no ha llegado.

El segundo es lo mismo, pero referido a una comparación de strings.

Sin ver el código de esas líneas, poco más se puede decir...

Una forma de evitar que salgan los errores serían quitando el use warnings; o la opción -w del principio del programa, pero... NO lo debes hacer. Un programa debe estar bien hecho, y si salen errores, debemos mirar porqué razón; y si es un CGI, más todavía. Si aparecen warnings hay que prestarles atención (eso es lo que significan, en inglés).
Mensaje Mie May 09, 2007 11:17 am
hugo11ab
Perlero Nuevo
Perlero Nuevo
Registrado: 22 Jul 2006
Mensajes: 31
Responder citando

Te agradezco tu respuesta explorer, voy a checar lo del logrotate y en efecto tienes razón, estoy ocupando un arreglo y algunos elementos del mismo no estaban inicializados y no llevaban valor. Ya corregí el problema y ahora cuando veo los log ya no los llena.
MUCHAS GRACIAS
Publicar nuevo tema   Responder al tema    Foros de discusión -> CGI Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group