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

0

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

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

Теги:
monolog
swiftmailer

1 ответ

1
Лучший ответ

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

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

  • 0
    Вчера, после 2 дней ломания головы, я наконец-то узнал, как работать с монологом. Я собрал эту вещь Swiftmailer и как записать в таблицу ошибок DB PDO. Теперь, я думаю, у меня есть некоторая власть над этим. В любом случае, спасибо за вашу помощь и поддержку. Я это очень ценю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню