/**
  * @param LogRecord $logRecord
  * @return string
  */
 public function format($logRecord)
 {
     $time = $logRecord->getTime();
     $result = $time->format('Y-m-d H:i:s') . ' [' . LogLevel::getName($logRecord->getLevel()) . '] ' . getmypid();
     $message = (string) $logRecord->getMessage();
     if ($message !== '') {
         $result .= ' | ' . str_replace("\n", "\n  ", $message);
     }
     return $result . PHP_EOL;
 }
示例#2
0
 /**
  * Called upon to store (INSERT) a log record into the database.
  *
  * Normally called upon by the <samp>filter</samp> method after
  * figuring out a record should be logged.
  *
  * @param  LogRecord
  * @param  string    A preformatted message, compiled by the <samp>filter</samp> 
  *                   method, containing <samp>$record->getMessage()</samp> and/or 
  *                   <samp>ABException::format($record->getThrown())</samp>
  * @return void
  * @throws SQLiteException
  */
 public function insertRecord(LogRecord $rec, $formattedMessage)
 {
     # compile final sql
     $sql = $this->insertSQL;
     foreach ($this->parameters['db.columns'] as $col) {
         if ($col == 'time') {
             $sql .= $rec->getTime();
         } elseif ($col == 'level') {
             $sql .= $rec->getLevel();
         } elseif ($col == 'prefix') {
             $sql .= "'" . sqlite_escape_string($rec->getPrefix()) . "'";
         } elseif ($col == 'message') {
             $sql .= "'" . sqlite_escape_string($formattedMessage) . "'";
         } elseif ($col == 'cwd') {
             $sql .= "'" . sqlite_escape_string(getcwd()) . "'";
         } else {
             continue;
         }
         $sql .= ',';
     }
     $sql = trim($sql, ',') . ');';
     $this->run($sql);
 }