我有一个 CakePHP 应用程序可以接收来自 PayPal 的即时付款通知。我想记录 PayPal 发布的数据。我可以使用这样的东西轻松地做到这一点:
file_put_contents(LOGS . 'ipns.log', date('Y-m-d H:i:s ') . print_r($_POST, true) . "\n", FILE_APPEND|LOCK_EX);
但我更喜欢尽可能以“CakePHP 方式™”做事。我已经看过 the "Core Libraries > Logging" section of CakePHP's cookbook并且无法理解它。我知道这样做不是正确的:
CakeLog::write('ipns', print_r($_POST, true));
虽然上面的方法看起来确实有效,但它也会导致问题,如图所示 here .
那么 CakePHP 的方法是什么?或者我应该只使用这个问题顶部显示的原始 PHP?
最佳答案
这里有你想要的解释http://book.cakephp.org/2.0/en/core-libraries/logging.html#creating-and-configuring-log-streams
但我建议您阅读整个页面,而不仅仅是这一部分。
我会将 ipn 逐字段写入数据库表,而不是写入文件日志。我可以根据我使用 paypal API 的经验告诉你这一点。优点很明显,例如可以查找订单的 ipns,搜索错误等等。
关于CakePHP 2.x : Custom Logging,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11977408/