Skip to content

Commit e81c2e9

Browse files
committed
Add BC for older symfony versions, refs #51
1 parent 2defe31 commit e81c2e9

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

DependencyInjection/MonologExtension.php

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,13 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
247247
break;
248248

249249
case 'swift_mailer':
250+
$oldHandler = false;
251+
// fallback for older symfony versions that don't have the new SwiftMailerHandler in the bridge
252+
if (!class_exists($definition->getClass())) {
253+
$definition = new Definition('Monolog\Handler\SwiftMailerHandler');
254+
$oldHandler = true;
255+
}
256+
250257
if (isset($handler['email_prototype'])) {
251258
if (!empty($handler['email_prototype']['method'])) {
252259
$prototype = array(new Reference($handler['email_prototype']['id']), $handler['email_prototype']['method']);
@@ -276,8 +283,10 @@ private function buildHandler(ContainerBuilder $container, $name, array $handler
276283
$handler['level'],
277284
$handler['bubble'],
278285
));
279-
$definition->addMethodCall('setTransport', array(new Reference('swiftmailer.transport.real')));
280-
$definition->addTag('kernel.event_listener', array('event' => 'kernel.terminate', 'method' => 'onKernelTerminate'));
286+
if (!$oldHandler) {
287+
$definition->addMethodCall('setTransport', array(new Reference('swiftmailer.transport.real')));
288+
$definition->addTag('kernel.event_listener', array('event' => 'kernel.terminate', 'method' => 'onKernelTerminate'));
289+
}
281290
break;
282291

283292
case 'native_mailer':

0 commit comments

Comments
 (0)