我目前正在使用 symfony 1.4 和 Doctrine 1.2 进行项目。我正在寻找一种从模型层进行日志记录的正确方法。
在某些模型类中,我使用记录挂钩 postSave() 来使用 exec() 创建 ZIP 文件(因为 PHP zip 不提供存储方法“Stored”)。为确保一切正常,我检查返回码并在出现问题时记录错误。我的第一个天真的方法是这样做的:
if ($returnCode != 0) {
sfContext::getInstance()->getLogger()->debug(...);
}
如您所知,这不太好用,因为 sfContext 属于控制器层,不应该从模型层使用。我的下一个尝试是使用模型的构造函数传入一个 sfLogger 实例,但这不起作用,因为 Doctrine 1.2 保留构造函数供内部使用(Doctrine 1.2 Documentation)。
我期待着您的建议!