swiftmailer — Как использовать PHP монолог

Я много слышал о монологе (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');

но не могу понять, как использовать это с БД & любая другая электронная библиотека.

0

Решение

Вы сами опубликовали пример. Вместо 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 используется для каждого сообщения журнала, где сообщение заменяется каждый раз, когда тело письма.

Я могу только предложить вам прочитать монологический код для информации, где отсутствует дополнительная документация.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]