scalarValueFilter = $scalarValueFilter; $this->keyFilter = $keyFilter; } public function getLogMetadata(MetadataInterface $metadata): array { /** @var \Magento\Framework\Model\AbstractModel $object */ $object = $metadata->getObject(); return [ LogEntry::ELEMENT_ID => (int)$object->getId(), ]; } /** * @param \Magento\Framework\Model\AbstractModel $object * @return array */ public function processBeforeSave($object): array { if (!$object instanceof \Magento\Framework\Model\AbstractModel) { return []; } return $this->filterObjectData((array)$object->getOrigData()); } /** * @param \Magento\Framework\Model\AbstractModel $object * @return array */ public function processAfterSave($object): array { if (!$object instanceof \Magento\Framework\Model\AbstractModel) { return []; } return $this->filterObjectData((array)$object->getData()); } protected function filterObjectData(array $data): array { $data = $this->scalarValueFilter->filter($data); $data = $this->keyFilter->filter($data, $this->dataKeysIgnoreList ?? []); return $data; } }