Skip to content

Проблемная запись в лог. #24

@madmages

Description

@madmages

У вас в MindboxClientV3 есть метод getDeviceUUID, который пишет в лог в вендор папку, если sdk установлен через композер.

private function getDeviceUUID()
    {
        if (empty($_COOKIE['mindboxDeviceUUID'])) {
            $logger = new \Mindbox\Loggers\MindboxFileLogger(__DIR__ . '/getDeviceUUID/');
            $message = date('d.m.Y H:i:s');
            $logger->error($message, ['$_COOKIE' => $_COOKIE, '$_REQUEST' => $_REQUEST, '$_SERVER' => $_SERVER]);
        }
        return isset($_COOKIE['mindboxDeviceUUID']) ? $_COOKIE['mindboxDeviceUUID'] : '';
    }

На мой взгляд - это очень плохо.

  1. Писать логи в вендор папке - явный признак что их читать будет +- никто. Думаю, стоит при создании клиента в конфигах указывать путь для логов, если не указано то и не писать логов вообще.
  2. Если у кода не будет доступа на запись в vendor папку (мой случай), код просто упадет.
  3. Эту штуку нельзя конфигурить. Возможно стоит при создании клиента передавать callable, которая будет возвращать deviceUUID, если не передана в конфиги то тогда к этому способу идти.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions