如何在symfony 2和doctrine 2中自定义sql日志?
问题描述:
我需要添加SQL日志记录才能在本机WebProfileBundle中工作。 当我在应用程序配置中做一个默认连接时,我在我的日志中看到sql 查询。但是我的应用程序使用许多连接到许多db服务器,所以我不能将所有可能的连接添加到配置文件。如何在symfony 2和doctrine 2中自定义sql日志?
创建运行时连接,即:
$config = array(
'user' => 'user1',
'password' => 'pass1',
'driver' => 'pdo_mysql',
'port' => 3306,
);
$conn = DriverManager::getConnection($config);
那么我想,应该是命令是这样的
$conn->getConfiguration()->getSQLLogger($someLoggerObject);
我试着DependencyInjection来解决这个问题,采取了 DoctrineBundle为例。但没有运气。
活代码或链接到适当的文件,任何帮助将是巨大的
答
我有这个在我的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,但我希望这可以帮助。