Foros del Web » Programando para Internet » PHP »

Escribir en fichero error log o guardar los errores en la BD?

Estas en el tema de Escribir en fichero error log o guardar los errores en la BD? en el foro de PHP en Foros del Web. Buenas, Tengo una duda, no se qué sería mejor y si es posible. Los errores de mi aplicación los controlo con TRY y CATCH, pero ...
  #1 (permalink)  
Antiguo 16/10/2010, 15:07
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Escribir en fichero error log o guardar los errores en la BD?

Buenas,

Tengo una duda, no se qué sería mejor y si es posible.

Los errores de mi aplicación los controlo con TRY y CATCH, pero al controlarlos así, no se escribe nada en el fichero php-error.log de php, ¿verdad?

Entonces mi intención es guardar estos errores si se producen, y no sé, si la mejor manera es almacenarlos en una tabla de la BD o simplemente escribir en el fichero php-error.log, pero si es esto segundo no se sí podría haber algún conflicto a la hora de escribir para que no se machaque la información ni de error del estilo que ya se está utilizando el fichero.

¿Qué método me aconsejáis?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 16/10/2010, 15:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Escribir en fichero error log o guardar los errores en la BD?

te sugiero crear tu propio sistema de logs, lo ideal sería basado en archivos pero es indistinto de si usas BD, al final eres tu el que debe saber que elegir....

y eventualmente se registran los errores en un log, variando claro de la configuración establecida en el php.ini

al menos yo lo haría así...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/10/2010, 15:28
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Escribir en fichero error log o guardar los errores en la BD?

Cita:
Iniciado por pateketrueke Ver Mensaje
te sugiero crear tu propio sistema de logs, lo ideal sería basado en archivos pero es indistinto de si usas BD, al final eres tu el que debe saber que elegir....
Te refieres a usar la función error_log()?
error_log("Oracle database not available!", 0);

Pero indicándole en qué fichero escribir el mensaje de error?
error_log("Oracle database not available!", 3, "my-errors.log");

Cita:
Iniciado por pateketrueke Ver Mensaje
y eventualmente se registran los errores en un log, variando claro de la configuración establecida en el php.ini

al menos yo lo haría así...
La frase "y eventualmente se registran los errores en un log" no la acabo de entender, te refieres que por si solo ya se registran errores si está configurado el error_reporting = E_ALL no?

Pero si que estoy en lo cierto que si "capturas la excepción con el try y catch no queda otra que escribir tu el error en el fichero de log, porque por si solo no se va a escribir en este caso, verdad?

¿Tienes alguna clase creada de escritura de logs pateketrueke?

Muchas gracias de antemano
  #4 (permalink)  
Antiguo 16/10/2010, 15:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Escribir en fichero error log o guardar los errores en la BD?

error_reporting no controla la escritura de logs de error... deberías investigar bien en el php.ini

ahora, con lo de "tu propio sistema de logs" puede ser algo ya hecho, que provee php, etc..

finalmente debes usar tus propias funciones para registrar un try/catch ya que lo que provoca no es propiamente un error, sino una excepción... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: bd, escribir, fichero, log
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:58.