Skip to content

Commit b3fe61f

Browse files
committed
Define custom logger class that simply extended monolog logger in order to have one interface only and use autowiring
1 parent 5ee4b2b commit b3fe61f

5 files changed

Lines changed: 35 additions & 16 deletions

File tree

services.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,12 @@ services:
3737
arguments:
3838
- 'text/html'
3939

40-
Psr\Log\LoggerInterface:
41-
class: \Monolog\Logger
40+
Psr\Log\LoggerInterface: '@webgriffe_esb_logger'
41+
42+
Webgriffe\Esb\LoggerResettableInterface: '@webgriffe_esb_logger'
43+
44+
webgriffe_esb_logger:
45+
class: \Webgriffe\Esb\Logger\LoggerResettable
4246
arguments: [ 'esb', ['@Monolog\Handler\StreamHandler', '@Monolog\Handler\ErrorLogHandler', '@Monolog\Handler\NativeMailerHandler'] ]
4347
public: true
4448

src/Logger/LoggerResettable.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Webgriffe\Esb\Logger;
6+
7+
use Monolog\Logger;
8+
9+
final class LoggerResettable extends Logger implements LoggerResettableInterface
10+
{
11+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Webgriffe\Esb\Logger;
6+
7+
use Monolog\ResettableInterface;
8+
use Psr\Log\LoggerInterface;
9+
10+
interface LoggerResettableInterface extends LoggerInterface, ResettableInterface
11+
{
12+
}

src/ProducerInstance.php

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
use function Amp\call;
99
use Amp\Loop;
1010
use Amp\Promise;
11-
use Monolog\ResettableInterface;
12-
use Psr\Log\LoggerInterface;
11+
use Webgriffe\Esb\Logger\LoggerResettableInterface;
1312
use Webgriffe\Esb\Model\FlowConfig;
1413
use Webgriffe\Esb\Model\Job;
1514
use Webgriffe\Esb\Model\ProducedJobEvent;
@@ -32,7 +31,7 @@ final class ProducerInstance implements ProducerInstanceInterface
3231
private $producer;
3332

3433
/**
35-
* @var LoggerInterface&ResettableInterface
34+
* @var LoggerResettableInterface
3635
*/
3736
private $logger;
3837

@@ -51,14 +50,11 @@ final class ProducerInstance implements ProducerInstanceInterface
5150
*/
5251
private $queueManager;
5352

54-
/**
55-
* @param LoggerInterface&ResettableInterface $logger
56-
*/
5753
public function __construct(
5854
FlowConfig $flowConfig,
5955
ProducerInterface $producer,
6056
?BeanstalkClient $beanstalkClient,
61-
$logger,
57+
LoggerResettableInterface $logger,
6258
HttpProducersServer $httpProducersServer,
6359
CronProducersServer $cronProducersServer,
6460
?ElasticSearch $elasticSearch,

src/WorkerInstance.php

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@
88
use function Amp\call;
99
use function Amp\delay;
1010
use Amp\Promise;
11-
use Monolog\ResettableInterface;
12-
use Psr\Log\LoggerInterface;
1311
use Webgriffe\Esb\Exception\FatalQueueException;
12+
use Webgriffe\Esb\Logger\LoggerResettableInterface;
1413
use Webgriffe\Esb\Model\ErroredJobEvent;
1514
use Webgriffe\Esb\Model\FlowConfig;
1615
use Webgriffe\Esb\Model\JobInterface;
@@ -38,7 +37,7 @@ final class WorkerInstance implements WorkerInstanceInterface
3837
private $worker;
3938

4039
/**
41-
* @var LoggerInterface&ResettableInterface
40+
* @var LoggerResettableInterface
4241
*/
4342
private $logger;
4443

@@ -52,15 +51,12 @@ final class WorkerInstance implements WorkerInstanceInterface
5251
*/
5352
private static $workCounts = [];
5453

55-
/**
56-
* @param LoggerInterface&ResettableInterface $logger
57-
*/
5854
public function __construct(
5955
FlowConfig $flowConfig,
6056
int $instanceId,
6157
WorkerInterface $worker,
6258
?BeanstalkClient $beanstalkClient,
63-
$logger,
59+
LoggerResettableInterface $logger,
6460
?ElasticSearch $elasticSearch,
6561
WorkerQueueManagerInterface $queueManager = null
6662
) {

0 commit comments

Comments
 (0)