Я хочу получить все сообщения об ошибках из сторожевой таблицы, но когда я получаю столбец сообщений из таблицы, он имеет% 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 ошибок и как я могу это сделать?
Посмотрите на код ниже:
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());
}
Это должно помочь вам начать
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
,