Как зарегистрировать наши собственные сообщения об ошибках (например: ошибка из-за неправильной записи даты пользователя), которая сгенерирована в программе php для журнала ошибок drupal.
Как зарегистрировать сообщение об ошибке в drupal
Ответ 1
Вы можете использовать функцию watchdog
:
watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL)
При указании руководства параметры:
-
$type
Категория, к которой относится это сообщение. -
$message
Сообщение для сохранения в журнале. -
$variables
Массив переменных для замены в отображаемом сообщении или NULL, если сообщение уже переведено или невозможно перевести. -
$severity
Тяжесть сообщения в соответствии с RFC 3164 -
$link
Ссылка для связи с сообщением.
И уровни ошибок можно найти на странице watchdog_severity_levels
. Для ошибки вы, скорее всего, используете WATCHDOG_ERROR
или, возможно, даже что-то более "критичное", в зависимости от типа ошибки.
Ответ 2
1) Действительно, watchdog - это стандартный способ записи собственных ошибок PHP.
2) В качестве альтернативы, если вам нужно немедленно увидеть сообщения об ошибках при отладке ваших страниц Drupal, вам может потребоваться, чтобы они были зарегистрированы/напечатаны прямо на соответствующей странице - в консоли FireBug. Иногда это очень удобно, когда вы можете видеть журналы с привязкой к странице. Для этого требуется Devel module, Firebug расширение для FireFox и, возможно, Firephp.
Вы можете использовать функцию dfb() для записи сообщений журнала непосредственно в общую консоль Firebug.
dfb($input, $label = NULL)
Если вы хотите сохранить свои сообщения журнала связанных с Drupal из обычной консоли Firebug, вы можете написать сообщения Drupal для Firebug log с функцией firep():
firep($item, $optional_title)
Ответ 3
Drupal 8
// Logs a notice
\Drupal::logger('my_module')->notice($message);
// Logs an error
\Drupal::logger('my_module')->error($message);
Дополнительные примеры в Как регистрировать сообщения в Drupal 8.
Ответ 4
Watchdog - это способ без проблем работать в производственной системе, но во время отладки я нахожу полезную функцию drupal_set_message
.
Он выводит сообщение на экран, где обычно отображаются сообщения типа "Успешное действие" (поэтому убедитесь, что вы удалили их перед тем, как сделать сайт Live).