Skip to content

Commit a4ba71c

Browse files
committed
Address phpstan errors
1 parent 244fee7 commit a4ba71c

File tree

5 files changed

+66
-72
lines changed

5 files changed

+66
-72
lines changed

src/App/Logger/Formatter/JsonErrorFormatter.php

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,36 +53,37 @@ public function __construct(
5353
*/
5454
public function format(\Monolog\LogRecord|array $record): string
5555
{
56-
// Older Monolog versions.
57-
if (is_array($record)) {
56+
// Monolog version 3 or higher.
57+
if (\Monolog\Logger::API == 3) {
5858
try {
59-
if (!isset($record['context']['errorCode'])) {
59+
/** @phpstan-ignore-next-line */
60+
if (!isset($record->context['errorCode'])) {
6061
return '';
6162
}
6263

6364
$loggedErrors = $this->reader->read();
6465

65-
if (isset($loggedErrors[$record['context']['errorCode']])) {
66+
if (isset($loggedErrors[$record->context['errorCode']])) {
6667
return '';
6768
}
68-
69-
return parent::format($this->formatLog($record));
69+
70+
return $this->toJson($this->formatLog($record->toArray())) . PHP_EOL;
7071
} catch (\Exception $exception) {
7172
return '';
7273
}
73-
} else if ($record instanceof \Monolog\LogRecord) { // Monolog version 3 or higher.
74+
} else { // Older Monolog versions.
7475
try {
75-
if (!isset($record->context['errorCode'])) {
76+
if (!isset($record['context']['errorCode'])) {
7677
return '';
7778
}
7879

7980
$loggedErrors = $this->reader->read();
8081

81-
if (isset($loggedErrors[$record->context['errorCode']])) {
82+
if (isset($loggedErrors[$record['context']['errorCode']])) {
8283
return '';
8384
}
84-
85-
return $this->toJson($this->formatLog($record->toArray())) . PHP_EOL;
85+
86+
return parent::format($this->formatLog($record));
8687
} catch (\Exception $exception) {
8788
return '';
8889
}

src/App/Logger/Formatter/LineFormatter.php

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,31 +24,10 @@ public function format(\Monolog\LogRecord|array $record): string
2424
Logger::getLevelName(Logger::ERROR),
2525
Logger::getLevelName(Logger::CRITICAL),
2626
];
27-
// Monolog version 3 or higher.
28-
if ($record instanceof \Monolog\LogRecord) {
29-
if (isset($record->level->name)
30-
&& in_array(strtoupper($record->level->name), $errorLevels)
31-
&& !empty($record->context['errorCode'])
32-
) {
33-
$this->format = self::FORMAT_BASE_ERROR;
34-
} else {
35-
$this->format = self::FORMAT_BASE;
36-
}
3727

38-
if (isset($record->message) && !empty($record->context['suggestion'])) {
39-
// Create new LogRecord from existing and update the message,
40-
// since message is read only
41-
$message = $record->message . PHP_EOL . $record->context['suggestion'];
42-
$record = new \Monolog\LogRecord(
43-
datetime: $record->datetime,
44-
channel: $record->channel,
45-
level: $record->level,
46-
message: $message,
47-
context: $record->context,
48-
extra: $record->extra,
49-
);
50-
}
51-
} else if (is_array($record)) { // Older Monolog versions.
28+
if ($record instanceof \Monolog\LogRecord) {
29+
$record = $this->formatNew($record, $errorLevels);
30+
} else { // Older Monolog versions.
5231
if (isset($record['level_name'])
5332
&& in_array($record['level_name'], $errorLevels)
5433
&& !empty($record['context']['errorCode'])
@@ -65,4 +44,31 @@ public function format(\Monolog\LogRecord|array $record): string
6544

6645
return parent::format($record);
6746
}
47+
48+
private function formatNew(\Monolog\LogRecord $record, array $errorLevels)
49+
{
50+
if (isset($record->level->name) // @phpstan-ignore-line
51+
&& in_array(strtoupper($record->level->name), $errorLevels)
52+
&& !empty($record->context['errorCode']) // @phpstan-ignore-line
53+
) {
54+
$this->format = self::FORMAT_BASE_ERROR;
55+
} else {
56+
$this->format = self::FORMAT_BASE;
57+
}
58+
59+
if (isset($record->message) && !empty($record->context['suggestion'])) { // @phpstan-ignore-line
60+
// Create new LogRecord from existing and update the message,
61+
// since message is read only
62+
$message = $record->message . PHP_EOL . $record->context['suggestion'];
63+
$record = new \Monolog\LogRecord( // @phpstan-ignore-line
64+
datetime: $record->datetime, // @phpstan-ignore-line
65+
channel: $record->channel, // @phpstan-ignore-line
66+
level: $record->level, // @phpstan-ignore-line
67+
message: $message,
68+
context: $record->context,
69+
extra: $record->extra, // @phpstan-ignore-line
70+
);
71+
}
72+
return $record;
73+
}
6874
}

src/App/Logger/HandlerFactory.php

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -81,19 +81,13 @@ public function create(string $handler): AbstractProcessingHandler
8181
try {
8282
$levelOverride = $this->globalConfig->get(GlobalSection::VAR_MIN_LOGGING_LEVEL);
8383
$minLevel = !empty($levelOverride) ? $this->normalizeLevel($levelOverride) : self::UNDEFINED_LEVEL;
84-
if ($minLevel instanceof Level) {
85-
$minLevel = $minLevel->value;
86-
}
8784
$configuration = $this->logConfig->get($handler);
8885
} catch (ConfigException $exception) {
8986
throw new LoggerException($exception->getMessage(), $exception->getCode(), $exception);
9087
}
9188

9289
if ($customMinLevel = $configuration->get('min_level')) {
9390
$minLevel = $this->normalizeLevel((string)$customMinLevel);
94-
if ($minLevel instanceof Level) {
95-
$minLevel = $minLevel->value;
96-
}
9791
}
9892

9993
try {
@@ -172,23 +166,23 @@ public function create(string $handler): AbstractProcessingHandler
172166

173167
/**
174168
* @param string $level
175-
* @return Level|int
169+
* @return int
176170
* @throws LoggerException
177171
*/
178-
private function normalizeLevel(string $level): Level|int
172+
private function normalizeLevel(string $level): int
179173
{
180174
/** @phpstan-ignore-next-line */
181175
$normalizedLevel = Logger::toMonologLevel($level);
182176

183177
if (\Monolog\Logger::API == 3) {
184-
if (!$normalizedLevel instanceof Level) {
185-
throw new LoggerException('Logger level is incorrect');
186-
}
187-
} else {
188-
if (!is_int($normalizedLevel)) {
189-
throw new LoggerException('Logger level is incorrect');
190-
}
178+
/** @phpstan-ignore-next-line */
179+
$normalizedLevel = $normalizedLevel->value;
191180
}
181+
182+
if (!is_int($normalizedLevel)) {
183+
throw new LoggerException('Logger lever is incorrect');
184+
}
185+
192186
return $normalizedLevel;
193187
}
194188
}

src/App/Logger/Processor/SanitizeProcessor.php

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,28 +29,26 @@ public function __construct(Sanitizer $sanitizer)
2929

3030
/**
3131
* Finds and replace sensitive data in record message.
32-
*
33-
* @param LogRecord $record
34-
* @return LogRecord
3532
*/
3633
public function __invoke(\Monolog\LogRecord|array $record)
3734
{
38-
// Older Monolog versions.
39-
if (is_array($record)) {
40-
$record['message'] = $this->sanitizer->sanitize($record['message']);
41-
} else if ($record instanceof \Monolog\LogRecord) { // Monolog version 3 or higher.
42-
$message = $this->sanitizer->sanitize($record->message);
35+
// Monolog version 3 or higher.
36+
if (\Monolog\Logger::API == 3) {
37+
$message = $this->sanitizer->sanitize($record->message); // @phpstan-ignore-line
4338
// Create new LogRecord from existing and update the message,
4439
// since message is read only
45-
$record = new \Monolog\LogRecord(
46-
datetime: $record->datetime,
47-
channel: $record->channel,
48-
level: $record->level,
40+
$record = new \Monolog\LogRecord( // @phpstan-ignore-line
41+
datetime: $record->datetime, // @phpstan-ignore-line
42+
channel: $record->channel, // @phpstan-ignore-line
43+
level: $record->level, // @phpstan-ignore-line
4944
message: $message,
50-
context: $record->context,
51-
extra: $record->extra,
45+
context: $record->context, // @phpstan-ignore-line
46+
extra: $record->extra, // @phpstan-ignore-line
5247
);
48+
return $record;
49+
} else { // Older Monolog versions.
50+
$record['message'] = $this->sanitizer->sanitize($record['message']);
51+
return $record;
5352
}
54-
return $record;
5553
}
5654
}

src/Step/ValidateConfiguration.php

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ private function collectErrors(): array
9292
foreach ($this->validators as $level => $validators) {
9393
/** @phpstan-ignore-next-line */
9494
$level = Logger::toMonologLevel($level);
95-
if (\Monolog\Logger::API == 3) {
95+
if (!is_int($level)) {
9696
$level = $level->value;
9797
}
9898
foreach ($validators as $name => $validator) {
@@ -108,12 +108,7 @@ private function collectErrors(): array
108108
}
109109

110110
if ($result instanceof Error) {
111-
if (\Monolog\Logger::API == 3) {
112-
$level_code = $level;
113-
$errors[$level_code][] = $result;
114-
} else {
115-
$errors[$level][] = $result;
116-
}
111+
$errors[$level][] = $result;
117112
}
118113
}
119114
}

0 commit comments

Comments
 (0)