Skip to content

Commit b43fd31

Browse files
author
Stephen Lucero
committed
Issue #3480614 by slucero, petermallett: Update Logger Injection to be Autoconfigured
1 parent c2f939e commit b43fd31

19 files changed

Lines changed: 85 additions & 220 deletions

‎patternkit.services.yml‎

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ parameters:
1717
bypass_database_cache: false
1818

1919
services:
20+
_defaults:
21+
autoconfigure: true
22+
2023
logger.channel.patternkit:
2124
parent: logger.channel_base
2225
arguments: ['patternkit']
@@ -40,7 +43,6 @@ services:
4043
- '@entity_type.manager'
4144
- '@patternkit.schema.data_preprocessor.factory'
4245
- '@patternkit.pattern.dependency_resolver'
43-
- '@logger.channel.patternkit'
4446
- '@?plugin.manager.sdc'
4547
patternkit.asset.library.parser.file:
4648
parent: patternkit.asset.library.parser.base
@@ -67,22 +69,19 @@ services:
6769
- '@patternkit.pattern.discovery.loader'
6870
- '@patternkit.library.namespace_resolver'
6971
- '@cache.patternkit'
70-
- '@logger.channel.patternkit'
7172
- '@patternkit.environment'
7273
patternkit.pattern.discovery.loader:
7374
class: Drupal\patternkit\Asset\PatternDiscoveryLoader
7475
arguments:
7576
- '@patternkit.library.namespace_resolver'
7677
- '@plugin.manager.library.pattern'
77-
- '@logger.channel.patternkit'
7878
public: false
7979
patternkit.pattern.dependency_resolver:
8080
class: Drupal\patternkit\Asset\PatternDependencyResolver
8181
arguments:
8282
- '@patternkit.pattern.discovery'
8383
- '@entity_type.manager'
8484
- '@patternkit.schema.data_preprocessor.factory'
85-
- '@logger.channel.patternkit'
8685
calls:
8786
- ['setContextBuilder', ['@patternkit.schema.context_builder']]
8887
patternkit.pattern.repository:
@@ -126,14 +125,12 @@ services:
126125
- '@entity_type.manager'
127126
- '@keyvalue.expirable'
128127
- '@module_handler'
129-
- '@logger.channel.patternkit'
130128
patternkit.helper.layout:
131129
class: Drupal\patternkit\LayoutHelper
132130
arguments:
133131
- '@entity_type.manager'
134132
- '@keyvalue.expirable'
135133
- '@patternkit.pattern.repository'
136-
- '@logger.channel.patternkit'
137134
- '@?layout_builder.tempstore_repository'
138135
- '@?plugin.manager.layout_builder.section_storage'
139136
patternkit.layout_batch_manager:
@@ -154,7 +151,6 @@ services:
154151
- '@module_handler'
155152
- '@serialization.json'
156153
- '@patternkit.schema.schema_walker_factory'
157-
- '@logger.channel.patternkit'
158154
patternkit.schema.schema_factory:
159155
class: Drupal\patternkit\Schema\SchemaFactory
160156
arguments:
@@ -184,7 +180,6 @@ services:
184180
- '@config.factory'
185181
- '@entity_type.manager'
186182
- '@state'
187-
- '@logger.channel.patternkit'
188183
- '@messenger'
189184
- '@string_translation'
190185
calls:

‎src/Asset/PatternDependencyResolver.php‎

Lines changed: 8 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,16 @@
99
use Drupal\patternkit\Schema\DataPreProcessorFactory;
1010
use Drupal\patternkit\Schema\UnresolvedSchema;
1111
use MJS\TopSort\Implementations\FixedArraySort;
12-
use Psr\Log\LoggerInterface;
12+
use Psr\Log\LoggerAwareInterface;
13+
use Psr\Log\LoggerAwareTrait;
1314

1415
/**
1516
* A service to parse and identify interdependencies between pattern schemas.
1617
*/
17-
class PatternDependencyResolver {
18+
class PatternDependencyResolver implements LoggerAwareInterface {
1819

1920
use ContextBuilderTrait;
20-
21-
/**
22-
* The pattern discovery service.
23-
*
24-
* @var \Drupal\patternkit\Asset\PatternDiscoveryInterface
25-
*/
26-
protected PatternDiscoveryInterface $patternDiscovery;
27-
28-
/**
29-
* The data preprocessor factory service.
30-
*
31-
* @var \Drupal\patternkit\Schema\DataPreProcessorFactory
32-
*/
33-
protected DataPreProcessorFactory $dataPreProcessorFactory;
34-
35-
/**
36-
* The entity type manager service.
37-
*
38-
* @var \Drupal\Core\Entity\EntityTypeManagerInterface
39-
*/
40-
protected EntityTypeManagerInterface $entityTypeManager;
21+
use LoggerAwareTrait;
4122

4223
/**
4324
* The entity storage handler for the 'patternkit_pattern' entity type.
@@ -46,13 +27,6 @@ class PatternDependencyResolver {
4627
*/
4728
protected EntityStorageInterface $patternStorage;
4829

49-
/**
50-
* The patternkit logger channel.
51-
*
52-
* @var \Psr\Log\LoggerInterface
53-
*/
54-
protected LoggerInterface $logger;
55-
5630
/**
5731
* An associative array of pattern dependencies keyed by pattern ID.
5832
*
@@ -69,20 +43,12 @@ class PatternDependencyResolver {
6943
* The entity type manager service.
7044
* @param \Drupal\patternkit\Schema\DataPreProcessorFactory $dataPreProcessorFactory
7145
* The data preprocessor factory service.
72-
* @param \Psr\Log\LoggerInterface $logger
73-
* The patternkit logger channel.
7446
*/
7547
public function __construct(
76-
PatternDiscoveryInterface $patternDiscovery,
77-
EntityTypeManagerInterface $entityTypeManager,
78-
DataPreProcessorFactory $dataPreProcessorFactory,
79-
LoggerInterface $logger,
80-
) {
81-
$this->patternDiscovery = $patternDiscovery;
82-
$this->entityTypeManager = $entityTypeManager;
83-
$this->dataPreProcessorFactory = $dataPreProcessorFactory;
84-
$this->logger = $logger;
85-
}
48+
protected PatternDiscoveryInterface $patternDiscovery,
49+
protected EntityTypeManagerInterface $entityTypeManager,
50+
protected DataPreProcessorFactory $dataPreProcessorFactory,
51+
) {}
8652

8753
/**
8854
* Identify dependencies for all discovered patterns.

‎src/Asset/PatternDiscovery.php‎

Lines changed: 10 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,18 @@
1010
use Drupal\patternkit\PatternkitEnvironment;
1111
use Drupal\patternkit\PatternkitEnvironmentAwareInterface;
1212
use Drupal\patternkit\PatternkitEnvironmentAwareTrait;
13-
use Psr\Log\LoggerInterface;
13+
use Psr\Log\LoggerAwareInterface;
14+
use Psr\Log\LoggerAwareTrait;
1415

1516
/**
1617
* The pattern discovery service.
1718
*
1819
* This service provides an interface to discover and load pattern definitions
1920
* per namespace or by fully-namespaced pattern identifier.
2021
*/
21-
class PatternDiscovery implements PatternDiscoveryInterface, PatternkitEnvironmentAwareInterface {
22+
class PatternDiscovery implements PatternDiscoveryInterface, PatternkitEnvironmentAwareInterface, LoggerAwareInterface {
2223

24+
use LoggerAwareTrait;
2325
use PatternkitEnvironmentAwareTrait;
2426
use UseCacheBackendTrait;
2527

@@ -45,27 +47,6 @@ class PatternDiscovery implements PatternDiscoveryInterface, PatternkitEnvironme
4547
'library_info',
4648
];
4749

48-
/**
49-
* The pattern discovery loader.
50-
*
51-
* @var \Drupal\patternkit\Asset\PatternDiscoveryLoader
52-
*/
53-
protected PatternDiscoveryLoader $loader;
54-
55-
/**
56-
* The library namespace resolver service.
57-
*
58-
* @var \Drupal\patternkit\Asset\LibraryNamespaceResolverInterface
59-
*/
60-
protected LibraryNamespaceResolverInterface $resolver;
61-
62-
/**
63-
* The patternkit logger channel.
64-
*
65-
* @var \Psr\Log\LoggerInterface
66-
*/
67-
protected LoggerInterface $logger;
68-
6950
/**
7051
* The final collection of pattern definitions, statically cached.
7152
*
@@ -80,26 +61,17 @@ class PatternDiscovery implements PatternDiscoveryInterface, PatternkitEnvironme
8061
* The cache collector for pattern definitions.
8162
* @param \Drupal\patternkit\Asset\LibraryNamespaceResolverInterface $resolver
8263
* The namespace resolver service.
83-
* @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend
64+
* @param \Drupal\Core\Cache\CacheBackendInterface $cacheBackend
8465
* The cache backend.
85-
* @param \Psr\Log\LoggerInterface $logger
86-
* The patternkit logger channel.
87-
* @param \Drupal\patternkit\PatternkitEnvironment $environment
66+
* @param \Drupal\patternkit\PatternkitEnvironment $patternkitEnvironment
8867
* The patternkit environment service to be used.
8968
*/
9069
public function __construct(
91-
PatternDiscoveryLoader $loader,
92-
LibraryNamespaceResolverInterface $resolver,
93-
CacheBackendInterface $cache_backend,
94-
LoggerInterface $logger,
95-
PatternkitEnvironment $environment,
70+
protected PatternDiscoveryLoader $loader,
71+
protected LibraryNamespaceResolverInterface $resolver,
72+
protected $cacheBackend,
73+
protected PatternkitEnvironment $patternkitEnvironment,
9674
) {
97-
$this->loader = $loader;
98-
$this->resolver = $resolver;
99-
$this->cacheBackend = $cache_backend;
100-
$this->logger = $logger;
101-
$this->patternkitEnvironment = $environment;
102-
10375
// Disable caches if we're in debug mode or have this cache specifically
10476
// disabled.
10577
$disable_caches = $this->isDebug() ||

‎src/Asset/PatternDiscoveryLoader.php‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
use Drupal\patternkit\PatternLibrary;
99
use Drupal\patternkit\PatternLibraryPluginInterface;
1010
use Drupal\patternkit\PatternLibraryPluginManager;
11-
use Psr\Log\LoggerInterface;
11+
use Psr\Log\LoggerAwareInterface;
12+
use Psr\Log\LoggerAwareTrait;
1213
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
1314
use Symfony\Component\Serializer\Normalizer\PropertyNormalizer;
1415
use Symfony\Component\Serializer\Serializer;
@@ -22,7 +23,9 @@
2223
*
2324
* @internal
2425
*/
25-
class PatternDiscoveryLoader {
26+
class PatternDiscoveryLoader implements LoggerAwareInterface {
27+
28+
use LoggerAwareTrait;
2629

2730
/**
2831
* The default library parser plugin to be used if not explicitly specified.
@@ -38,15 +41,12 @@ class PatternDiscoveryLoader {
3841
* The library namespace resolver service.
3942
* @param \Drupal\patternkit\PatternLibraryPluginManager $libraryPluginManager
4043
* The pattern library plugin manager service.
41-
* @param \Psr\Log\LoggerInterface $logger
42-
* A logger for message output.
4344
* @param \Symfony\Component\Serializer\Normalizer\DenormalizerInterface|null $serializer
4445
* (optional) A serializer for normalizing pattern library properties.
4546
*/
4647
public function __construct(
4748
protected readonly LibraryNamespaceResolverInterface $namespaceResolver,
4849
protected readonly PatternLibraryPluginManager $libraryPluginManager,
49-
protected readonly LoggerInterface $logger,
5050
protected ?DenormalizerInterface $serializer = NULL,
5151
) {
5252
$this->serializer = $serializer ?? new Serializer([new PropertyNormalizer()]);

‎src/Asset/PatternLibraryParserBase.php‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,17 @@
2222
use Drupal\patternkit\PatternkitEnvironmentAwareInterface;
2323
use Drupal\patternkit\PatternkitEnvironmentAwareTrait;
2424
use Drupal\patternkit\Schema\DataPreProcessorFactory;
25-
use Psr\Log\LoggerInterface;
25+
use Psr\Log\LoggerAwareInterface;
26+
use Psr\Log\LoggerAwareTrait;
2627
use Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator;
2728
use Webmozart\Assert\Assert;
2829

2930
/**
3031
* Base functionality for a pattern library parser.
3132
*/
32-
abstract class PatternLibraryParserBase extends LibraryDiscoveryParser implements PatternLibraryParserInterface, PatternkitEnvironmentAwareInterface {
33+
abstract class PatternLibraryParserBase extends LibraryDiscoveryParser implements PatternLibraryParserInterface, PatternkitEnvironmentAwareInterface, LoggerAwareInterface {
3334

35+
use LoggerAwareTrait;
3436
use StringTranslationTrait;
3537
use PatternkitEnvironmentAwareTrait;
3638

@@ -74,8 +76,6 @@ abstract class PatternLibraryParserBase extends LibraryDiscoveryParser implement
7476
* The schema data preprocessor factory service.
7577
* @param \Drupal\patternkit\Asset\PatternDependencyResolver $patternDependencyResolver
7678
* The pattern dependency resolver service.
77-
* @param \Psr\Log\LoggerInterface $logger
78-
* The patternkit logger channel.
7979
* @param \Drupal\Core\Theme\ComponentPluginManager|null $componentPluginManager
8080
* The theme component plugin manager if available.
8181
*
@@ -93,7 +93,6 @@ public function __construct(
9393
EntityTypeManagerInterface $entity_type_manager,
9494
protected DataPreProcessorFactory $dataPreProcessorFactory,
9595
protected PatternDependencyResolver $patternDependencyResolver,
96-
protected LoggerInterface $logger,
9796
?ComponentPluginManager $componentPluginManager = NULL,
9897
) {
9998
parent::__construct(

‎src/JsonEditorFormBuilder.php‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,16 @@
1717
use Drupal\editor\Plugin\EditorManager;
1818
use Drupal\patternkit\Entity\PatternInterface;
1919
use Drupal\patternkit\Form\PatternLibraryJSONForm;
20-
use Psr\Log\LoggerInterface;
20+
use Psr\Log\LoggerAwareInterface;
21+
use Psr\Log\LoggerAwareTrait;
2122
use Webmozart\Assert\Assert;
2223

2324
/**
2425
* A helper service to assist building a JSONEditor form into a render array.
2526
*/
26-
class JsonEditorFormBuilder implements PatternFormBuilderInterface {
27+
class JsonEditorFormBuilder implements PatternFormBuilderInterface, LoggerAwareInterface {
2728

29+
use LoggerAwareTrait;
2830
use MessengerTrait;
2931
use StringTranslationTrait;
3032

@@ -74,8 +76,6 @@ class JsonEditorFormBuilder implements PatternFormBuilderInterface {
7476
* The entity type manager service.
7577
* @param \Drupal\Core\State\StateInterface $state
7678
* The state service.
77-
* @param \Psr\Log\LoggerInterface $logger
78-
* The logger channel to be used.
7979
* @param \Drupal\Core\Messenger\MessengerInterface $messenger
8080
* The messenger service.
8181
* @param \Drupal\Core\StringTranslation\TranslationInterface $stringTranslation
@@ -86,7 +86,6 @@ public function __construct(
8686
protected readonly ConfigFactoryInterface $configFactory,
8787
protected readonly EntityTypeManagerInterface $entityTypeManager,
8888
protected readonly StateInterface $state,
89-
protected readonly LoggerInterface $logger,
9089
protected $messenger,
9190
protected $stringTranslation,
9291
) {}

0 commit comments

Comments
 (0)