Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adrenalinkin/monolog-autowire-bundle
Provides autowiring for the loggers registered by symfony/monolog-bundle
https://github.com/adrenalinkin/monolog-autowire-bundle
autowire autowiring log logger logging monolog null-logger symfony-bundle
Last synced: 11 days ago
JSON representation
Provides autowiring for the loggers registered by symfony/monolog-bundle
- Host: GitHub
- URL: https://github.com/adrenalinkin/monolog-autowire-bundle
- Owner: adrenalinkin
- License: mit
- Created: 2019-04-14T17:28:04.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-04-28T21:32:13.000Z (over 5 years ago)
- Last Synced: 2024-10-11T23:04:23.867Z (2 months ago)
- Topics: autowire, autowiring, log, logger, logging, monolog, null-logger, symfony-bundle
- Language: PHP
- Homepage:
- Size: 27.3 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.RU.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Monolog Autowire Bundle [![In English](https://img.shields.io/badge/Switch_To-English-green.svg?style=flat-square)](./README.md)
=======================[![Latest Stable Version](https://poser.pugx.org/adrenalinkin/monolog-autowire-bundle/v/stable)](https://packagist.org/packages/adrenalinkin/monolog-autowire-bundle)
[![Total Downloads](https://poser.pugx.org/adrenalinkin/monolog-autowire-bundle/downloads)](https://packagist.org/packages/adrenalinkin/monolog-autowire-bundle)[![knpbundles.com](http://knpbundles.com/adrenalinkin/monolog-autowire-bundle/badge-short)](http://knpbundles.com/adrenalinkin/monolog-autowire-bundle)
Введение
--------Бандл предоставляет возможность подключать зарегистрированные в `MonologBundle` логгеры
посредством стандартного механизма `autowire`.
Цель достигается благодаря автогенерируемым классам логгеров. Каждый класс декорирует один объект одного
зарегистрированного `monolog` канала.Также доступен второй способ достижения цели - при помощи управляющего класса `LoggerCollection`.
В случае если запрашиваемого канала не существует - будет выбран запасной `logger`.
В качестве запасного `logger` будет использован сервис, на который ссылается `@Psr\Log\LoggerInterface`.
Если запасной `logger` не зарегистрирован в контейнере сервисов, то будет возвращен экземпляр `Psr\Log\NullLogger`.**Важно:** Бандл будет исправно работать при отсутствии `MonologBundle` в проекте.
В этом случае `LoggerCollection` будет всегда возвращать запасное значение.Установка
---------### Шаг 1: Загрузка бандла
Откройте консоль и, перейдя в директорию проекта, выполните следующую команду для загрузки наиболее подходящей
стабильной версии этого бандла:
```bash
composer require adrenalinkin/monolog-autowire-bundle
```
*Эта команда подразумевает что [Composer](https://getcomposer.org) установлен и доступен глобально.*### Шаг 2: Подключение бандла
После включите бандл добавив его в список зарегистрированных бандлов в `app/AppKernel.php` файл вашего проекта:
```php
acmeLogLogger = $acmeLogLogger;
$this->doctrineLogger = $doctrineLogger;
$this->logger = $logger;
}
public function doSome(): void
{
$this->acmeLogLogger->info('INFO into "acme_log" channel');
$this->doctrineLogger->info('INFO into "doctrine" channel');
$this->logger->info('INFO into Fallback or into NullLogger');
}
}
```### Использование через коллекцию логгеров
```php
acmeLogLogger = $loggerCollection->getLogger('acme_log');
$this->doctrineLogger = $loggerCollection->getLogger('doctrine');
$this->logger = $loggerCollection->getLogger();
}
public function doSome(): void
{
$this->acmeLogLogger->info('INFO into "acme_log" channel');
$this->doctrineLogger->info('INFO into "doctrine" channel');
$this->logger->info('INFO into Fallback or into NullLogger');
}
}
```Лицензия
--------[![license](https://img.shields.io/badge/License-MIT-green.svg?style=flat-square)](./LICENSE)