В Symfony 2.5.9, я стараюсь, чтобы переопределить SwiftMailerHandler из монологаКак переопределить обработчик ядра Monolog?
class MySwiftMailerHandler extends SwiftMailerHandler
{
public function __construct(\Swift_Mailer $mailer, $message, $level = Logger::ERROR, $bubble = true)
{
$message->setSubject('Lorem ipsum : ' . $message->getSubject()) ;
parent::__construct($mailer, $message, $level, $bubble);
}
}
с сервисом
<service id="my_custom_handler" class="XXXX\Monolog\Handler\MySwiftMailerHandler">
<tag name="monolog.handler.swift"/> <!-- which tag to use ? -->
</service>
и конфигурации
monolog:
handlers:
mail:
type: fingers_crossed
action_level: critical
handler: custom #before buffered
custom:
type: service
id: my_custom_handler
#buffered:
# type: buffer
# handler: swift
swift:
type: swift_mailer
from_email: %monolog_from_email%
to_email: %monolog_to_email%
subject: 'Error'
level: critical
Но мой обработчик имеет следующие ошибки: «__construct () должен быть экземпляром Swift_Mailer, не указанным ... »
Как создать мой новый сервис-обработчик? Плохой конфигурационный монологи? Какой тег использовать? Как сделать ? Спасибо!
Когда вы объявляете свое обслуживание, вы не передаете ни одну из необходимых зависимостей. Посоветуйте вам проверить, как это делает основной код, и немного читайте об инъекциях зависимостей в документации. –