Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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)