Що варто логувати в PHP-застосунках

31 Травня 2023

Працюючи з PHP-застосунками, можна скласти хибне враження, що логувати потрібно все. Та розставляти логи треба свідомо.

Ви можете залогувати так багато всього, що на запис логів буде витрачатися більше часу, ніж на роботу програми. При цьому зберігання логів у вигляді терабайтів тексту може коштувати стільки, що прибуток від проєкту зійде нанівець. Тому стежте за балансом логів у вашому сервісі. Та й взагалі писати логи в файли, як на мене, дуже погана практика. Для тих, хто досі так робить, радимо ознайомитися з 11-м фактором у методології створення SaaS-застосунків.

А зараз виокремимо основні випадки логування. Інші ситуації залежать від конкретних реалізацій та архітектури вашого сервісу.

  1. Основні етапи бізнес-логіки 

Через логи можна зафіксувати, за якою гілкою розгалуження виконувався код. 

  1. Помилки 

Усі вразливі місця коду варто логувати завжди. А ще слід перевіряти коректність їх запису. 

Це особливо актуально для помилок, які вказують на недостатню кількість оперативної пам’яті або на виклик відсутньої функції.

  1. Послідовність дій 

Якщо якась сутність обробляється кількома крон-командами, у логах обов’язково має бути весь ланцюжок. 

  1. Використані ресурси: RAM і CPU 

Рекомендація актуальна для обробників на кшталт конс’юмерів RabbitMQ або Kafka. 

  1. Крон-команди 

За постійного додавання логіки в команду PHP CLI, що спочатку працює кілька секунд, через рік вона може вийти на пів години. Водночас команда стартуватиме кожні 5 хвилин — і все через невгамовне споживання пам’яті та процесорного часу.

  1. Тривалість процесів 

Бо такі логи допомагатимуть бачити загальну картину.


Випадки, що потребують логування, не обмежуються перерахованими пунктами. Тому розробникам встановлювати власні правила створення логів з урахуванням реалій проєкту і не відкладати цю важливу роботу. Нехай щастить!