38 lines
805 B
PHP
38 lines
805 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace KupShop\KupShopBundle\Util\Logging;
|
|
|
|
class LoggerInfoHelper
|
|
{
|
|
protected ?Initiator $initiator = null;
|
|
|
|
public function getInitiator(): ?Initiator
|
|
{
|
|
return $this->initiator;
|
|
}
|
|
|
|
public function setInitiator(Initiator $initiator): void
|
|
{
|
|
$this->initiator = $initiator;
|
|
}
|
|
|
|
public function activateInitiator(Initiator $initiator, callable $callback)
|
|
{
|
|
$originalInitiator = $this->initiator;
|
|
$this->initiator = $initiator;
|
|
|
|
$result = call_user_func($callback);
|
|
|
|
$this->initiator = $originalInitiator;
|
|
|
|
return $result;
|
|
}
|
|
|
|
public static function getNameOfInitiator(string $initiatorString): string
|
|
{
|
|
return (Initiator::from($initiatorString))::name;
|
|
}
|
|
}
|