From 658c822f308575f7091a407773fa39cbf35940b3 Mon Sep 17 00:00:00 2001 From: Oleg Poludnenko Date: Fri, 19 Jun 2020 11:35:14 +0300 Subject: [PATCH] Fix #18120: Include path to the log file into error message if `FileTarget::export` fails --- framework/CHANGELOG.md | 1 + framework/log/FileTarget.php | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/framework/CHANGELOG.md b/framework/CHANGELOG.md index 33ef39eaac..183ae83198 100644 --- a/framework/CHANGELOG.md +++ b/framework/CHANGELOG.md @@ -19,6 +19,7 @@ Yii Framework 2 Change Log - Enh #18083: Add `Controller::$request` and `$response` (brandonkelly) - Bug #18101: Fix behavior of OUTPUT INSERTED.* for SQL Server query: "insert default values"; correct MSSQL unit tests; turn off profiling echo message in migration test (darkdef) - Bug #18105: Fix for old trigger in RBAC migration with/without prefixTable (darkdef) +- Enh #18120: Include path to the log file into error message if `FileTarget::export` fails (uaoleg) 2.0.35 May 02, 2020 diff --git a/framework/log/FileTarget.php b/framework/log/FileTarget.php index 1a9ad1eb69..a29c67367a 100644 --- a/framework/log/FileTarget.php +++ b/framework/log/FileTarget.php @@ -123,21 +123,21 @@ class FileTarget extends Target $writeResult = @file_put_contents($this->logFile, $text, FILE_APPEND | LOCK_EX); if ($writeResult === false) { $error = error_get_last(); - throw new LogRuntimeException("Unable to export log through file!: {$error['message']}"); + throw new LogRuntimeException("Unable to export log through file ({$this->logFile})!: {$error['message']}"); } $textSize = strlen($text); if ($writeResult < $textSize) { - throw new LogRuntimeException("Unable to export whole log through file! Wrote $writeResult out of $textSize bytes."); + throw new LogRuntimeException("Unable to export whole log through file ({$this->logFile})! Wrote $writeResult out of $textSize bytes."); } } else { $writeResult = @fwrite($fp, $text); if ($writeResult === false) { $error = error_get_last(); - throw new LogRuntimeException("Unable to export log through file!: {$error['message']}"); + throw new LogRuntimeException("Unable to export log through file ({$this->logFile})!: {$error['message']}"); } $textSize = strlen($text); if ($writeResult < $textSize) { - throw new LogRuntimeException("Unable to export whole log through file! Wrote $writeResult out of $textSize bytes."); + throw new LogRuntimeException("Unable to export whole log through file ({$this->logFile})! Wrote $writeResult out of $textSize bytes."); } @flock($fp, LOCK_UN); @fclose($fp);