public function __invoke(array $record)
{
if (!isset($record['context']['contao']) || !$record['context']['contao'] instanceof ContaoContext) {
return $record;
}
$context = $record['context']['contao'];
$request = $this->requestStack->getCurrentRequest();
$level = isset($record['level']) ? $record['level'] : 0;
$this->updateAction($context, $level);
$this->updateIp($context, $request);
$this->updateBrowser($context, $request);
$this->updateUsername($context);
$this->updateSource($context);
$record['extra']['contao'] = $context;
unset($record['context']['contao']);
return $record;
}