首页 > 代码库 > PHP调试日志方法

PHP调试日志方法

1、需求

  当我们的项目已经上线,但是出现了bug,这时候调试变得极为重要。但是有时候需要打印变量才能找到bug. 这时候就需要我们用日志来记录变量。我已经在网上也找了很多的PHP代码,但是总是觉得不太理想。希望下面的能解决大家的问题。

2、 代码

/**
 * 写日志,用于测试,可以开启关闭
 * @param data mixed
 */
function _logs($data, $file = ‘logs_‘){
    $year   = date("Y");
    $month  = date("m");
    $dir    = ‘./test_logs/‘ . $year . ‘/‘ . $month . ‘/‘;
    if(!is_dir($dir)) {
        mkdir($dir,0755,true);
    }
    $file = $dir . $file . date(‘Y-m-d‘).‘.txt‘;
    @file_put_contents($file, ‘----------------‘ . date(‘H:i:s‘) . ‘--------------------‘.PHP_EOL.var_export($data, true).PHP_EOL, FILE_APPEND);
}

注释:

file_put_contents这个方法不用了,PHP里面很常用。
PHP_EOL 是换行符,因为每个系统里面的换行符都不一样。unix系列用 \nwindows系列用 \r\n mac用 \r
var_export 这个方法用的比较少但是这里很有用。跟var_dump方法一样。只是输出的格式是用php代码的格式。 输出或返回一个变量的字符串表示。可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

PHP调试日志方法