6

我试图让记录器在 Doctrine ODM 中工作。

// .. 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 回答