log (php-fig/log)
Searching Database…
Что это такое?
Это пакет со стандартом PSR-3: набор интерфейсов, классов и трейтов (в центре которых Psr\Log\LoggerInterface), описывающих, каким должен быть логгер на PHP, чтобы разные библиотеки могли использовать общий контракт логирования.
Это готовый логгер, который можно использовать сразу, или только спецификация?
Это исключительно спецификация: движка логирования, записи в файлы и обработчиков здесь нет. Вам всё равно понадобится настоящий логгер, реализующий этот интерфейс.
Как на самом деле использовать это в проекте?
В своём коде укажите тип Psr\Log\LoggerInterface, а затем подключите любой логгер, который его реализует. Если вы сами пишете логгер, подключите этот пакет и реализуйте интерфейс самостоятельно.
Нужно ли писать логгер с нуля, чтобы использовать этот пакет?
Нет. Достаточно библиотеки логирования, совместимой с PSR-3 (например, Monolog), которая уже реализует интерфейс. Этот пакет лишь задаёт контракт, на который вы опираетесь в коде.
Пишет ли этот пакет логи сам по себе?
Нет, у него вообще нет поведения во время выполнения: это строго интерфейсы, классы и трейты, описывающие контракт, а реальную работу выполняет выбранная вами реализация.
Что входит в состав помимо LoggerInterface?
В пакет также входят вспомогательные классы и трейты, относящиеся к спецификации PSR-3. Они дают единую основу для реализации стандартных методов уровней логирования (debug, info, error и др.).
Зачем использовать это, а не просто выбрать библиотеку логирования?
PSR-3 — это общий контракт: написав код с опорой на Psr\Log\LoggerInterface, вы можете работать с любым совместимым логгером (например, Monolog), не привязываясь к одной реализации.
Есть ли в комплекте эталонная реализация?
Нет, пакет намеренно не содержит реализации. Вы подключаете собственный класс логгера, реализующий Psr\Log\LoggerInterface, как описано в полной спецификации.
What are similar projects?
monolog, container, Slim, agentmemoryrepo, agentskills, pino, CocoaLumberjack, is-a-software
Which topics is it in?
standard, software, specification, logging, package-manager, php, backend, api, library, developer-tools, mit, open-source