要写个log函数,记录一些文件日志。想记录被调用的文件及位置。发现魔术函数__FILE__和__LINE__写在函数中,只是函数所在的文件和位置。并不是被引用的文件和位置。传递参数又感觉太麻烦。
找了个一个函数:debug_backtrace()
demo:
public function write($message, $level, $fileName)
{
$debugInfo = debug_backtrace();
$filePath = './'
$message = date('Y/m/d H:i:s') . ' [' . $level . ']' .' ['.$fileName.'] '. $message . PHP_EOL;
$message .= $debugInfo[0]['file']. ' ('.$debugInfo[0]['line'].')'.PHP_EOL;
file_put_contents($filePath.$fileName."-".date('Y-m-d').'.log', $message, FILE_APPEND);
}