Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
LoggerServiceProvider
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 register
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
 boot
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Engelsystem\Logger;
6
7use Engelsystem\Container\ServiceProvider;
8use Engelsystem\Helpers\Authenticator;
9use Engelsystem\Http\Request;
10use Psr\Log\LoggerInterface;
11
12class LoggerServiceProvider extends ServiceProvider
13{
14    public function register(): void
15    {
16        $logger = $this->app->make(UserAwareLogger::class);
17        $this->app->instance('logger', $logger);
18
19        $this->app->bind(LoggerInterface::class, 'logger');
20        $this->app->bind(Logger::class, 'logger');
21        $this->app->bind(UrlAwareLogger::class, 'logger');
22        $this->app->bind(UserAwareLogger::class, 'logger');
23    }
24
25    public function boot(): void
26    {
27        /** @var UserAwareLogger $logger */
28        $logger = $this->app->get(UserAwareLogger::class);
29        /** @var Request $request */
30        $request = $this->app->get(Request::class);
31        /** @var Authenticator $auth */
32        $auth = $this->app->get(Authenticator::class);
33
34        $logger->setRequest($request);
35        $logger->setAuth($auth);
36    }
37}