Skip to content

(common) logger analysis #1

@pavlokomarov

Description

@pavlokomarov

Мета

Додати статичний аналіз використання логера і виправити наявні некоректні використання.

Опис

Потрібно створити правило для phpstan/psalm, яке перевіряє використання логера.

Що саме потрібно перевіряти:

  • використання $logger?->log заборонене, щоб не м’ютити логування без причини
  • усі логери мають використовуватись без ?->
  • не може залишатись сценарію, у якому $logger is null

Додатковий контекст:

  • зараз LoggerAwareTrait дає getLogger(): ?Logger
  • при цьому цільова поведінка — логер завжди присутній
  • потрібно не лише додати правило статаналізу, а й виправити попередні використання, які порушують цю вимогу

Критерій виконання

  • У кодовій базі відсутні використання $logger?->log
  • Нові додавання такого патерну виявляються статичним аналізом
  • У місцях використання логера не залишається сценаріїв, де логер може бути null
  • Поточні використання логера приведені до нового правила

Тест-кейси

  • Перевірити на існуючих прикладах, що використання $logger?->log детектиться правилом статаналізу
  • Перевірити, що коректне використання логера без ?-> не дає false positive
  • Перевірити, що після виправлення наявних місць кодова база проходить статаналіз без порушень цього правила
  • Додати контрольний приклад або тестове порушення й перевірити, що нове некоректне використання логера справді ламає перевірку

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions