工作中经常会遇到打印日志或跟踪当前方法调用过程。
下面方法就是为了记录日志以及查看所有调用方法。
function writeLog($data, $remake = '', $filename = 'in',$check_super = false)
{
$html = '';
if ($check_super){
$array =debug_backtrace();
unset($array[0]);
$html = PHP_EOL .'Traceability' ;
foreach($array as $row)
{
$html .= PHP_EOL .str_replace('/home/wwwroot/shop/','',$row['file']).':'.$row['line'].'行,调用方法:'.$row['function'];
}
}
try {
$dir = './syslog/' . date('Ym');
if (!is_dir($dir)) mkdir($dir, 0766, true) && chmod($dir, 0766);
$dir .= '/' . date('d') . '-';
if (is_array($data)){
$data = json_encode($data);
}
$data .= $html;
file_put_contents(
$dir . $filename . '.log',
date('H:i:s') . '==>--' . $remake . '----' . $data . '-----' . PHP_EOL,
FILE_APPEND
);
} catch (Exception $e) { }
}