Skip to content

(common) logger analysis #1

Description

@pavlokomarov

Мета

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

Опис

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

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

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

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

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

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

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

Тест-кейси

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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