mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-18 06:23:48 +01:00
LSlog: fix computing exception context
This commit is contained in:
parent
ef1b4a74e2
commit
22a5be4ddd
1 changed files with 29 additions and 18 deletions
|
@ -401,24 +401,35 @@ class LSlog {
|
|||
* @return void
|
||||
**/
|
||||
public static function exception($exception, $prefix=null, $fatal=true, $logger=null) {
|
||||
$message =
|
||||
($prefix?"$prefix :\n":"An exception occured :\n").
|
||||
implode(
|
||||
"\n",
|
||||
array_map(
|
||||
function($line) { return " $line"; },
|
||||
array_slice(
|
||||
array_reverse(
|
||||
explode(
|
||||
"\n",
|
||||
$exception->getTraceAsString()
|
||||
),
|
||||
1
|
||||
),
|
||||
1
|
||||
)
|
||||
)
|
||||
)."\n => ". $exception->getMessage();
|
||||
$message = sprintf("%s:\n", $prefix ? $prefix : "An exception occured");
|
||||
|
||||
// Add backtrace
|
||||
// Note: reverse the backtrace lines to get the entrypoint as first and remove useless first
|
||||
// "{main}" line.
|
||||
$lines = array_slice(
|
||||
array_reverse(
|
||||
explode(
|
||||
"\n",
|
||||
$exception->getTraceAsString()
|
||||
),
|
||||
1
|
||||
),
|
||||
1
|
||||
);
|
||||
foreach($lines as $idx => $line)
|
||||
$message .= sprintf(
|
||||
" #%d %s\n",
|
||||
$idx + 1,
|
||||
substr($line, 2)
|
||||
);
|
||||
|
||||
// Add exception details
|
||||
$message .= sprintf(
|
||||
" #0 %s(%s) :\n => %s",
|
||||
$exception->getFile(),
|
||||
$exception->getLine(),
|
||||
$exception->getMessage()
|
||||
);
|
||||
self :: logging(($fatal?'FATAL':'ERROR'), $message, $logger, true);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue