Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bitrix-expert/monolog-adapter
Monolog adapter for Bitrix CMS
https://github.com/bitrix-expert/monolog-adapter
Last synced: about 2 months ago
JSON representation
Monolog adapter for Bitrix CMS
- Host: GitHub
- URL: https://github.com/bitrix-expert/monolog-adapter
- Owner: bitrix-expert
- License: mit
- Created: 2015-11-22T21:44:25.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-05-25T15:21:14.000Z (over 6 years ago)
- Last Synced: 2024-08-08T22:15:35.694Z (4 months ago)
- Language: PHP
- Homepage:
- Size: 113 KB
- Stars: 66
- Watchers: 11
- Forks: 26
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-bitrix - Monolog adapter for Bitrix CMS
README
# Monolog adapter for Bitrix CMS
[![Build Status](https://travis-ci.org/bitrix-expert/monolog-adapter.svg)](https://travis-ci.org/bitrix-expert/monolog-adapter)
[![Latest Stable Version](https://poser.pugx.org/bitrix-expert/monolog-adapter/v/stable)](https://packagist.org/packages/bitrix-expert/monolog-adapter)
[![Total Downloads](https://poser.pugx.org/bitrix-expert/monolog-adapter/downloads)](https://packagist.org/packages/bitrix-expert/monolog-adapter)
[![License](https://poser.pugx.org/bitrix-expert/monolog-adapter/license)](https://packagist.org/packages/bitrix-expert/monolog-adapter)[Monolog](https://github.com/Seldaek/monolog) adapter for Bitrix CMS:
* Bitrix handler and formatter for Monolog.
* Handler for logger uncaught exceptions of the Bitrix.
* Configuration loggers with using the `.settings.php`.## Installation
Download the library using Composer:
```bash
composer require bitrix-expert/monolog-adapter
```Write in the [`init.php`](https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=2916) file:
```php
array(
'value' => array(
'log' => array(
'class_name' => '\Bex\Monolog\ExceptionHandlerLog',
'settings' => array(
'logger' => 'app'
),
),
),
'readonly' => false
),
'monolog' => array(
'value' => array(
'handlers' => array(
'default' => array(
'class' => '\Monolog\Handler\StreamHandler',
'level' => 'DEBUG',
'stream' => '/path/to/logs/app.log'
),
'feedback_event_log' => array(
'class' => '\Bex\Monolog\Handler\BitrixHandler',
'level' => 'DEBUG',
'event' => 'TYPE_FOR_EVENT_LOG',
'module' => 'vendor.module'
),
),
'loggers' => array(
'app' => array(
'handlers'=> array('default'),
),
'feedback' => array(
'handlers'=> array('feedback_event_log'),
)
)
),
'readonly' => false
)
);
```Use rules property for filter logging uncaught exceptions by instanceof logic:
```php
'exception_handling' => array(
'value' => array(
'log' => array(
'class_name' => '\Bex\Monolog\ExceptionHandlerLog',
'settings' => array(
'logger' => 'app',
'rules' => array(
'instanceof' => '\Vendor\Exception\UnloggedInterface', // or opposite: !instanceof
)
),
),
),
'readonly' => false
)
```Use context property for change log debug data format:
```php
'exception_handling' => array(
'value' => array(
'log' => array(
'class_name' => '\Bex\Monolog\ExceptionHandlerLog',
'settings' => array(
'logger' => 'app',
'context' => function ($exception) {
return array(
'file' => $exception->getFile(),
'line' => $exception->getLine(),
'trace' => $exception->getTrace(),
'some_param' => $exception->getSomeParam(),
);
},
),
),
),
'readonly' => false
)
```### Write logs
Write logs from your application. For example, write logs when created new message from the feedback form:
```php
info('Failed create new message on feedback form', array(
'item_id' => 21,
'Invalid data' => $addResult->getErrorMessages(), // error savings
'Form data' => $formRequest // data from feedback form
));
```The result in the Control Panel of Bitrix:
![Event Log](event-log.png)
## Requirements
* PHP >= 5.3
* Bitrix CMS >= 16.5.6