PHP:
Логування
Як це зробити:
PHP має вбудовану функцію логування помилок, яка проста у використанні. Просто вставте error_log()
у ваш код, щоб надіслати повідомлення до серверних логів. Також ви можете налаштувати її так, щоб записувати у певний файл.
<?php
// Записуємо просте інформаційне повідомлення
error_log("Це запис інформаційного логу.");
// Записуємо повідомлення про помилку
error_log("Це запис логу про помилку.", 0);
// Запис у вказаний файл
file_put_contents('/шлях/до/вашого/власного.log', "Власний запис логу.\n", FILE_APPEND);
// Використовуємо Monolog для структурованого логування
require 'vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// Створюємо логер
$logger = new Logger('назва');
// Тепер додаємо обробники
$logger->pushHandler(new StreamHandler('/шлях/до/вашого/monolog.log', Logger::WARNING));
// Тепер ви можете використовувати ваш логер
$logger->warning('Це лог попередження!');
$logger->error('Це лог помилки!');
?>
Це виведе ваші логи до серверного логу чи до вказаного файлу у форматі простого тексту.
Заглиблюємось:
Традиційно, розробники PHP покладалися на функцію error_log()
або на логи Apache/Nginx для виявлення проблем, але це може бути хаотичним з необхідністю парсингу простих текстових файлів та без легкого способу фільтрування чи сортування їх. Натомість, бібліотеки логування як Monolog, запровадили еру структурованого логування в PHP. Ці рішення надають вам кращий контроль, пропонуючи кілька каналів логування, рівні серйозності та форматований вивід (наприклад, JSON, який є ідеальним для програмного парсингу).
Альтернативи до Monolog включають Log4php, KLogger і Log4php від Apache. Щодо впровадження, надійне логування вимагає не просто викидання даних куди завгодно, але й розгляд таких речей, як ротація логів, стратегії архівування та інтеграція з інструментами моніторингу для справжньої користі.
Ви повинні пам’ятати PSR-3 Logger Interface, який окреслює спільний інтерфейс для бібліотек логування, забезпечуючи взаємну сумісність та послідовний спосіб доступу до механізмів логування.
Також дивіться:
- Репозиторій Monolog на GitHub
- Специфікація PSR-3 Logger Interface
- Документація PHP Error Log
- KLogger: Простий клас логування для PHP
- Log4php: Універсальний фреймворк логування для PHP
Починайте з вбудованих функцій, але для більш стабільного та масштабованого підходу, варто приділити час, щоб ознайомитися з бібліотекою на кшталт Monolog. Вдалого логування!