【问题标题】:In PHP, how can I log transaction process without making the system slow?在 PHP 中,如何在不使系统变慢的情况下记录事务过程?
【发布时间】:2012-12-11 07:04:21
【问题描述】:

我正在尝试在我们的系统中添加特定交易流程的日志记录,以帮助我们追踪客户的问题所在

 e.g
 2012-12-11 05:35:11 pm : Chose PayPal as payment method
 2012-12-11 05:38:15 pm : Pay = transaction id: E547HGf915JMN
 2012-12-11 05:44:23 pm : Payment processed PayPal payment status = Completed
 2012-12-11 05:45:17 pm : Saved transaction
 2012-12-11 05:47:22 pm : Redirect = http://domain.com/redirect_url/

我应该通过文本文件还是 MySQL 使用日志记录?我正在考虑使用文本文件,因为触发器往往会减慢数据库的速度,并且从长远来看会更难维护?

您对记录事件/进程有任何建议或首选方式吗?

非常感谢。

【问题讨论】:

  • 与下面的 2 个答案不同,我会登录到 mysql,数据的可用性远远超过了微不足道的使用成本

标签: php mysql logging


【解决方案1】:

看看独白:https://github.com/Seldaek/monolog

您可以轻松地登录到创建日志文件的流。但是,如果您将来需要更改它,您几乎可以毫不费力地做到这一点。使用 composer (http://getcomposer.org/doc/01-basic-usage.md) 很容易将它安装到您的项目中。

如果您需要非常快的东西,您可以创建一个 ram 磁盘并将您的日志文件放入其中,或者使用 syslog 和 ramlog (http://www.tremende.com/ramlog/index.htm)

【讨论】:

    【解决方案2】:

    记录到文本肯定会比 mysql 使用更少的资源。

    查看 KLogger。它似乎完成了这项工作。

    http://codefury.net/2008/07/klogger-a-simple-logging-class-for-php/

    【讨论】:

      【解决方案3】:

      根据我的经验,您应该使用text file 来记录特定的事务过程,因为这样会更安全,并且不会在 Mysql 服务器上造成问题。

      【讨论】:

      • 感谢您引用您的经验。 :)
      猜你喜欢
      • 1970-01-01
      • 2021-11-07
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-30
      相关资源
      最近更新 更多