it-blog.club
Логирование в файл при помощи PHP

Логирование в файл при помощи PHP

Если вы работаете со сложными интеграциями или пишите сложный бекэнд код, который при этом должен отрабатывать при обращении через ajax запрос, то вам просто необходимо использовать какое либо логирование данных.

Я могу выделить множество плюсов этого:

  1. Если проходит выгрузка по событиям или ежедневная, то можно всегда узнать, прошла она или нет.
  2. Если вы пишите какой-то обработчик аякс запроса, то можете всегда узнать пришли ли данные и, если пришли, какие именно.
  3. Отслеживать определённые события. Например заход пользователем на страницу и т.д.

И т.д. Перечислять их можно долго, самое главное, что вы можете увидеть преимущество сбора логов.

Наконец мы можем приступить к действию. Давайте же теперь перейдём к самому примеру:


$file = '/logFile.txt';
//Добавим разделитель, чтобы мы смогли отличить каждую запись
$text = '=======================\n';
$text .= print_r('Вместо текста сюда можно прописать переменную!');
$text .= '\n';
$fOpen = fopen($file,'a'); //Открываем файл или создаём если его нет
fwrite($fOpen, $text); //Записываем
fclose($fOpen); //Закрываем файл

И так, что же мы сделали в данном скрипте.

  1. Мы положили в переменную $file путь до файла.
  2. Создали переменную текст в которую будем записывать то, что нужно записать в указанный файл.
    Для начала мы добавили разделитель, чтобы отличать каждую новую запись
    Далее сам текст, так же можем указать переменную или массив и в таком случае у нас будет записан дамп массива
    Последнее мы добавили перенос строки
  3. В переменную $fOpen пытаемся открыть файл. Если его не будет, то пытаемся создать его.
  4. Записываем содержимое переменной $text
  5. Закрываем файл

Собственно всё. Вы можете вставлять этот кусок кода либо прямо в свой скрипт. Либо, так даже лучше, вынести это в определённый класс, создав новый метод, и просто вызывать передавая в параметрах тест, массив или просто переменную.

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

Давайте сразу посмотрим дополненный пример:


public static function logFile($textLog) {
$file = '/logFile.txt';
$text = '=======================\n';
$text .= print_r($textLog);//Выводим переданную переменную
$text .= '\n'. date('Y-m-d H:i:s') .'\n'; //Добавим актуальную дату после текста или дампа массива
$fOpen = fopen($file,'a');
fwrite($fOpen, $text);
fclose($fOpen);
}

//Вызываем метод

$text = 'Это текст для логов';
logFile($text);

Собственно всё. Надеюсь что это поможет в вашей работе, ну или найти ошибку в нерабочем коде.


it-blog.club 4919
Автор: Ярослав Хмель


Если Вам понравилась статья, то можете поддержать блог переведя N сумму на кофе авторам или оплату хостинга!
В любом случае спасибо! А так же не забывайте про группу в ВК
ПОИСК ПО САЙТУ
Поддержать