Я много слышал о монологе (https://github.com/Seldaek/monolog) & пытаясь использовать это в одном из наших приложений. Но, не могу рассчитать. как это использовать. Не знаю, что я только не могу получить какую-либо документацию об этом, или на самом деле у нее нет документации вообще.
Мы хотим записать все наши ошибки в БД & а также отправить уведомление по электронной почте об ошибке, когда он будет генерировать. Для отправки электронной почты мы используем Swiftmailer (swiftmailer.org).
Я могу запустить этот пример кода по ссылке Github,
<?php
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// create a log channel
$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
// add records to the log
$log->addWarning('Foo');
$log->addError('Bar');
но не могу понять, как использовать это с БД & любая другая электронная библиотека.
Вы сами опубликовали пример. Вместо StreamHandler используйте один или несколько других обработчиков, предлагаемых монологом.
Вы должны заглянуть в код обработчиков, чтобы увидеть, какие зависимости им нужны. Загляните в каталог Monolog, и вы найдете классы Handler. Кодекс является самой надежной документацией.
<?php
use Monolog\Logger;
use Monolog\Handler\SwiftMailerHandler;
use Swift_Mailer;
// ... more dependencies you need
// create your Swift_Mailer and Swift_Message instances
$handlers = [
new SwiftMailerHandler($swiftMailer, $swiftMessage),
// add more handler you need
];
$log = new Logger('name', $handlers);$log->warning('Foo');
$log->error('Bar');
Вы должны создать Swift_Mailer и Swift_Message экземпляр для SwiftMailerHandler. Вместо pushHandler вы можете добавить массив обработчиков в конструктор Logger.
Экземпляр Swift_Message используется для каждого сообщения журнала, где сообщение заменяется каждый раз, когда тело письма.
Я могу только предложить вам прочитать монологический код для информации, где отсутствует дополнительная документация.
Других решений пока нет …