From 2a5774da84e0a6c79a94ba47ac4368de52b08bd4 Mon Sep 17 00:00:00 2001 From: inhere Date: Sat, 8 May 2021 00:47:26 +0800 Subject: [PATCH] up: optimize log for output json --- src/log/src/Handler/FileHandler.php | 14 +++++++++++--- src/log/src/Logger.php | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/log/src/Handler/FileHandler.php b/src/log/src/Handler/FileHandler.php index 60f03acf0..8eb96d07f 100644 --- a/src/log/src/Handler/FileHandler.php +++ b/src/log/src/Handler/FileHandler.php @@ -101,8 +101,8 @@ protected function write(array $records): void } else { $records = array_column($records, 'formatted'); } - $messageText = implode("\n", $records) . "\n"; + $messageText = implode("\n", $records) . "\n"; if (Co::id() <= 0) { throw new InvalidArgumentException('Write log file must be under Coroutine!'); } @@ -125,6 +125,7 @@ protected function write(array $records): void private function recordFilter(array $records): array { $messages = []; + $outJson = Log::getLogger()->isJson(); foreach ($records as $record) { if (!isset($record['level'])) { continue; @@ -133,8 +134,15 @@ private function recordFilter(array $records): array continue; } - $record = $this->processRecord($record); - $record['formatted'] = $this->getFormatter()->format($record); + $record = $this->processRecord($record); + + // format record + if ($outJson) { + // optimize, dont call formatter + $record['formatted'] = ''; + } else { + $record['formatted'] = $this->getFormatter()->format($record); + } $messages[] = $record; } diff --git a/src/log/src/Logger.php b/src/log/src/Logger.php index e132a2c24..aa781b518 100644 --- a/src/log/src/Logger.php +++ b/src/log/src/Logger.php @@ -323,7 +323,8 @@ public function getProfilesInfos(): string if (!isset($profile['cost'], $profile['total'])) { continue; } - $cost = sprintf('%.2f', $profile['cost'] * 1000); + + $cost = sprintf('%.2f', $profile['cost'] * 1000); $profileAry[] = "$key=" . $cost . '(ms)/' . $profile['total']; }