In my bootstrap, I have the following:

$di->setShared('logger', function() use ($di) {
    // TODO:  DRY.  Check app/config/database.php
    switch (strtolower(($di->get('dbconfig')->dbtype))) {
        case 'mysql':
            $connection = new \Phalcon\Db\Adapter\Pdo\Mysql(array(
                'host' => $di->get('dbconfig')->dbhost,
                'username' => $di->get('dbconfig')->dbuid,
                'password' => $di->get('dbconfig')->dbpwd,
                'dbname' => $di->get('dbconfig')->dbname
        case 'sqlite':
            $connection = new \Phalcon\Db\Adapter\Pdo\Sqlite(array(
                'dbname' => $GLOBALS['APPDIR'] . '/' . $di->get('dbconfig')->dbname
    $logger = new \Phalcon\Logger\Adapter\Database('system', array(
        'db' => $connection,
        'table' => 'system_log'
    // The "type" column is probably informative, but isn't human friendly.
    $formatter = new \Phalcon\Logger\Formatter\Line();
    $formatter->setFormat('%type% - %message% - %date');
    return $logger;

In my controller, I have this action:

public function indexAction() {

The logger is working as expected, but the formatter appears to be getting ignored:

sqlite> select * from system_log;

Am I implementing the formatter wrong, or does the logger database adapter not accept formatting? Seeing as how it extends the existing adapter, I expect it to behave as the rest, but I haven't delved deep into the code.