Skip to content

Commit d605d3a

Browse files
committed
getReducedRecord fixed
1 parent 0501757 commit d605d3a

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/Handler/JsonToStdErrHandler.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Monolog\Logger;
99
use Symfony\Component\HttpKernel\Exception\HttpException;
1010
use JsonException;
11+
use YaPro\MonologExt\VarHelper;
1112
use function is_numeric;
1213

1314
// todo покрыть методы тестами
@@ -21,6 +22,7 @@ class JsonToStdErrHandler extends AbstractProcessingHandler
2122
* @var false|resource
2223
*/
2324
private $stderr;
25+
private VarHelper $varHelper;
2426

2527
// используется для игнорирования повтороного сообщения (такое бывает, когда приложение завершается с ошибкой, при
2628
// этом set_exception_handler пишет ошибку, а потом register_shutdown_function пишет ее же (еще раз)
@@ -29,6 +31,7 @@ class JsonToStdErrHandler extends AbstractProcessingHandler
2931
public function __construct() {
3032
parent::__construct();
3133
$this->stderr = fopen('php://stderr', 'w');
34+
$this->varHelper = new VarHelper();
3235
}
3336

3437
// Не реализуем метод isHandling т.к. он уже реализован \Monolog\Handler\AbstractHandler::isHandling(), а главное
@@ -134,7 +137,7 @@ public function getReducedRecord(array &$record, $keyName): string
134137
$excessCharactersInTheRecord = mb_strlen($result) - self::MAX_RECORD_LENGTH;
135138
if ($excessCharactersInTheRecord > 0) {
136139
// находим насколько мы должны подрезать value:
137-
$valueAsString = is_string($value) ? $value : $this->getJson($value);
140+
$valueAsString = $this->varHelper->dump($value);
138141
$newValueMaxLength = mb_strlen($valueAsString) - $excessCharactersInTheRecord - $explanationLength;
139142
if ($newValueMaxLength > 0) {// даем пояснение + подрезаем value:
140143
$record[$keyName][$key] = $explanation . mb_substr($valueAsString, 0, $newValueMaxLength);

0 commit comments

Comments
 (0)