protected function write(array $record) { $sql = sprintf('INSERT INTO %s (tag, timestamp, level, message) VALUES (?, ?, ?, ?)', Common::prefixTable('logger_message')); $queryLog = Db::isQueryLogEnabled(); Db::enableQueryLog(false); Db::query($sql, array($record['extra']['class'], $record['datetime']->format('Y-m-d H:i:s'), $record['level_name'], trim($record['formatted']))); Db::enableQueryLog($queryLog); }
private function checkBackend($backend, $expectedMessage, $formatMessage = false, $tag = false) { if ($formatMessage) { $expectedMessage = sprintf(self::STRING_MESSAGE_FORMAT_SPRINTF, $tag, $expectedMessage); } if ($backend == 'file') { $this->assertTrue(file_exists(self::getLogFileLocation())); $fileContents = file_get_contents(self::getLogFileLocation()); $fileContents = $this->removePathsFromBacktrace($fileContents); $this->assertEquals($expectedMessage . "\n", $fileContents); } else { if ($backend == 'database') { $queryLog = Db::isQueryLogEnabled(); Db::enableQueryLog(false); $count = Db::fetchOne("SELECT COUNT(*) FROM " . Common::prefixTable('logger_message')); $this->assertEquals(1, $count); $message = Db::fetchOne("SELECT message FROM " . Common::prefixTable('logger_message') . " LIMIT 1"); $message = $this->removePathsFromBacktrace($message); $this->assertEquals($expectedMessage, $message); $tagInDb = Db::fetchOne("SELECT tag FROM " . Common::prefixTable('logger_message') . " LIMIT 1"); if ($tag === false) { $this->assertEmpty($tagInDb); } else { $this->assertEquals($tag, $tagInDb); } Db::enableQueryLog($queryLog); } } }