• Publicidad

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

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

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

Notapor hugo11ab » 2007-05-08 17:09 @756

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: Seleccionar todo
[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.
hugo11ab
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2006-07-22 23:24 @016

Publicidad

Notapor explorer » 2007-05-08 18:12 @800

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).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor hugo11ab » 2007-05-09 12:17 @553

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
hugo11ab
Perlero nuevo
Perlero nuevo
 
Mensajes: 77
Registrado: 2006-07-22 23:24 @016


Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados