PHP实现一个日志记录函数 方便跟踪代码调试
在调试PHP开发的web站点时,可以在浏览器直接一刷就打印出在代码中留下的print_r数据;
然而,当调试比较大的项目时,很多框架采用了事件驱动来耦合业务逻辑,在主程序进程中
通过emit触发事件,在需要响应事件的地方实现一些业务逻辑。这样的代码,跟踪调试,必须得
借助日志记录来进行。
下面是一个简单的记录 日志功能函数,
function Debuglog($info){
$logfile = 'D:\\www\siteapp/data/debug.log' ; //这个文件保存路径根据自己的站点文件来写
$fh = fopen($logfile,'ab'); //打开,追加模式
fwrite($fh,date("Y-m-d H:i:s")."#:".$info."\r\n");
fclose($fh);
}
在需要调试记录日志的地方加入Debuglog函数:
$path = $request->getPath();
if (!$this->server->emit('beforeUnbind', [$path])) return false;
Debuglog($path); //调试日志记录留下 $path 参数的值。
$this->server->tree->delete($path);
$this->server->emit('afterUnbind', [$path]);
记录下来的日志内容格式样式:
2020-12-19 19:55:45#:admin
2020-12-19 19:55:45#:
2020-12-19 19:55:45#:uploads
2020-12-19 19:55:45#:uploads
2020-12-19 19:55:45#:admin
2020-12-19 19:55:45#:uploads/admin
2020-12-19 19:55:45#:web-file-upload-51e80269e937406575ce0ea7c612fd2b-1609905362454
2020-12-19 19:55:45#:uploads/admin
2020-12-19 19:55:45#:web-file-upload-51e80269e937406575ce0ea7c612fd2b-1609905362454