Skip to content

Commit cfe70d3

Browse files
committed
clean logger instantiation
1 parent 90a33e6 commit cfe70d3

File tree

4 files changed

+40
-68
lines changed

4 files changed

+40
-68
lines changed
Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,52 @@
11
<?php
22
namespace SplitIO\Component\Initialization;
33

4+
use Psr\Log\LogLevel;
45
use SplitIO\Component\Log\Logger;
5-
use SplitIO\Component\Log\LoggerAdapterPSR3;
6+
use SplitIO\Component\Log\LoggerAdapterPSR;
7+
use SplitIO\Component\Log\LogLevelEnum;
8+
use SplitIO\Component\Log\Handler\Echos;
9+
use SplitIO\Component\Log\Handler\Stdout;
10+
use SplitIO\Component\Log\Handler\Syslog;
11+
use SplitIO\Component\Log\Handler\VoidHandler;
612

713
class LoggerFactory
814
{
915
private static function setDefaultLogger(array $options) {
1016
$adapter = (isset($options['adapter'])) ? $options['adapter'] : null;
1117
$level = (isset($options['level'])) ? $options['level'] : null;
1218

13-
LoggerTrait::addLogger($adapter, $level);
19+
switch ($adapter) {
20+
case 'stdout':
21+
$logAdapter = new Stdout();
22+
break;
23+
24+
case 'echo':
25+
$logAdapter = new Echos();
26+
break;
27+
28+
case 'void':
29+
$logAdapter = new VoidHandler();
30+
break;
31+
32+
case 'syslog':
33+
default:
34+
$logAdapter = new Syslog();
35+
break;
36+
}
37+
38+
if (! LogLevelEnum::isValid($level)) {
39+
$level = LogLevel::WARNING;
40+
}
41+
42+
return new Logger($logAdapter, $level);
1443
}
1544

1645
public static function setupLogger(array $options) {
1746
if (!isset($options['psr3-instance'])) {
18-
self::setDefaultLogger($options);
19-
return;
47+
return self::setDefaultLogger($options);
2048
}
2149

22-
LoggerTrait::addLogger(null, null, new Logger(new LoggerAdapterPSR3($options['psr3-instance'])));
50+
return new Logger(new LoggerAdapterPSR($options['psr3-instance']));
2351
}
2452
}

src/SplitIO/Component/Initialization/LoggerTrait.php

Lines changed: 0 additions & 60 deletions
This file was deleted.

src/SplitIO/Sdk.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
use SplitIO\Component\Initialization\CacheTrait;
55
use SplitIO\Component\Initialization\LoggerFactory;
6+
use SplitIO\Component\Common\ServiceProvider;
67
use SplitIO\Exception\Exception;
78
use SplitIO\Sdk\Factory\LocalhostSplitFactory;
89
use SplitIO\Sdk\Factory\SplitFactory;
@@ -61,7 +62,8 @@ public static function factory($apiKey = 'localhost', array $options = array())
6162
*/
6263
private static function registerLogger(array $options)
6364
{
64-
LoggerFactory::setupLogger($options);
65+
$logger = LoggerFactory::setupLogger($options);
66+
ServiceProvider::registerLogger($logger);
6567
}
6668

6769
private static function registerCache(array $options)

tests/Suite/Engine/SplitterTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<?php
22
namespace SplitIO\Test\Suite\Engine;
33

4-
use SplitIO\Component\Initialization\LoggerTrait;
4+
use SplitIO\Component\Initialization\LoggerFactory;
5+
use SplitIO\Component\Common\ServiceProvider;
56
use SplitIO\Component\Log\LogLevelEnum;
67
use SplitIO\Engine\Splitter;
78
use SplitIO\Grammar\Condition\Partition;
@@ -15,7 +16,8 @@ class SplitterTest extends \PHPUnit\Framework\TestCase
1516

1617
public function testDiLog()
1718
{
18-
LoggerTrait::addLogger('stdout', LogLevelEnum::ERROR);
19+
$logger = LoggerFactory::setupLogger(array('adapter' => 'stdout', 'level' => 'error'));
20+
ServiceProvider::registerLogger($logger);
1921

2022
$this->assertTrue(true);
2123
}

0 commit comments

Comments
 (0)