/** * Writes the log to the database by utilizing the Log model * * @param $record array * @return void */ public function write(array $record) { # Log to database /** @var \ClassyLlama\AvaTax\Model\Log $log */ $log = $this->logFactory->create(); $log->setData('level', isset($record['level_name']) ? $record['level_name'] : null); $log->setData('message', isset($record['message']) ? $record['message'] : null); if (isset($record['extra']['store_id'])) { $log->setData('store_id', $record['extra']['store_id']); unset($record['extra']['store_id']); } if (isset($record['extra']['class']) && isset($record['extra']['line'])) { $log->setData('source', $record['extra']['class'] . " [line:" . $record['extra']['line'] . "]"); } if ($this->avaTaxConfig->getLogDbDetail() == LogDetail::MINIMAL && $record['level'] >= Logger::WARNING) { $log->setData('request', $this->getRequest($record)); $log->setData('result', $this->getResult($record)); } elseif ($this->avaTaxConfig->getLogDbDetail() == LogDetail::NORMAL) { $log->setData('request', $this->getRequest($record)); $log->setData('result', $this->getResult($record)); $log->setData('additional', $this->getContextVarExport($record)); } elseif ($this->avaTaxConfig->getLogDbDetail() == LogDetail::EXTRA) { $log->setData('request', $this->getRequest($record)); $log->setData('result', $this->getResult($record)); $log->setData('additional', $this->getExtraVarExport($record) . (strlen($this->getExtraVarExport($record)) > 0 ? "\n" : '') . $this->getContextVarExport($record)); } $log->save(); }
/** * Load system report from request * * @param string $idFieldName * @return \ClassyLlama\AvaTax\Model\Log $model */ protected function initLog($idFieldName = 'id') { $id = (int) $this->getRequest()->getParam($idFieldName); /** @var \ClassyLlama\AvaTax\Model\Log $model */ $model = $this->logFactory->create(); if ($id) { $model->load($id); } if (!$this->coreRegistry->registry('current_log')) { $this->coreRegistry->register('current_log', $model); } return $model; }