我正在用PHP编写Logger类。有没有办法,如何从呼叫中自动传递行号和脚本文件?
样品:
Logger::Log("message", __LINE__, __FILE__)
我想自动传递__LINE__
和__FILE__
,而无需编写它。我试图制作
public static function Log($msg, $l = __LINE__, $f = __FILE__) { ... }
但是这个传递行号和Log
方法的文件。这在PHP中甚至可能吗?
答案 0 :(得分:6)
您可以使用var obj = {};
obj[id] = {large object};
// Free the id
delete obj[id];
内的debug_backtrace
来检索调用堆栈,其中包含调用Logger::Log
的代码的文件和行号。这通常包含在记录器中是明智的。