mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-10 23:24:02 +02:00
Merge pull request #1258 from andyexeter/lineformatter-soapfault-details-master
Add SoapFault details to LineFormatter
This commit is contained in:
@@ -170,7 +170,22 @@ class LineFormatter extends NormalizerFormatter
|
|||||||
|
|
||||||
private function formatException(\Throwable $e): string
|
private function formatException(\Throwable $e): string
|
||||||
{
|
{
|
||||||
$str = '[object] (' . Utils::getClass($e) . '(code: ' . $e->getCode() . '): ' . $e->getMessage() . ' at ' . $e->getFile() . ':' . $e->getLine() . ')';
|
$str = '[object] (' . Utils::getClass($e) . '(code: ' . $e->getCode();
|
||||||
|
if ($e instanceof \SoapFault) {
|
||||||
|
if (isset($e->faultcode)) {
|
||||||
|
$str .= ' faultcode: ' . $e->faultcode;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($e->faultactor)) {
|
||||||
|
$str .= ' faultactor: ' . $e->faultactor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($e->detail)) {
|
||||||
|
$str .= ' detail: ' . $e->detail;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$str .= '): ' . $e->getMessage() . ' at ' . $e->getFile() . ':' . $e->getLine() . ')';
|
||||||
|
|
||||||
if ($this->includeStacktraces) {
|
if ($this->includeStacktraces) {
|
||||||
$str .= "\n[stacktrace]\n" . $e->getTraceAsString() . "\n";
|
$str .= "\n[stacktrace]\n" . $e->getTraceAsString() . "\n";
|
||||||
}
|
}
|
||||||
|
@@ -173,6 +173,27 @@ class LineFormatterTest extends \PHPUnit\Framework\TestCase
|
|||||||
$this->assertEquals('['.date('Y-m-d').'] core.CRITICAL: foobar {"exception":"[object] (RuntimeException(code: 0): Foo at '.substr($path, 1, -1).':'.(__LINE__ - 8).')\n[previous exception] [object] (LogicException(code: 0): Wut? at '.substr($path, 1, -1).':'.(__LINE__ - 12).')"} []'."\n", $message);
|
$this->assertEquals('['.date('Y-m-d').'] core.CRITICAL: foobar {"exception":"[object] (RuntimeException(code: 0): Foo at '.substr($path, 1, -1).':'.(__LINE__ - 8).')\n[previous exception] [object] (LogicException(code: 0): Wut? at '.substr($path, 1, -1).':'.(__LINE__ - 12).')"} []'."\n", $message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testDefFormatWithSoapFaultException()
|
||||||
|
{
|
||||||
|
if (!class_exists('SoapFault')) {
|
||||||
|
$this->markTestSkipped('Requires the soap extension');
|
||||||
|
}
|
||||||
|
|
||||||
|
$formatter = new LineFormatter(null, 'Y-m-d');
|
||||||
|
$message = $formatter->format([
|
||||||
|
'level_name' => 'CRITICAL',
|
||||||
|
'channel' => 'core',
|
||||||
|
'context' => ['exception' => new \SoapFault('foo', 'bar', 'hello', 'world')],
|
||||||
|
'datetime' => new \DateTimeImmutable,
|
||||||
|
'extra' => [],
|
||||||
|
'message' => 'foobar',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$path = str_replace('\\/', '/', json_encode(__FILE__));
|
||||||
|
|
||||||
|
$this->assertEquals('['.date('Y-m-d').'] core.CRITICAL: foobar {"exception":"[object] (SoapFault(code: 0 faultcode: foo faultactor: hello detail: world): bar at '.substr($path, 1, -1).':'.(__LINE__ - 8).')"} []'."\n", $message);
|
||||||
|
}
|
||||||
|
|
||||||
public function testBatchFormat()
|
public function testBatchFormat()
|
||||||
{
|
{
|
||||||
$formatter = new LineFormatter(null, 'Y-m-d');
|
$formatter = new LineFormatter(null, 'Y-m-d');
|
||||||
|
Reference in New Issue
Block a user