【问题标题】:How to make custom sql log in symfony 2 and doctrine 2?如何在 symfony 2 和教义 2 中自定义 sql 日志?
【发布时间】:2011-04-27 15:33:10
【问题描述】:

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

我创建运行时连接,即:

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

那我想,应该是这样的命令

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

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

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

【问题讨论】:

    标签: php symfony doctrine-orm


    【解决方案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,但我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      相关资源
      最近更新 更多