希望这里有人可以帮助我 - 基本上我有一个我正在更新的日志类(很久以前制作),我想确保它在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');
Run Code Online (Sandbox Code Playgroud)
您应该避免使用该__destruct()方法,因为无法保证在您希望调用它时将调用它.
您还可以查看PHP的内置error_log()方法,将内容写入实际的PHP错误日志文件(这可能比编写自己的记录器更可靠).
参考文献:
http://php.net/manual/en/function.register-shutdown-function.php
http://php.net/manual/en/function.error-log.php
| 归档时间: |
|
| 查看次数: |
1055 次 |
| 最近记录: |