Improved exception handling and trace creation

This commit is contained in:
Shoghi Cervantes
2015-01-01 22:50:45 +01:00
parent 7be4e2fa81
commit 3128ae9736
3 changed files with 13 additions and 7 deletions

View File

@ -103,6 +103,9 @@ class MainLogger extends \AttachableThreadedLogger{
}
public function logException(\Exception $e, $trace = null){
if($trace === null){
$trace = $e->getTrace();
}
$errstr = $e->getMessage();
$errfile = $e->getFile();
$errno = $e->getCode();
@ -137,8 +140,7 @@ class MainLogger extends \AttachableThreadedLogger{
}
$errfile = \pocketmine\cleanPath($errfile);
$this->log($type, get_class($e) . ": \"$errstr\" ($errno) in \"$errfile\" at line $errline");
foreach(($trace = @\pocketmine\getTrace($trace === null ? 4 : 0, $trace)) as $i => $line){
foreach(@\pocketmine\getTrace(1, $trace) as $i => $line){
$this->debug($line);
}
}