-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbootstrap.php
29 lines (23 loc) · 996 Bytes
/
bootstrap.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
declare(strict_types=1);
use Monolog\Formatter\LineFormatter;
use Monolog\Handler\StreamHandler;
use Monolog\Level;
use Monolog\Logger;
use Monolog\Processor\PsrLogMessageProcessor;
use Psr\Log\LoggerInterface;
use vansari\workshop\phpunit\App;
use vansari\workshop\phpunit\Handler\ExampleHandler;
use vansari\workshop\phpunit\Handler\ExampleHandlerInterface;
return [
LoggerInterface::class => DI\factory(function () {
$logger = new Logger('app', timezone: new DateTimeZone('Europe/Berlin'));
$fileHandler = new StreamHandler('var/logfile.log', Level::Debug);
$fileHandler->setFormatter(new LineFormatter());
$logger->pushHandler($fileHandler);
$logger->pushProcessor(new PsrLogMessageProcessor());
return $logger;
}),
ExampleHandlerInterface::class => fn(LoggerInterface $logger) => new ExampleHandler($logger),
'app' => fn (ExampleHandlerInterface $handler, LoggerInterface $logger) => new App($handler, $logger),
];