/**
  * Writes the log record to a file based on admin configuration settings
  *
  * @param $record array
  * @return void
  */
 public function write(array $record)
 {
     // Filter the log details
     if ($this->avaTaxConfig->getLogFileDetail() == LogDetail::MINIMAL && $record['level'] >= Logger::WARNING) {
         if (isset($record['context']['extra'])) {
             unset($record['context']['extra']);
         }
     } elseif ($this->avaTaxConfig->getLogFileDetail() == LogDetail::NORMAL) {
         if (isset($record['context']['extra'])) {
             unset($record['context']['extra']);
         }
     } elseif ($this->avaTaxConfig->getLogFileDetail() == LogDetail::EXTRA) {
         // do not remove any of the context data
     } else {
         if (isset($record['context']['request'])) {
             unset($record['context']['request']);
         }
         if (isset($record['context']['result'])) {
             unset($record['context']['result']);
         }
         if (isset($record['context']['additional'])) {
             unset($record['context']['additional']);
         }
         if (isset($record['context']['extra'])) {
             unset($record['context']['extra']);
         }
     }
     // Write the log file
     if ($this->avaTaxConfig->getLogFileMode() == LogFileMode::COMBINED) {
         // forward the record to the default system handler for processing instead
         $this->systemHandler->handle($record);
     } elseif ($this->avaTaxConfig->getLogFileMode() == LogFileMode::SEPARATE && $this->avaTaxConfig->getLogFileBuiltinRotateEnabled()) {
         $this->writeWithRotation($record);
     } else {
         // write the log to the custom log file
         parent::write($record);
     }
 }