Skip to content

Commit 28fc2e6

Browse files
committed
Made priorities configurable
In order to allow users to move the listeners in their priorities queue the value is now configurable via configuration parameters. In order to maintain BC these values default to 0 which is the current value.
1 parent e7e778b commit 28fc2e6

File tree

4 files changed

+33
-6
lines changed

4 files changed

+33
-6
lines changed

src/Sentry/SentryBundle/DependencyInjection/Configuration.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,14 @@ public function getConfigTreeBuilder()
7171
'%kernel.root_dir%/../var/cache',
7272
))
7373
->end()
74+
->arrayNode('listener_priorities')
75+
->addDefaultsIfNotSet()
76+
->children()
77+
->scalarNode('request')->defaultValue(0)->end()
78+
->scalarNode('kernel_exception')->defaultValue(0)->end()
79+
->scalarNode('console_exception')->defaultValue(0)->end()
80+
->end()
81+
->end()
7482
->end()
7583
;
7684

src/Sentry/SentryBundle/DependencyInjection/SentryExtension.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,13 @@ public function load(array $configs, ContainerBuilder $container)
2323
$config = $this->processConfiguration($configuration, $configs);
2424
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
2525
$loader->load('services.yml');
26+
2627
foreach ($config as $key => $value) {
2728
$container->setParameter('sentry.' . $key, $value);
2829
}
30+
31+
foreach($config['listener_priorities'] as $key => $priority) {
32+
$container->setParameter('sentry.listener_priorities.' . $key, $priority);
33+
}
2934
}
3035
}

src/Sentry/SentryBundle/Resources/config/services.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ services:
1919
- '%sentry.skip_capture%'
2020
- '@event_dispatcher'
2121
tags:
22-
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
23-
- { name: kernel.event_listener, event: kernel.exception, method: onKernelException }
24-
- { name: kernel.event_listener, event: console.exception, method: onConsoleException }
22+
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest, priority: '%sentry.listener_priorities.request%'}
23+
- { name: kernel.event_listener, event: kernel.exception, method: onKernelException, priority: '%sentry.listener_priorities.kernel_exception%' }
24+
- { name: kernel.event_listener, event: console.exception, method: onConsoleException, priority: '%sentry.listener_priorities.console_exception%' }

test/Sentry/SentryBundle/Test/DependencyInjection/ExtensionTest.php

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,20 @@ public function test_that_it_uses_options_value()
133133
);
134134
}
135135

136+
public function test_that_it_has_default_priority_values()
137+
{
138+
$container = $this->getContainer();
139+
140+
$this->assertTrue($container->hasParameter('sentry.listener_priorities'));
141+
142+
$priorities = $container->getParameter('sentry.listener_priorities');
143+
$this->assertInternalType('array', $priorities);
144+
145+
$this->assertSame(0, $priorities['request']);
146+
$this->assertSame(0, $priorities['kernel_exception']);
147+
$this->assertSame(0, $priorities['console_exception']);
148+
}
149+
136150
/**
137151
* @expectedException Symfony\Component\Config\Definition\Exception\InvalidConfigurationException
138152
*/
@@ -274,9 +288,9 @@ public function test_that_it_has_proper_event_listener_tags_for_exception_listen
274288

275289
$this->assertSame(
276290
array(
277-
array('event' => 'kernel.request', 'method' => 'onKernelRequest'),
278-
array('event' => 'kernel.exception', 'method' => 'onKernelException'),
279-
array('event' => 'console.exception', 'method' => 'onConsoleException'),
291+
array('event' => 'kernel.request', 'method' => 'onKernelRequest', 'priority' => '%sentry.listener_priorities.request%' ),
292+
array('event' => 'kernel.exception', 'method' => 'onKernelException', 'priority' => '%sentry.listener_priorities.kernel_exception%'),
293+
array('event' => 'console.exception', 'method' => 'onConsoleException', 'priority' => '%sentry.listener_priorities.console_exception%'),
280294
),
281295
$tags
282296
);

0 commit comments

Comments
 (0)