gpt4 book ai didi

php - 从 Symfony 1.4 任务记录 Doctrine 查询

转载 作者:可可西里 更新时间:2023-11-01 07:33:34 24 4
gpt4 key购买 nike

我希望 Symfony 将我的一项任务执行的 Doctrine SQL 查询记录到日志文件中,就像 Web 调试工具栏对非 cli 代码所做的那样。这可能吗?

  • Symfony 版本:1.4.12
  • Doctrine 版本:1.2.4

这是任务的一些示例代码。我希望 SELECT 查询的记录方式与从操作调用它时的记录方式类似。

class exampleTask extends sfBaseTask
{
protected function configure()
{
parent::configure();

$this->namespace = 'test';
$this->name = 'example';
}

protected function execute($arguments = array(), $options = array())
{
$databaseManager = new sfDatabaseManager($this->configuration);

$users = Doctrine_Core::getTable('SfGuardUser')
->createQuery('s')
->select('s.first_name')
->execute();

foreach($users as $user) {
print $user->getFirstName()."\n";
}
}
}

最佳答案

尝试使用全局任务选项 --trace(快捷键 -t)。喜欢:

./symfony --trace namespace:task

它会在执行数据库查询时记录它们。

不要忘记在运行任务的应用程序的 settings.yml 中启用日志记录。

因此,如果您在后端的 dev 环境中运行任务,您将编辑 apps/backend/config/settings.yml:

dev:
.settings:
logging_enabled: true

请注意,这还会记录异常的堆栈跟踪,如果您需要调试任务,这也可能非常有用。

关于php - 从 Symfony 1.4 任务记录 Doctrine 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6719993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com