Как пройти через сторожевой стол Друпала?

Я хочу получить все сообщения об ошибках из сторожевой таблицы, но когда я получаю столбец сообщений из таблицы, он имеет% path,% function,! Message что-то вроде этого сообщения, как я могу получить все настоящее сообщение без этих сигналов?

<?php
// Begin building the query.
$query = db_select('watchdog', 'th')
->extend('PagerDefault')
->orderBy('wid')
->distinct()
->fields('th', array('variables', 'type', 'severity', 'message'))
->limit(2000);// Fetch the result set.
$result = $query  -> execute();// Loop through each item and add to $row
foreach ($result as $row) {
blablabla($row);
}

function blablabla($row) {
$severity = $row -> severity;
$type = $row -> type;
$message = $row -> message;
?>

когда я использую $message это показывает мне что-то вроде:

%type: !message in %function (line %line of %file)...

держать в %path:

%type: !message in %function (line %line of %file)...

Начиная список файлов в %directory,

Как я могу исправить эту вещь? Могу ли я использовать API ошибок и как я могу это сделать?

2

Решение

Посмотрите на код ниже:

if (isset($row->message) && isset($row->variables)){
if ($row->variables === 'N;')
$dbmessage = $row->message;
else $dbmessage = t($row->message, unserialize($row->variables));
$dbmessage = filter_xss($dbmessage, array());
}
2

Другие решения

Это должно помочь вам начать

blablabla($row) {
$variables = unserialize($row->variables); // un serialize variables
$message = t($row->message, array(
'type'    => $row->type,
'severity'=> $row->severity,
// replace the rest of the variables
));

Кроме того, проверьте это. Вот как Drupal читает со сторожевого таймера:

  • dblog_overview; это функция, которая отображает эту страницу admin/reports/dblog
  • dblog_event; это функция, которая отображает одну запись dblog внутри этой страницы admin/reports/event/ID,
2

По вопросам рекламы [email protected]