加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在PHP中编写(To File)记录器的最有效方法?

发布时间:2020-12-13 21:45:12 所属栏目:PHP教程 来源:网络整理
导读:希望这里有人可以帮助我 – 基本上我有一个我正在更新的日志类(很久以前制作),我想确保它在98-99%的情况下记录消息.但是现在它不处理exit(),它基本上只是在每次向记录器发送消息/错误时写入文件(打开,写入和关闭). 什么是处理exit()的最佳方法,并且在磁盘写
希望这里有人可以帮助我 – 基本上我有一个我正在更新的日志类(很久以前制作),我想确保它在98-99%的情况下记录消息.但是现在它不处理exit(),它基本上只是在每次向记录器发送消息/错误时写入文件(打开,写入和关闭).

什么是处理exit()的最佳方法,并且在磁盘写入方面效率高?现在我在logger类中查看__destruct(在其中调用fopen,fwrite和fclose),但是我不太确定这是安全的还是有效的.

编辑:set_error_handler()怎么样?我记得几年前读过这篇文章非常慢,对自定义错误/消息不太好(比如SQL问题)

解决方法

如果您希望在脚本结束时记录某些内容,则应该查看 PHP的register_shutdown_function():

function shutdown()
{
     // .. log code here.
}

register_shutdown_function('shutdown');

您应该避免使用__destruct()方法,因为无法保证在您希望调用它时将调用它.

您还可以查看PHP内置的error_log()方法,将内容写入实际的PHP错误日志文件(这可能比编写自己的记录器更可靠).

参考文献:

http://php.net/manual/en/function.register-shutdown-function.php

http://php.net/manual/en/function.error-log.php

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读