|
27 | 27 | use Sentry\SentryBundle\Tracing\Twig\TwigTracingExtension;
|
28 | 28 | use Sentry\Serializer\RepresentationSerializer;
|
29 | 29 | use Sentry\Serializer\Serializer;
|
| 30 | +use Sentry\Transport\TransportFactoryInterface; |
30 | 31 | use Symfony\Bundle\TwigBundle\TwigBundle;
|
31 | 32 | use Symfony\Component\Cache\CacheItem;
|
32 | 33 | use Symfony\Component\Config\FileLocator;
|
@@ -124,14 +125,21 @@ private function registerConfiguration(ContainerBuilder $container, array $confi
|
124 | 125 | ->setPublic(false)
|
125 | 126 | ->setArgument(0, new Reference('sentry.client.options'));
|
126 | 127 |
|
| 128 | + $loggerReference = null === $config['logger'] |
| 129 | + ? new Reference(NullLogger::class, ContainerBuilder::IGNORE_ON_INVALID_REFERENCE) |
| 130 | + : new Reference($config['logger']); |
| 131 | + |
| 132 | + $factoryBuilderDefinition = $container->getDefinition(TransportFactoryInterface::class); |
| 133 | + $factoryBuilderDefinition->setArgument('$logger', $loggerReference); |
| 134 | + |
127 | 135 | $clientBuilderDefinition = (new Definition(ClientBuilder::class))
|
128 | 136 | ->setArgument(0, new Reference('sentry.client.options'))
|
129 | 137 | ->addMethodCall('setSdkIdentifier', [SentryBundle::SDK_IDENTIFIER])
|
130 | 138 | ->addMethodCall('setSdkVersion', [PrettyVersions::getVersion('sentry/sentry-symfony')->getPrettyVersion()])
|
131 | 139 | ->addMethodCall('setTransportFactory', [new Reference($config['transport_factory'])])
|
132 | 140 | ->addMethodCall('setSerializer', [$serializer])
|
133 | 141 | ->addMethodCall('setRepresentationSerializer', [$representationSerializerDefinition])
|
134 |
| - ->addMethodCall('setLogger', [null !== $config['logger'] ? new Reference($config['logger']) : new Reference(NullLogger::class, ContainerBuilder::IGNORE_ON_INVALID_REFERENCE)]); |
| 142 | + ->addMethodCall('setLogger', [$loggerReference]); |
135 | 143 |
|
136 | 144 | $container
|
137 | 145 | ->setDefinition('sentry.client', new Definition(Client::class))
|
|
0 commit comments