Как записывать и читать из логов средствами Modx и php

май 19 , 2015
Метки:

Рассмотрим примеры использования логов для отладки веб-приложения.

Используем логи Modx

По умолчанию логи Modx находятся в файле /core/cache/logs/error.log. Это обычный текстовый документ, можете открывать его в любом редакторе. Также он доступен в админке Modx, пункт Управление - Отчеты - Журнал ошибок (в разных версиях меню может отличаться). Но самый удобный способ при работе в командной строке Linux, это набрать

    tail -f /path_to_modx_site/core/cache/logs/error.log

Команда будет выводить последние несколько строк из файла в режиме "онлайн"

Часто логи нужны нам не только для того, чтобы посмотреть ошибки, генерируемые Modx. Иногда мы хотим записать туда свои данные в целях отладки. Старый добрый вывод в браузер тоже работает, но не всегда это удобно, например, при отладке скриптов, вызываемых аяксом. В Modx Revo записать в логи данные можно так:

    $modx->log(1, 'message: '.$phone);

Вторым параметром передается сама строка для вывода. Вначале добавляется пояснения для удобства, чтобы не запутаться, когда в логи выводим много данных.

Если мы работаем не с Modx или не хотим использовать его логи, то можем работать с логами веб-сервера. Где они находятся, нужно смотреть в настройках веб-сервера. Это тот же самый текстовый файл, который можем открывать, как угодно. А записывать в него можем командой

    error_log('ARRAY: '.var_export($array, true));

Обратите внимание, что можно использовать команду var_export со вторым параметром true. Функция var_export выведет содержимое любого типа, например, массивов. Капсом пояснение пишем, чтобы было легче ориентироваться в логах. Можно даже записать отдельную функцию для записи в логи, например:

    // Функция записи в логи
    function errorLog($caption, $param) {
        error_log(strtoupper($caption).': '.var_export($param, true));
    }
    // Вызов функции
    errorLog('список телефонов', $phones);

Как видим, запись стала читаться получше

Метки:
Заходите в группу в контакте - https://vk.com/webdevkin
Анонсы статей, обсуждения интернет-магазинов, vue, фронтенда, php, гита.
Истории из жизни айти и обсуждение кода.
Как Вам статья? Оцените!