我正在php中编写一个轻量级的日志记录类。
如何自动记录调用Log类中函数的文件名/函数/行号,并保存行号,时间和内容,而不会让用户麻烦输入$__LINE__
和$__FILE__
每次他们调用这个功能。有什么我可以隐含地称之为。
示例:
class Log {
static private $instance;
static $logfile;
private function __construct(){
// doesn't need to do anything
// one logging object to avoid/control future/potential race conditions
}
public function getInstance(){
if(!Self::$instance) {
Self::$instance = new Log();
} else {
return Self::$instance;
}
}
public function criticalLog($string){
// I want this to be logging line number, filename
}
}
现在我想能够像文件api.php第15行一样
logInstance.criticalLog("This log is important");
在我的日志文件中,我想看看
12/10/09-11:15 api.php 15 This log is important
有什么想法吗?我看了一下PEAR和log4php解决方案,但它们似乎非常重要我想要的东西。
答案 0 :(得分:2)
看看debug_backtrace功能,它会显示它提供您需要的所有信息:
function, line, file, class, object, type, args
答案 1 :(得分:1)