Telegram Group & Telegram Channel
Сегодня я расскажу вам о том, как настроить эффективное логирование ошибок в PHP-приложениях с помощью библиотеки Monolog.

В повседневной разработке критично не упустить важные ошибки и события, но при этом не завалить логи мусором. Monolog позволяет:

1. Группировать логи по каналам
Вы можете создавать каналы для разных частей приложения:


use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$dbLogger = new Logger('database');
$dbLogger->pushHandler(new StreamHandler(__DIR__.'/logs/db.log', Logger::WARNING));

2. Использовать разные обработчики (handlers)
Отправка ошибок в файлы, на почту или в Slack:


use Monolog\Handler\NativeMailerHandler;
$emailHandler = new NativeMailerHandler('[email protected]', 'DB Error', '[email protected]', Logger::ERROR);
$dbLogger->pushHandler($emailHandler);

3. Добавлять процессоры (processors)
Автоматически дополнять каждый лог юзер-агентом, IP и временем выполнения:


use Monolog\Processor\WebProcessor;
$dbLogger->pushProcessor(new WebProcessor());

4. Форматировать вывод
Пример простого форматера:


use Monolog\Formatter\LineFormatter;
$formatter = new LineFormatter("[%datetime%] %channel%.%level_name%: %message% %context%\n");
$handler->setFormatter($formatter);


🎯 Совет на практике: заведите отдельные файлы логов под разные уровни важности (INFO, WARNING, ERROR), чтобы при поиске нужных записей достаточно было открыть один файл.

А как вы организуете логи в своих проектах? Делитесь опытом в комментариях!

👉 @php_lib



tg-me.com/php_lib/756
Create:
Last Update:

Сегодня я расскажу вам о том, как настроить эффективное логирование ошибок в PHP-приложениях с помощью библиотеки Monolog.

В повседневной разработке критично не упустить важные ошибки и события, но при этом не завалить логи мусором. Monolog позволяет:

1. Группировать логи по каналам
Вы можете создавать каналы для разных частей приложения:


use Monolog\Logger;
use Monolog\Handler\StreamHandler;

$dbLogger = new Logger('database');
$dbLogger->pushHandler(new StreamHandler(__DIR__.'/logs/db.log', Logger::WARNING));

2. Использовать разные обработчики (handlers)
Отправка ошибок в файлы, на почту или в Slack:


use Monolog\Handler\NativeMailerHandler;
$emailHandler = new NativeMailerHandler('[email protected]', 'DB Error', '[email protected]', Logger::ERROR);
$dbLogger->pushHandler($emailHandler);

3. Добавлять процессоры (processors)
Автоматически дополнять каждый лог юзер-агентом, IP и временем выполнения:


use Monolog\Processor\WebProcessor;
$dbLogger->pushProcessor(new WebProcessor());

4. Форматировать вывод
Пример простого форматера:


use Monolog\Formatter\LineFormatter;
$formatter = new LineFormatter("[%datetime%] %channel%.%level_name%: %message% %context%\n");
$handler->setFormatter($formatter);


🎯 Совет на практике: заведите отдельные файлы логов под разные уровни важности (INFO, WARNING, ERROR), чтобы при поиске нужных записей достаточно было открыть один файл.

А как вы организуете логи в своих проектах? Делитесь опытом в комментариях!

👉 @php_lib

BY Библиотека PHP программиста 👨🏼‍💻👩‍💻




Share with your friend now:
tg-me.com/php_lib/756

View MORE
Open in Telegram


Библиотека PHP программиста ‍‍ Telegram | DID YOU KNOW?

Date: |

What is Telegram?

Telegram’s stand out feature is its encryption scheme that keeps messages and media secure in transit. The scheme is known as MTProto and is based on 256-bit AES encryption, RSA encryption, and Diffie-Hellman key exchange. The result of this complicated and technical-sounding jargon? A messaging service that claims to keep your data safe.Why do we say claims? When dealing with security, you always want to leave room for scrutiny, and a few cryptography experts have criticized the system. Overall, any level of encryption is better than none, but a level of discretion should always be observed with any online connected system, even Telegram.

Tata Power whose core business is to generate, transmit and distribute electricity has made no money to investors in the last one decade. That is a big blunder considering it is one of the largest power generation companies in the country. One of the reasons is the company's huge debt levels which stood at ₹43,559 crore at the end of March 2021 compared to the company’s market capitalisation of ₹44,447 crore.

Библиотека PHP программиста ‍‍ from us


Telegram Библиотека PHP программиста 👨🏼‍💻👩‍💻
FROM USA