как отразить/распечатать хорошо отформатированный массив в журнале modx?

Я пытаюсь понять, как распечатать/отобразить отформатированный массив в журнале ошибок modx. но теги print_r и pre не работают, если я использую что-то вроде:

$log = "<pre>";
$log .= print_r($formdata);
$log .= "</pre>";
$this->modx->log(modX::LOG_LEVEL_ERROR, 'Form Data = ' . $log);

результат в логе такой:

[2014-12-20 22:35:18] (ERROR @ /index.php) Form Data = <pre>1</pre>

Я уже видел отформатированные массивы в журналах modx, кто-нибудь знает, как это сделать?


person Sean Kimball    schedule 21.12.2014    source источник


Ответы (2)


в функцию print_r() добавить 2 nd аргумент TRUE для возвращаемого выходного значения, см. пример кода ниже

$log = "<pre>";
$log .= print_r($formdata, true);
$log .= "</pre>";
$this->modx->log(modX::LOG_LEVEL_ERROR, 'Form Data = ' . $log);
person Girish    schedule 21.12.2014

Вам не нужны теги "<pre>" - "</pre>", просто

$modx->log(xPDO::LOG_LEVEL_ERROR, "Form Data = " . print_r($formdata,true),'','mySnippet');

будет делать свою работу, во всяком случае, начиная с версии Revo 2.3.3.

person sottwell    schedule 23.02.2015