Skip to content

Commit 325714a

Browse files
authored
Merge pull request #61 from rdohms/configurable-priority
Made priorities configurable
2 parents e7e778b + e8942b5 commit 325714a

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)