public function initPersistentDB($di) { // Setup the database service $di->set('db', function () { $eventsManager = new EventsManager(); $logger = new FileLogger(__DIR__ . '/' . date('Y-m-d') . '.sql.log'); $eventsManager->attach('db', function ($event, $connection) use($logger) { if ($event->getType() == 'beforeQuery') { $logger->info($connection->getSQLStatement()); } }); $db = new \Phalcon\Db\Adapter\Pdo\Mysql(array("host" => "127.0.0.1", "username" => "root", "password" => "123456", "dbname" => "rookie", "charset" => "utf8", "persistent" => true)); $db->setEventsManager($eventsManager); return $db; }); }
/** * Tests ERROR logging with info() * * @author Nikos Dimopoulos <*****@*****.**> * @since 2012-09-17 */ public function testInfoLogging() { $fileName = $this->getFileName('log', 'log'); $logger = new PhLoggerAdapterFile($this->logPath . $fileName); $logger->info('Hello'); $logger->close(); $contents = file($this->logPath . $fileName); $found = strpos($contents[0], '[INFO]'); $this->assertTrue($found !== FALSE, 'Info logging is not set to INFO'); $found = strpos($contents[0], 'Hello'); $this->assertTrue($found !== FALSE, 'Info logging does not set correct message'); $this->cleanFile($this->logPath, $fileName); }
public function info($msg) { $this->logger->info($msg); }
protected function initDb() { $di = $this->getDi(); // Setup the database service $di->set('db', function () { $config = $this->getConfig()['database']; $eventsManager = new EventsManager(); $logger = new FileLogger(ROOT . $this->getConfig()['apps_data']['tmp_path'] . '/' . date('Y-m-d') . '.sql.log'); // Listen all the database events $eventsManager->attach('db', function ($event, $connection) use($logger) { if ($event->getType() == 'beforeQuery') { $logger->info($connection->getSQLStatement()); } }); $db = new \Phalcon\Db\Adapter\Pdo\Mysql($config); // $db->query('set names utf-8'); $db->setEventsManager($eventsManager); return $db; }); }