From 06f8e198c20f050542f6a00b04ca3bb1713e1996 Mon Sep 17 00:00:00 2001 From: Bart Jaskulski <bjaskulski@protonmail.com> Date: Wed, 15 Jun 2022 00:04:42 +0200 Subject: [PATCH] fix: prevent reading log unless we need write it --- src/WpdbLogger.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/WpdbLogger.php b/src/WpdbLogger.php index b0fedbd..47119c0 100644 --- a/src/WpdbLogger.php +++ b/src/WpdbLogger.php @@ -11,20 +11,25 @@ class WpdbLogger implements \Psr\Log\LoggerInterface { private const MAX_LOG_SIZE = 30; /** @var string[] */ - private $log; + private $log = []; /** @var string */ private $log_name; public function __construct( string $log_name ) { $this->log_name = $log_name; - $this->log = json_decode( get_option( $this->log_name, '[]' ) ); - if ( ! \is_array( $this->log ) ) { - $this->log = []; - } } public function log( $level, $message, array $context = [] ) { + if ( empty( $this->log ) ) { + $this->log = json_decode( + get_option( + $this->log_name, + '[]' + ) + ); + } + $this->log[] = date( 'Y-m-d G:i:s' ) . sprintf( ': %s', $message ); if ( \count( $this->log ) > self::MAX_LOG_SIZE ) { array_shift( $this->log ); -- GitLab