Unified logging

This commit is contained in:
2024-03-11 01:20:45 +01:00
parent 56ddab0cd5
commit c31c55fafd
3 changed files with 35 additions and 11 deletions

View File

@ -2,6 +2,8 @@
namespace NoccyLabs\Mercureact\Http;
use Monolog\Handler\StreamHandler;
use Monolog\Logger;
use NoccyLabs\Mercureact\Broker\TopicManager;
use NoccyLabs\Mercureact\Configuration;
use NoccyLabs\Mercureact\Http\Middleware\ApiHandler;
@ -10,6 +12,7 @@ use NoccyLabs\Mercureact\Http\Middleware\NotFoundHandler;
use NoccyLabs\Mercureact\Http\Middleware\ResponseMiddleware;
use NoccyLabs\Mercureact\Http\Middleware\SecurityMiddleware;
use NoccyLabs\Mercureact\Http\Middleware\WebSocketHandler;
use Psr\Log\LoggerInterface;
use React\EventLoop\Loop;
use React\EventLoop\LoopInterface;
use React\Http\HttpServer;
@ -28,6 +31,8 @@ class Server
private TopicManager $topicManager;
private Logger|LoggerInterface $logger;
private ResponseMiddleware $responseMiddleware;
private SecurityMiddleware $securityMiddleware;
private WebSocketHandler $webSocketHandler;
@ -46,6 +51,8 @@ class Server
$this->config = $config;
$this->logger = $this->createLogger();
$this->topicManager = new TopicManager();
$this->webSocketClients = new SplObjectStorage();
@ -63,6 +70,15 @@ class Server
$this->server->listen($socket);
}
private function createLogger(): LoggerInterface
{
$handlers = [
new StreamHandler(STDOUT)
];
$logger = new Logger("main", $handlers);
return $logger;
}
/**
*
* @return HttpServer
@ -71,7 +87,8 @@ class Server
{
return new HttpServer(
$this->responseMiddleware = new ResponseMiddleware(
config: $this->config
config: $this->config,
logger: $this->logger->withName("http"),
),
$this->securityMiddleware = new SecurityMiddleware(
config: $this->config