889116 - Make log optional + zip log file when size exceed retention_size#5
889116 - Make log optional + zip log file when size exceed retention_size#5pngouahbeapi wants to merge 2 commits into
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 635db99. Configure here.
|
|
||
| // Rename the file, then compress the rotated log when possible. | ||
| if ( rename( $file_path, $rotated_path ) ) { | ||
| $this->maybe_zip_rotated_file( $rotated_path ); |
There was a problem hiding this comment.
Synchronous compression blocks logging call for seconds
Medium Severity
maybe_zip_rotated_file runs synchronously inside log_this(), meaning a single logging call can block a PHP web request for seconds (or longer) while compressing a file up to the default ~400 MB $retention_size. Previously, maybe_move_file only performed a near-instant rename. This makes call duration unpredictable and can trigger web-server or PHP request timeouts for the unlucky request that hits the rotation threshold.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 635db99. Configure here.


Note
Medium Risk
Adds new behavior to log rotation (optional ZIP compression and file deletion) and changes construction via a new
$write_enabledflag, which could affect logging/rotation expectations and filesystem permissions.Overview
Adds a new
$write_enabledconstructor flag toBea_Logto makelog_this()a no-op when logging is disabled (no disk I/O).Enhances log rotation so that when a log exceeds
retention_sizeit is renamed and, ifZipArchiveis available, the rotated file is compressed into a sibling.zipand the uncompressed rotated log is removed.Updates docs and bumps plugin version to
0.4to reflect the new constructor signature, defaults, and rotation/compression behavior.Reviewed by Cursor Bugbot for commit 90a941d. Bugbot is set up for automated code reviews on this repo. Configure here.