Как зарегистрировать сообщение об ошибке в drupal

Как регистрировать собственные сообщения об ошибках (например: ошибка из-за неправильной записи даты пользователя), которая генерируется в программе php для журнала ошибок drupal .

Вы можете использовать функцию watchdog :

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

Цитируя руководство, параметры:

  • $type Категория, к которой относится это сообщение.
  • $message Сообщение для хранения в журнале.
  • $variables Массив переменных для замены в отображаемом сообщении или NULL, если сообщение уже переведено или невозможно перевести.
  • $severity Тяжесть сообщения, согласно RFC 3164
  • $link Ссылка для связи с сообщением.

И уровни ошибок можно найти на странице watchdog_severity_levels . Для ошибки вы, скорее всего, будете использовать WATCHDOG_ERROR или, возможно, даже нечто более «критичное», в зависимости от типа ошибки.

1) Действительно, watchdog – стандартный способ записи собственных ошибок PHP.

2) В качестве альтернативы, если вам нужно немедленно увидеть сообщения об ошибках при отладке ваших страниц Drupal, вам может потребоваться, чтобы они были зарегистрированы / распечатаны прямо на соответствующей странице – в консоли FireBug. Иногда это очень удобно, когда вы можете видеть журналы с привязкой к странице. Для этого требуется модуль Devel, расширение Firebug для FireFox и, возможно, Firephp .

Вы можете использовать функцию dfb () для записи сообщений журнала непосредственно в общую консоль Firebug.

 dfb($input, $label = NULL) 

Если вы хотите, чтобы ваши сообщения журнала, связанные с Drupal, были отключены от обычной консоли Firebug, вы можете писать сообщения в журнал Drupal for Firebug с помощью функции firep ():

 firep($item, $optional_title) 

Drupal 8

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

Дополнительные примеры в разделе « Как регистрировать сообщения в Drupal 8» .

Watchdog – это способ без drupal_set_message работать в производственной системе, но во время отладки я нашел drupal_set_message функцию drupal_set_message .

Он выводит сообщение на экран, где обычно отображаются сообщения типа «Успешное действие» (поэтому убедитесь, что вы удалили их перед тем, как сделать сайт Live).

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