It took me a while to figure out why the original file name and line number were not written to log4php when an exception occurred. It turned out that my custom class exception_handler only logged an exception message (by doing $exception->getMessage() ), which did not contain either a file name or a line number. All I need to do is combine this information: $exception->getFile() and $exception->getLine() :
public function exception_handler ($exception) { $logger = Logger9::create(); $logger->info($exception->getMessage()." ".$exception->getFile()." ".$exception->getLine()); }
Remember to register a custom handler:
@set_exception_handler(array($this, 'exception_handler'));
Dimitar darazhanski
source share