2

我需要添加 sql 日志记录才能在本机 WebProfileBundle 中工作。当我在应用程序配置中执行一个默认连接时,我会在日志中看到 sql 查询。但是我的应用程序使用许多连接到许多数据库服务器,所以我无法将所有可能的连接添加到配置文件。

我创建运行时连接,即:

$config = array(
        'user' => 'user1',
        'password' => 'pass1',
        'driver' => 'pdo_mysql',
        'port' => 3306,
);
$conn = DriverManager::getConnection($config);

然后我想,应该是这样的命令

$conn->getConfiguration()->getSQLLogger($someLoggerObject);

我试图用 DependencyInjection 解决这个问题,以 DoctrineBundle 为例。但是没有运气。

任何有关实时代码或正确文档链接的帮助都会很棒

4

1 回答 1

1

我的conf中有这个:

$config = new Configuration;
/** configuration stuff */
$config->setSQLLogger(MyLogger::getInstance());

$connectionOptions = array(
            'driver' => 'pdo_mysql',
            'user' => DB_USER,
            'password' => DB_PASS,
            'host' => DB_HOST,
            'dbname' => DB_NAME,
            'charset' => 'utf8',
            'driverOptions' => array(
                    'charset' => 'utf8'
            )
    );
$em = EntityManager::create($connectionOptions, $config);

我使用 Zend + Doctrine2 并且在我的引导程序中,我的记录器是一个单例(这就是为什么 getInstance)。我从未使用过 DriverManager,但我希望这会有所帮助。

于 2011-10-18T00:44:54.887 回答