Merge pull request #25496 from nextcloud/backport/25487/stable21

[stable21] Log deprecation notice of GenericEventWrapper just once
This commit is contained in:
Roeland Jago Douma 2021-02-05 16:17:19 +01:00 committed by GitHub
commit be4db2d48d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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 {