6

DoctrineODMでロガーを動作させようとしています。

// .. some initialization code here ...

$mongoConfig->setLoggerCallable(function(array $log){
                print_r($log);
                die("Mongo Logging Called...");
            });

$dm = \Doctrine\ODM\MongoDB\DocumentManager::create(new \Doctrine\MongoDB\Connection(), $mongoConfig);

リファレンスは次のとおりです:http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/logging.html

ドキュメントマネージャーのクエリビルダーを使用してドキュメントをクエリしています。ドキュメントを正常に検索して永続化しています。しかし、ロガーのコールバックは決して呼び出されません。何が間違っているのでしょうか?

4

1 に答える 1

6

#doctrine IRC チャンネルで解決策を見つけました。DocumentManager は渡された構成を作成する接続に適用しないため、接続には構成を個別に渡す必要があります。これは、将来のバージョンで修正される予定です。代わりにそれを行う方法は次のとおりです-

// setup the mongodb connection
$connection = new \Doctrine\MongoDB\Connection(null, array(), $mongoConfig);

// create the document manager for the connection above
$dm = \Doctrine\ODM\MongoDB\DocumentManager::create($connection, $mongoConfig);
于 2011-07-05T23:39:07.310 に答える