Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » Evitar el llenado de los logs al ejecutar un CGI de Perl Responder al tema
Nuevo tema


Página 1 de 1  [ 3 mensajes ] 
 
Nota 2007-05-08 17:09 @756

Perlero Nuevo
Registrado: 2006-07-22 23:24 @016
Mensajes: 52
Evitar el llenado de los logs al ejecutar un CGI de Perl
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.


Nota 2007-05-08 18:12 @800
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
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).


Nota 2007-05-09 12:17 @553

Perlero Nuevo
Registrado: 2006-07-22 23:24 @016
Mensajes: 52
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


Responder al tema  [ 3 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO