PHP 日志框架的用途是什么?

What purpose does a PHP logging framework serve?

我一直在整个网络中寻找 Php 日志框架,我意识到如果 Apache 将所有交互记录到服务器,那么使用 PHP 日志框架有什么必要?

1.对错误消息的细粒度控制

依靠 PHP 将其所有错误记录在其错误日志中,并且 Apache 将其所有错误记录在其错误日志中很好 - 但有时您需要更多详细信息。例如,某些东西可能会抛出关于失败的 SQL 查询的异常,并且消息可能会说 SQLException: Could not retrieve XYZ data 之类的内容。但是,我们还希望看到堆栈跟踪和失败的 SQL 查询。我们可以选择在异常消息中抛出它,但这剥夺了我们的细粒度控制——我/不总是想要那个调试细节。

2。非网络 Apache 相关任务

我经常使用 PHP 作为 cronjobs 的 CLI 功能。 Apache 不会参与其中,PHP 会选择将输出发送到 STDOUT。记录任何错误可以让我稍后查看它们。

3。记录不是错误的东西

我可以想象这样一种情况,您希望查看登录时间,但又不想将其存储在数据库中。例如:

8/21/16 7:48 - HPierce logged in

8/21/16 7:49 - HPierce logged out

这些不是错误,通过 Apache 的访问日志进行解析获取此类用户信息并不实际。