2009-11-10 22 views

Respuesta

45

Puede utilizar el watchdog function:

watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL) 

Citando el manual, los parámetros son:

  • $type La categoría a la que pertenece este mensaje.
  • $message El mensaje para almacenar en el registro.
  • $variables Matriz de variables para reemplazar en el mensaje en pantalla o NULL si el mensaje ya está traducido o no es posible traducirlo.
  • $severity La gravedad del mensaje, según RFC 3164
  • $link Un enlace a asociar con el mensaje.

Y los niveles de error se pueden encontrar en la página de watchdog_severity_levels. Para un error, probablemente usará WATCHDOG_ERROR, o tal vez incluso algo más "crítico", dependiendo del tipo de error.

+3

'$ type' es generalmente el nombre del módulo que está desarrollando. –

6

1) De hecho, el watchdog es una forma estándar de registrar los propios errores de PHP.

2) Alternativamente, si necesita ver inmediatamente los mensajes de error mientras depura sus páginas de Drupal, puede verlas registradas/impresas directamente en la página relacionada - en la consola FireBug. A veces, esto es muy conveniente cuando puede ver los registros de just-in-time relacionados con la página. Esto requiere - Devel módulo, Firebug extensión a FireFox y posiblemente Firephp.

Puede usar la función dfb() para escribir mensajes de registro directamente en la consola general de Firebug.

dfb($input, $label = NULL) 

Si desea mantener sus mensajes de registro relacionadas con Drupal fuera de la consola de Firebug normal, puede escribir mensajes en el registro Drupal for Firebug con la función firep():

firep($item, $optional_title) 
+0

Acaba de instalar la extensión Drupal for Firebug - bastante dulce. – DilbertDave

3

Watchdog es la camino a seguir para un sistema de producción, sin duda, pero durante la depuración me parece útil la función drupal_set_message.

Emite el mensaje a la pantalla donde normalmente se muestran los mensajes del tipo "Operación exitosa" (así que asegúrese de eliminarlos antes de hacer el sitio en vivo).

http://api.drupal.org/api/function/drupal_set_message/6

6

Drupal 8

// Logs a notice 
\Drupal::logger('my_module')->notice($message); 
// Logs an error 
\Drupal::logger('my_module')->error($message); 

Ver más ejemplos en How to Log Messages in Drupal 8.

Cuestiones relacionadas