0

有没有办法仅在夹具加载时禁用 Doctrine MongoDB 捆绑记录器?就像在https://stackoverflow.com/a/35222045/3965970中建议的那样,但对于 MongoDB 捆绑包。

谢谢

4

2 回答 2

0

是的,完全相同的方式, $manager->getConnection()->getConfiguration()->setLoggerCallable(null);在夹具中正确调用。

于 2017-05-11T16:58:44.110 回答
0

不幸的是,在 Doctrine MongoODM-bundle 4.0 及更高版本中,这种方法不再有效。

最简单的方法是在配置中禁用日志记录,请参阅https://symfony.com/doc/master/bundles/DoctrineMongoDBBundle/config.html

您也可以手动禁用记录器,但您需要doctrine_mongodb.odm.command_logger服务。

我在 Symfony 4 应用程序中所做的是创建一个别名来启用正确的依赖注入,然后取消注册监听器:

服务.yaml

Doctrine\Bundle\MongoDBBundle\APM\PSRCommandLogger:
    alias: "doctrine_mongodb.odm.command_logger"

命令或服务的一些构造函数:

public function __construct(PSRCommandLogger $mongoLogger)
{
    $mongoLogger->unregister();
}

于 2019-10-16T10:51:08.177 回答