Log deprecation notice of GenericEventWrapper just once

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This commit is contained in:
Christoph Wurst 2021-02-05 08:45:58 +01:00
parent c935f6a776
commit 91e1707498
No known key found for this signature in database
GPG Key ID: CC42AC2A7F0E56D8
1 changed files with 8 additions and 0 deletions

View File

@ -41,6 +41,9 @@ class GenericEventWrapper extends GenericEvent {
/** @var string */ /** @var string */
private $eventName; private $eventName;
/** @var bool */
private $deprecationNoticeLogged = false;
public function __construct(ILogger $logger, string $eventName, ?GenericEvent $event) { public function __construct(ILogger $logger, string $eventName, ?GenericEvent $event) {
parent::__construct($eventName); parent::__construct($eventName);
$this->logger = $logger; $this->logger = $logger;
@ -49,11 +52,16 @@ class GenericEventWrapper extends GenericEvent {
} }
private function log() { private function log() {
if ($this->deprecationNoticeLogged) {
return;
}
$class = ($this->event !== null && is_object($this->event)) ? get_class($this->event) : 'null'; $class = ($this->event !== null && is_object($this->event)) ? get_class($this->event) : 'null';
$this->logger->info( $this->logger->info(
'Deprecated event type for {name}: {class} is used', 'Deprecated event type for {name}: {class} is used',
[ 'name' => $this->eventName, 'class' => $class] [ 'name' => $this->eventName, 'class' => $class]
); );
$this->deprecationNoticeLogged = true;
} }
public function isPropagationStopped(): bool { public function isPropagationStopped(): bool {