PHP

Запись в лог-файл в PHP

Несколько вариантов как быстро организовать запись данных в лог-файл.

1

Строки текста

$log = date('Y-m-d H:i:s') . ' Запись в лог';
file_put_contents(__DIR__ . '/log.txt', $log . PHP_EOL, FILE_APPEND);
2019-02-02 16:00:38 Запись в лог
2

Строки и массивы

Если нужно записать в лог обычный массив, массив с индексами или многомерный массив, поможет функция print_r().

$array = array(
    'foo' => 'bar',     
    'helo' => 'world', 
    'array' => array(1, 2)
);

$log = date('Y-m-d H:i:s') . ' ' . print_r($array, true);
file_put_contents(__DIR__ . '/log.txt', $log . PHP_EOL, FILE_APPEND);
2019-02-02 16:43:27
Array
(
    [foo] => bar
    [helo] => world
    [array] => Array
        (
            [0] => 1
            [1] => 2
        )

)

В оду строку

$array = array(
    'foo' => 'bar',     
    'helo' => 'world', 
    'array' => array(1, 2)
);

$log = date('Y-m-d H:i:s') . ' ';
$log .= str_replace(array('    ', PHP_EOL), '', print_r($array, true));
file_put_contents(__DIR__ . '/log.txt', $log . PHP_EOL, FILE_APPEND);
2019-02-02 16:56:00 Array([foo] => bar[helo] => world[array] => Array([0] => 1[1] => 2))

Если логирование используется часто, то лучше оформить его в функцию.

function set_log($message) {
    $log = date('Y-m-d H:i:s') . ' ' . print_r($message, true);
    file_put_contents(__DIR__ . '/log.txt', $log . PHP_EOL, FILE_APPEND);
}

set_log('Запись в лог');
3

Запись в лог ошибок PHP

Если логирование предполагает фиксацию только ошибок, то лучше писать их в общий лог ошибок PHP, подробнее на  php.net

error_reporting(E_ALL);
ini_set('error_log', __DIR__ . '/php-errors.log');
error_log('Запись в лог', 0);
[02-Feb-2019 20:18:17 Europe/Moscow] Запись в лог
06 февраля 2019
В последнее время письма отправляемые с хостингов через функции mail() и mb_send_mail() часто попадают в спам или...
cURL PHP – это библиотека предназначенная для получения и передачи данных через такие протоколы, как HTTP, FTP, HTTPS....
В статье приведены основные примеры работы с расширением PHP PDO. Такие как подключение к БД, получение, изменение и...
Библиотека GD дает возможность работать с изображениями в PHP. Далее представлены примеры как изменить размер, вырезать...