vuelva unexpected try the tarde sitio que please más later intentarlo inesperado error encountered encontró again php drupal error-logging

php - unexpected - error drupal que es



Cómo registrar un mensaje de error en drupal (6)

Cómo registrar nuestros propios mensajes de error (por ejemplo: error debido a la entrada de fecha de usuario no válida) que se genera en el programa php al registro de errores de drupal .


1) De hecho, 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 - módulo Devel , extensión Firebug a FireFox y posiblemente a 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 relacionados con Drupal fuera de la consola Firebug normal, puede escribir mensajes en el registro de Drupal for Firebug con la función firep ():

firep($item, $optional_title)


Ambos watchdog para D7 y /Drupal::logger para D8 escribirán el registro en la tabla de watchdog (en su base de datos), y con GRANDES datos registrados , se puede imaginar el impacto en el rendimiento.

Puede usar la función error_log php para hacerlo (consulte el manual de PHP ).

error_log("Your message", 3, "/path/to/your/log/file.log");

/path/to/your/log/file.log tener permiso para escribir en su archivo de registro ( /path/to/your/log/file.log )

drupal-8 drupal php log


Drupal 8

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

Vea más ejemplos en Cómo registrar mensajes en Drupal 8 .


En drupal 7 podemos registrar el mensaje por el siguiente método:

La función drupal watchdog que podemos usar para registrar mensajes en la base de datos, nos aseguramos de haber habilitado el módulo central opcional para el Registro de la base de datos en / admin / build / modules.

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

$ type: la categoría a la que pertenece este mensaje, Ejemplo: PHP, cron .., podemos filtrar el mensaje por tipo.

$ mensaje: el mensaje para almacenar en el registro, Ejemplo: ''Falta el siguiente módulo del sistema de archivos: security_review''

$ variables: matriz de variables para reemplazar en el mensaje en pantalla o NULL si el mensaje ya está traducido o no es posible traducirlo. para hacer que el mensaje se traduzca, no pase variables de paso de valor dinámico en el mensaje se debe agregar mediante el uso de cadenas de marcador de posición.

Ejemplo: watchdog (''cg_volunteer'', ''cg en form_alter% formly'', array (''% formly'' => $ form [''# id'']), WATCHDOG_NOTICE, $ link = NULL);

$ severity La gravedad del mensaje, los registros se pueden filtrar por gravedad según RFC 3164. Los valores posibles son WATCHDOG_ERROR, WATCHDOG_WARNING, etc. Para obtener más ejemplos, consulte https://api.drupal.org/api/drupal/includes!bootstrap.inc/function/watchdog/7.x

$ link : un enlace para asociar con el mensaje.

Ejemplo

// para avisos de registros

watchdog(''my_module'', $message, array());

// para el error de registro

watchdog(''my_module'', $message, array(), WATCHDOG_ERROR);

En drupal 8 usamos el siguiente método:

// Para registra un aviso.

/Drupal::logger(''my_module'')->notice($message);

// Para registra un error.

/Drupal::logger(''my_module'')->error($message);

// Para Alert, la acción debe tomarse inmediatamente.

/Drupal::logger(''my_module'')->alert($message);

// Para mensaje crítico.

/Drupal::logger(''my_module'')->critical($message);

// Para mensajes de nivel de depuración.

/Drupal::logger(''my_module'')->debug($message);

// Para emergencias, el sistema no se puede usar.

/Drupal::logger(''my_module'')->emergency($message);

// Para advertencia

/Drupal::logger(''my_module'')->warning($message);

// Para mensajes informativos.

/Drupal::logger(''my_module'')->info($message);

También para traducir no deberíamos usar la función t ().

/Drupal::logger(''my_module'')->alert(''Message from @module: @message.'', [ ''@module'' => $module, ''@message'' => $message, ]);

esto se traducirá en tiempo de ejecución.

Ejemplo:

/Drupal::logger(''content_entity_example'')->notice(''@type: deleted %title.'', array( ''@type'' => $this->entity->bundle(), ''%title'' => $this->entity->label(), ));


Watchdog es el 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 .

Envía 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 que el sitio Live).

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


Puede usar la función de watchdog :

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 para asociar con el mensaje.

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