Sobes.tech
Intern

Какво е логиране?

sobes.tech AI

Отговор от AI

Процесът на записване на информация за събития, които се случват по време на изпълнение на програма или система. Помага при отстраняване на грешки, мониторинг и анализ на работата на приложението.

Видове логове:

  • Информационни (info): Общи сведения за работата.
  • Отладъчни (debug): Подробна информация за търсене на грешки.
  • Предупреждения (warning): Ситуации, които могат да доведат до проблеми.
  • Грешки (error): Произошли грешки, които не са прекъснали изпълнението.
  • Критични (critical): Грешки, които са довели до спиране на част или цялата система.

Инструменти и подходи:

  • PSR-3 интерфейс за логване - стандарт PHP за интерфейса на логгера.
  • Monolog - популярна библиотека за логиране в PHP.
  • Логване във файлове, бази данни, външни услуги (например, Sentry, ELK).

Пример за използване с PSR-3:

<?php

use Psr\Log\LoggerInterface;

class MyClass
{
    private LoggerInterface $logger;

    public function __construct(LoggerInterface $logger)
    {
        $this->logger = $logger;
    }

    public function doSomething(): void
    {
        $this->logger->info('Започване на doSomething', ['context_data' => 'стойност']);
        try {
            // ... код за изпълнение
        } catch (\Exception $e) {
            $this->logger->error('Грешка при изпълнение на doSomething', [
                'exception' => $e,
                'user_id' => 123
            ]);
        }
        $this->logger->debug('Завършване на doSomething');
    }
}