/**
  * Cleans up logs older than X days after writing
  */
 protected function onAfterWrite()
 {
     parent::onAfterWrite();
     //Clean up old logs
     $oldLogs = KapostBridgeLog::get()->filter('Created:LessThan', date('Y-m-d H:i:s', strtotime('-' . self::config()->log_expire_days . ' days')));
     if ($oldLogs->count() > 0) {
         foreach ($oldLogs as $log) {
             $log->delete();
         }
     }
 }
 /**
  * Gets the logs currently in the database
  * @return {DataList} Data List pointing to the logs in the database
  */
 public function getLogs()
 {
     $logs = KapostBridgeLog::get();
     $filterFields = $this->LogsForm()->Fields();
     //Apply Called Method filter
     $var = $filterFields->dataFieldByName('CalledMethod')->Value();
     if (!empty($var)) {
         $logs = $logs->filter('Method', Convert::raw2sql($var));
     }
     //Apply Start Date Filter
     $dateTimeField = $filterFields->dataFieldByName('LogStartDate');
     $var = trim($dateTimeField->getDateField()->dataValue() . ' ' . $dateTimeField->getTimeField()->dataValue());
     if (!empty($var)) {
         $logs = $logs->filter('Created:GreaterThan', Convert::raw2sql($var));
     }
     //Apply End Date Filter
     $var = $filterFields->dataFieldByName('LogEndDate')->Value();
     if (!empty($var) && $var != ' 00:00:00') {
         $logs = $logs->filter('Created:LessThan', Convert::raw2sql($var));
     }
     return PaginatedList::create($logs, $this->request)->setPageLength(self::config()->log_page_length);
 }