• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FriendsOfOpenTelemetry / opentelemetry-bundle / 7753009285

02 Feb 2024 07:58AM UTC coverage: 35.071% (-29.5%) from 64.527%
7753009285

Pull #38

github

gaelreyrol
refactor: better services injection with factories
Pull Request #38: Refactor services injection

99 of 459 new or added lines in 44 files covered. (21.57%)

314 existing lines in 33 files now uncovered.

740 of 2110 relevant lines covered (35.07%)

2.37 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Resources/config/services_logs.php
1
<?php
2

3
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\AbstractLogExporterFactory;
4
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\ConsoleLogExporterFactory;
5
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\InMemoryLogExporterFactory;
6
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\LogExporterFactory;
7
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\NoopLogExporterFactory;
8
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\OtlpLogExporterFactory;
9
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LoggerProvider\AbstractLoggerProviderFactory;
10
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LoggerProvider\NoopLoggerProviderFactory;
11
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogProcessor\AbstractLogProcessorFactory;
12
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogProcessor\MultiLogProcessorFactory;
13
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogProcessor\NoopLogProcessorFactory;
14
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogProcessor\SimpleLogProcessorFactory;
15
use OpenTelemetry\API\Logs\LoggerInterface;
16
use OpenTelemetry\Contrib\Logs\Monolog\Handler as MonologHandler;
17
use OpenTelemetry\SDK\Logs\LoggerProviderInterface;
18
use OpenTelemetry\SDK\Logs\LogRecordExporterInterface;
19
use OpenTelemetry\SDK\Logs\LogRecordProcessorInterface;
20
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
21

22
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
23
use function Symfony\Component\DependencyInjection\Loader\Configurator\tagged_iterator;
24

NEW
25
return static function (ContainerConfigurator $container): void {
×
NEW
26
    $container->services()
×
NEW
27
        ->defaults()
×
NEW
28
        ->private()
×
29

NEW
30
        ->set('open_telemetry.logs.monolog.handler', MonologHandler::class)
×
31

NEW
32
        // Exporters
×
NEW
33
        ->set('open_telemetry.logs.exporter_factory.abstract', AbstractLogExporterFactory::class)
×
NEW
34
            ->abstract()
×
NEW
35
            ->args([
×
NEW
36
                service('open_telemetry.transport_factory'),
×
NEW
37
                service('logger')->ignoreOnInvalid(),
×
NEW
38
            ])
×
NEW
39
            ->tag('monolog.logger', ['channel' => 'open_telemetry'])
×
40

NEW
41
        ->set('open_telemetry.logs.exporter_factory.console', ConsoleLogExporterFactory::class)
×
NEW
42
            ->parent('open_telemetry.logs.exporter_factory.abstract')
×
NEW
43
            ->tag('open_telemetry.logs.exporter_factory')
×
44

NEW
45
        ->set('open_telemetry.logs.exporter_factory.in-memory', InMemoryLogExporterFactory::class)
×
NEW
46
            ->parent('open_telemetry.logs.exporter_factory.abstract')
×
NEW
47
            ->tag('open_telemetry.logs.exporter_factory')
×
48

NEW
49
        ->set('open_telemetry.logs.exporter_factory.noop', NoopLogExporterFactory::class)
×
NEW
50
            ->parent('open_telemetry.logs.exporter_factory.abstract')
×
NEW
51
            ->tag('open_telemetry.logs.exporter_factory')
×
52

NEW
53
        ->set('open_telemetry.logs.exporter_factory.otlp', OtlpLogExporterFactory::class)
×
NEW
54
            ->parent('open_telemetry.logs.exporter_factory.abstract')
×
NEW
55
            ->tag('open_telemetry.logs.exporter_factory')
×
56

NEW
57
        ->set('open_telemetry.logs.exporter_factory', LogExporterFactory::class)
×
NEW
58
            ->args([
×
NEW
59
                tagged_iterator('open_telemetry.logs.exporter_factory'),
×
NEW
60
            ])
×
61

NEW
62
        ->set('open_telemetry.logs.exporter_interface', LogRecordExporterInterface::class)
×
NEW
63
            ->factory([service('open_telemetry.logs.exporter_factory'), 'createExporter'])
×
64

NEW
65
        // Processors
×
NEW
66
        ->set('open_telemetry.logs.processor_factory.abstract', AbstractLogProcessorFactory::class)
×
NEW
67
            ->abstract()
×
NEW
68
            ->args([
×
NEW
69
                service('logger')->ignoreOnInvalid(),
×
NEW
70
            ])
×
NEW
71
            ->tag('monolog.logger', ['channel' => 'open_telemetry'])
×
72

NEW
73
        ->set('open_telemetry.logs.processor_factory.multi', MultiLogProcessorFactory::class)
×
NEW
74
            ->parent('open_telemetry.logs.processor_factory.abstract')
×
75

NEW
76
        ->set('open_telemetry.logs.processor_factory.noop', NoopLogProcessorFactory::class)
×
NEW
77
            ->parent('open_telemetry.logs.processor_factory.abstract')
×
78

NEW
79
        ->set('open_telemetry.logs.processor_factory.simple', SimpleLogProcessorFactory::class)
×
NEW
80
            ->parent('open_telemetry.logs.processor_factory.abstract')
×
81

NEW
82
        ->set('open_telemetry.logs.processor_interface', LogRecordProcessorInterface::class)
×
83

NEW
84
        // Providers
×
NEW
85
        ->set('open_telemetry.logs.provider_factory.abstract', AbstractLoggerProviderFactory::class)
×
NEW
86
            ->abstract()
×
NEW
87
            ->args([
×
NEW
88
                service('logger')->ignoreOnInvalid(),
×
NEW
89
            ])
×
NEW
90
            ->tag('monolog.logger', ['channel' => 'open_telemetry'])
×
91

NEW
92
        ->set('open_telemetry.logs.provider_factory.noop', NoopLoggerProviderFactory::class)
×
NEW
93
            ->parent('open_telemetry.logs.provider_factory.abstract')
×
94

NEW
95
        ->set('open_telemetry.logs.provider_factory.default', NoopLoggerProviderFactory::class)
×
NEW
96
            ->parent('open_telemetry.logs.provider_factory.abstract')
×
97

NEW
98
        ->set('open_telemetry.logs.provider_interface', LoggerProviderInterface::class)
×
99

NEW
100
        // Logger
×
NEW
101
        ->set('open_telemetry.logs.logger', LoggerInterface::class)
×
NEW
102
    ;
×
NEW
103
};
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc