Skip to content

Commit 7d09f09

Browse files
authored
Remove the config section related to Monolog (#406)
1 parent 7f82f1c commit 7d09f09

14 files changed

+25
-183
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
- PHP 8 support (#399, thanks to @Yozhef)
1414
- Retrieve the request from the `RequestStack` when using the `RequestIntegration` integration (#361)
1515
- Reorganize the folder structure and change CS standard (#405)
16+
- [BC BREAK] Removed the `monolog` configuration option. Instead, register the service manually (#406)
1617

1718
## 3.5.3 (2020-10-13)
1819

UPGRADE-4.0.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,29 @@
157157

158158
- Removed the `ClientBuilderConfigurator` class.
159159
- Removed the `SentryBundle::getSdkVersion()` method.
160-
- Removed `SentryBundle::getCurrentHub()` method, use `SentrySdk::getCurrentHub()` instead.
160+
- Removed the `SentryBundle::getCurrentHub()` method, use `SentrySdk::getCurrentHub()` instead.
161161
- Removed the `Sentry\ClientBuilderInterface` and `Sentry\Options` services.
162162
- Refactorized the `ErrorTypesParser` class and made it `@internal`.
163+
- Removed the `sentry.monolog` configuration option.
164+
165+
Before
166+
167+
```yaml
168+
sentry:
169+
monolog:
170+
level: !php/const Monolog\Logger::ERROR
171+
bubble: false
172+
error_handler:
173+
enabled: true
174+
```
175+
176+
After
177+
178+
```yaml
179+
services:
180+
Sentry\Monolog\Handler:
181+
arguments:
182+
$hub: Sentry\State\HubInterface
183+
$level: !php/const Monolog\Logger::ERROR
184+
$bubble: false
185+
```

src/DependencyInjection/Configuration.php

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace Sentry\SentryBundle\DependencyInjection;
66

77
use Jean85\PrettyVersions;
8-
use Monolog\Logger;
98
use Sentry\Options;
109
use Sentry\SentryBundle\ErrorTypesParser;
1110
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
@@ -128,7 +127,6 @@ public function getConfigTreeBuilder(): TreeBuilder
128127
;
129128

130129
$this->addMessengerSection($rootNode);
131-
$this->addMonologSection($rootNode);
132130
$this->addListenerSection($rootNode);
133131

134132
return $treeBuilder;
@@ -147,26 +145,6 @@ private function addMessengerSection(ArrayNodeDefinition $rootNode): void
147145
->end();
148146
}
149147

150-
private function addMonologSection(ArrayNodeDefinition $rootNode): void
151-
{
152-
$rootNode
153-
->children()
154-
->arrayNode('monolog')
155-
->addDefaultsIfNotSet()
156-
->children()
157-
->arrayNode('error_handler')
158-
->{class_exists(Logger::class) ? 'canBeDisabled' : 'canBeEnabled'}()
159-
->end()
160-
->scalarNode('level')
161-
->defaultValue(Logger::DEBUG)
162-
->cannotBeEmpty()
163-
->end()
164-
->booleanNode('bubble')->defaultTrue()->end()
165-
->end()
166-
->end()
167-
->end();
168-
}
169-
170148
private function addListenerSection(ArrayNodeDefinition $rootNode): void
171149
{
172150
$rootNode

src/DependencyInjection/SentryExtension.php

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@
55
namespace Sentry\SentryBundle\DependencyInjection;
66

77
use Jean85\PrettyVersions;
8-
use Monolog\Logger as MonologLogger;
98
use Sentry\Client;
109
use Sentry\ClientBuilder;
1110
use Sentry\Integration\IgnoreErrorsIntegration;
1211
use Sentry\Integration\IntegrationInterface;
1312
use Sentry\Integration\RequestFetcherInterface;
1413
use Sentry\Integration\RequestIntegration;
15-
use Sentry\Monolog\Handler;
1614
use Sentry\Options;
1715
use Sentry\SentryBundle\EventListener\ErrorListener;
1816
use Sentry\SentryBundle\EventListener\MessengerListener;
@@ -23,7 +21,6 @@
2321
use Symfony\Component\Config\FileLocator;
2422
use Symfony\Component\DependencyInjection\ContainerBuilder;
2523
use Symfony\Component\DependencyInjection\Definition;
26-
use Symfony\Component\DependencyInjection\Exception\LogicException;
2724
use Symfony\Component\DependencyInjection\Loader;
2825
use Symfony\Component\DependencyInjection\Reference;
2926
use Symfony\Component\ErrorHandler\Error\FatalError;
@@ -62,7 +59,6 @@ protected function loadInternal(array $mergedConfig, ContainerBuilder $container
6259
$this->registerConfiguration($container, $mergedConfig);
6360
$this->registerErrorListenerConfiguration($container, $mergedConfig);
6461
$this->registerMessengerListenerConfiguration($container, $mergedConfig['messenger']);
65-
$this->registerMonologHandlerConfiguration($container, $mergedConfig['monolog']);
6662
}
6763

6864
/**
@@ -155,28 +151,6 @@ private function registerMessengerListenerConfiguration(ContainerBuilder $contai
155151
$container->getDefinition(MessengerListener::class)->setArgument(1, $config['capture_soft_fails']);
156152
}
157153

158-
/**
159-
* @param array<string, mixed> $config
160-
*/
161-
private function registerMonologHandlerConfiguration(ContainerBuilder $container, array $config): void
162-
{
163-
$errorHandlerConfig = $config['error_handler'];
164-
165-
if (!$errorHandlerConfig['enabled']) {
166-
$container->removeDefinition(Handler::class);
167-
168-
return;
169-
}
170-
171-
if (!class_exists(MonologLogger::class)) {
172-
throw new LogicException(sprintf('To use the "%s" class you need to require the "symfony/monolog-bundle" package.', Handler::class));
173-
}
174-
175-
$definition = $container->getDefinition(Handler::class);
176-
$definition->setArgument(0, MonologLogger::toMonologLevel($config['level']));
177-
$definition->setArgument(1, $config['bubble']);
178-
}
179-
180154
/**
181155
* @param string[] $integrations
182156
* @param array<string, mixed> $config

src/Resources/config/schema/sentry-1.0.xsd

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
<xsd:element name="options" type="options" minOccurs="0" maxOccurs="1" />
1313
<xsd:element name="messenger" type="messenger" minOccurs="0" maxOccurs="1" />
1414
<xsd:element name="listener-priorities" type="listeners-priorities" minOccurs="0" maxOccurs="1" />
15-
<xsd:element name="monolog" type="monolog" minOccurs="0" maxOccurs="1" />
1615
</xsd:choice>
1716

1817
<xsd:attribute name="register-error-listener" type="xsd:boolean" />
@@ -90,48 +89,4 @@
9089
<xsd:attribute name="console-terminate" type="xsd:integer" />
9190
<xsd:attribute name="worker-error" type="xsd:integer" />
9291
</xsd:complexType>
93-
94-
<xsd:complexType name="monolog">
95-
<xsd:choice maxOccurs="unbounded">
96-
<xsd:element name="error-handler" type="monolog-error-handler" minOccurs="0" maxOccurs="1" />
97-
</xsd:choice>
98-
99-
<xsd:attribute name="level" type="monolog-level" />
100-
<xsd:attribute name="bubble" type="xsd:boolean" />
101-
</xsd:complexType>
102-
103-
<xsd:complexType name="monolog-error-handler">
104-
<xsd:attribute name="enabled" type="xsd:boolean" />
105-
</xsd:complexType>
106-
107-
<xsd:simpleType name="monolog-level">
108-
<xsd:restriction base="xsd:string">
109-
<xsd:enumeration value="debug" />
110-
<xsd:enumeration value="info" />
111-
<xsd:enumeration value="notice" />
112-
<xsd:enumeration value="warning" />
113-
<xsd:enumeration value="error" />
114-
<xsd:enumeration value="critical" />
115-
<xsd:enumeration value="alert" />
116-
<xsd:enumeration value="emergency" />
117-
118-
<xsd:enumeration value="DEBUG" />
119-
<xsd:enumeration value="INFO" />
120-
<xsd:enumeration value="NOTICE" />
121-
<xsd:enumeration value="WARNING" />
122-
<xsd:enumeration value="ERROR" />
123-
<xsd:enumeration value="CRITICAL" />
124-
<xsd:enumeration value="ALERT" />
125-
<xsd:enumeration value="EMERGENCY" />
126-
127-
<xsd:enumeration value="100" />
128-
<xsd:enumeration value="200" />
129-
<xsd:enumeration value="250" />
130-
<xsd:enumeration value="300" />
131-
<xsd:enumeration value="400" />
132-
<xsd:enumeration value="500" />
133-
<xsd:enumeration value="550" />
134-
<xsd:enumeration value="600" />
135-
</xsd:restriction>
136-
</xsd:simpleType>
13792
</xsd:schema>

src/Resources/config/services.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,6 @@
6363
<tag name="console.command" />
6464
</service>
6565

66-
<service id="Sentry\Monolog\Handler" class="Sentry\Monolog\Handler">
67-
<argument type="service" id="Sentry\State\HubInterface" />
68-
</service>
69-
7066
<service id="Sentry\Integration\RequestFetcherInterface" class="Sentry\SentryBundle\Integration\RequestFetcher">
7167
<argument type="service" id="Symfony\Component\HttpFoundation\RequestStack" />
7268
<argument type="service">

tests/DependencyInjection/ConfigurationTest.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace Sentry\SentryBundle\Tests\DependencyInjection;
66

77
use Jean85\PrettyVersions;
8-
use Monolog\Logger;
98
use PHPUnit\Framework\TestCase;
109
use Sentry\SentryBundle\DependencyInjection\Configuration;
1110
use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
@@ -35,13 +34,6 @@ public function testProcessConfigurationWithDefaultConfiguration(): void
3534
'enabled' => interface_exists(MessageBusInterface::class),
3635
'capture_soft_fails' => true,
3736
],
38-
'monolog' => [
39-
'error_handler' => [
40-
'enabled' => class_exists(Logger::class),
41-
],
42-
'level' => Logger::DEBUG,
43-
'bubble' => true,
44-
],
4537
'register_error_listener' => true,
4638
'listener_priorities' => [
4739
'request' => 1,

tests/DependencyInjection/Fixtures/php/monolog_handler.php

Lines changed: 0 additions & 14 deletions
This file was deleted.

tests/DependencyInjection/Fixtures/php/monolog_handler_disabled.php

Lines changed: 0 additions & 12 deletions
This file was deleted.

tests/DependencyInjection/Fixtures/xml/monolog_handler.xml

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)