mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-23 03:16:35 +00:00
MainLogger: extract a printErrorMessage() function from logException()
This commit is contained in:
parent
fab81d28bc
commit
c4580dd56d
@ -204,12 +204,22 @@ class MainLogger extends \AttachableThreadedLogger{
|
|||||||
if($trace === null){
|
if($trace === null){
|
||||||
$trace = $e->getTrace();
|
$trace = $e->getTrace();
|
||||||
}
|
}
|
||||||
$errstr = $e->getMessage();
|
|
||||||
$errfile = $e->getFile();
|
|
||||||
$errno = $e->getCode();
|
|
||||||
$errline = $e->getLine();
|
|
||||||
|
|
||||||
$errorConversion = [
|
$message = self::printExceptionMessage($e);
|
||||||
|
$stack = Utils::printableTrace($trace);
|
||||||
|
|
||||||
|
$this->synchronized(function() use ($message, $stack) : void{
|
||||||
|
$this->critical($message);
|
||||||
|
foreach($stack as $line){
|
||||||
|
$this->debug($line, true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$this->syncFlushBuffer();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static function printExceptionMessage(\Throwable $e) : string{
|
||||||
|
static $errorConversion = [
|
||||||
0 => "EXCEPTION",
|
0 => "EXCEPTION",
|
||||||
E_ERROR => "E_ERROR",
|
E_ERROR => "E_ERROR",
|
||||||
E_WARNING => "E_WARNING",
|
E_WARNING => "E_WARNING",
|
||||||
@ -228,21 +238,15 @@ class MainLogger extends \AttachableThreadedLogger{
|
|||||||
E_USER_DEPRECATED => "E_USER_DEPRECATED"
|
E_USER_DEPRECATED => "E_USER_DEPRECATED"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$errstr = preg_replace('/\s+/', ' ', trim($e->getMessage()));
|
||||||
|
|
||||||
|
$errno = $e->getCode();
|
||||||
$errno = $errorConversion[$errno] ?? $errno;
|
$errno = $errorConversion[$errno] ?? $errno;
|
||||||
$errstr = preg_replace('/\s+/', ' ', trim($errstr));
|
|
||||||
$errfile = Utils::cleanPath($errfile);
|
|
||||||
|
|
||||||
$message = get_class($e) . ": \"$errstr\" ($errno) in \"$errfile\" at line $errline";
|
$errfile = Utils::cleanPath($e->getFile());
|
||||||
$stack = Utils::printableTrace($trace);
|
$errline = $e->getLine();
|
||||||
|
|
||||||
$this->synchronized(function() use ($message, $stack) : void{
|
return get_class($e) . ": \"$errstr\" ($errno) in \"$errfile\" at line $errline";
|
||||||
$this->critical($message);
|
|
||||||
foreach($stack as $line){
|
|
||||||
$this->debug($line, true);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$this->syncFlushBuffer();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function log($level, $message){
|
public function log($level, $message){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user