Pregunta

Cómo iniciar nuestros mensajes propia de error (por ejemplo: error debido a la fecha de entrada de usuario no válido), que se genera en PHP programa para registro de errores de Drupal .

Otros consejos

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 mensajes de registro en Drupal 8 .

1) En efecto, el regulador es una forma estándar para grabar propios errores de PHP.

2) Alternativamente, si usted necesita ver de inmediato los mensajes de error durante la depuración de sus páginas de Drupal, es posible que desee verlos registran / impreso a la derecha en la página relacionada - en la consola de Firebug. A veces es esto muy conveniente cuando se puede ver los registros relacionados con páginas justo a tiempo. Esto requiere - módulo Devel , Firebug extensión a Firefox y posiblemente FirePHP .

Puede utilizar la función DFB () para escribir mensajes de registro directamente a la consola de Firebug en general.

dfb($input, $label = NULL)

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

firep($item, $optional_title)

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

Se emite el mensaje a la pantalla donde se visualizan normalmente los 'Operación mensajes de tipo Successful' (así que asegúrese de que los elimine antes de hacer el sitio en vivo).

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

En drupal 7 podemos mensaje de registro por método siguiente:

Drupal función de vigilancia que puede utilizar para iniciar la sesión en el mensaje de la base de datos, asegúrese de que hemos habilitado módulo central opcional para el registro de base de datos en / admin / build / módulos.

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

Tipo $: La categoría a la que pertenece este mensaje, Ejemplo:. PHP, cron .., podemos filtro de mensajes por tipo

$ mensaje: El mensaje para almacenar en el registro, Ejemplo: 'El siguiente módulo no se encuentra en el sistema de archivos: security_review'

variables $: Serie de variables para reemplazar en el mensaje en la pantalla o NULL si el mensaje ya está traducido o no posible traducir. para hacer mensaje traducido, no deje pasar las variables de pase valor dinámico en el mensaje debe añadirse mediante el uso de cuerdas de marcador de posición.

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

$ severidad La gravedad del mensaje, los registros se pueden filtrar por gravedad según RFC 3164. Los valores posibles son WATCHDOG_ERROR, WATCHDOG_WARNING, etc. Por ejemplo, véase más https: // API. drupal.org/api/drupal/includes!bootstrap.inc/function/watchdog/7.x

$ : Un enlace a asociar con el mensaje.

Ejemplo

// para los registros de avisos

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

// para Loging error

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

En drupal 8 se utilizó método siguiente:

// para los registros de un aviso.

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

// Para registra un error.

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

// para la alerta, se deben tomar medidas de inmediato.

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

// Para mensaje crítico.

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

// Para los mensajes de nivel de depuración.

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

// Para emergencia, el sistema es inutilizable.

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

// Para Advertencia

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

// Para los mensajes informativos.

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

También para traducir no debemos usar la función t ().

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

esto se traduce en tiempo de ejecución.

Ejemplo:

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

Tanto watchdog para D7 y D8 \Drupal::logger para escribirá ingrese en la tabla watchdog (en su base de datos), y con datos de gran tamaño conectados usted puede imaginar impacto en el rendimiento.

Puede utilizar la función de php error_log hacerlo (ver manual de PHP ).

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

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

< a class = "post-tag" href = "/ preguntas / etiquetado / drupal" title = "Mostrar preguntas etiquetados 'drupal'" rel "etiqueta" => Drupal

// Get logger factory.
$logger = \Drupal::service('logger.factory');

// Log a message with dynamic variables.
$nodeType = 'Article';
$userName = 'Admin';
$logger->get($moduleName)->notice('A new "@nodeType" created by %userName.', [
    '@nodeType' => $nodeType,
    '%userName' => $userName,
]);

Fuente

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top