[PR #932] [MERGED] fix: ротация логов вместо бесконечного роста файла (#885) #75

Closed
opened 2026-07-19 11:34:41 +03:00 by mirror-bot · 0 comments

📋 Pull Request Information

Original PR: https://github.com/Flowseal/tg-ws-proxy/pull/932
Author: @f4rceful
Created: 6/1/2026
Status: ✅ Merged
Merged: 6/17/2026
Merged by: @Flowseal

Base: main ← Head: fix/log-rotation-885


📝 Commits (1)

  • 43dfd70 fix: rotate log files instead of growing without bound (#885)

📊 Changes

3 files changed (+48 additions, -12 deletions)

View changed files

📝 proxy/tg_ws_proxy.py (+7 -6)
➕ utils/logging_setup.py (+39 -0)
📝 utils/tray_common.py (+2 -6)

📄 Description

Что сделано

  • Вынесена общая фабрика лог-хендлера build_log_handler() в utils/logging_setup.py, которая гарантирует backupCount >= 1 — то есть ротация всегда активна.
  • Подключена в обоих местах логирования: трей (utils/tray_common.py) и консольный режим (proxy/tg_ws_proxy.py).
  • Дефолт --log-backups поднят с 0 до 1.

Зачем

RotatingFileHandler ротирует файл только при backupCount >= 1: в CPython метод doRollover пропускает весь блок ротации, когда backupCount == 0 (if self.backupCount > 0:). В этом случае maxBytes молча игнорируется, и активный лог растёт без ограничений.

Трей жёстко задавал backupCount=0, а в консольном режиме --log-backups по умолчанию был 0 — поэтому заданный лимит размера не применялся никогда. Пользователи сообщали о логах, разрастающихся до сотен мегабайт (#885: 150 МБ, 600 МБ), при этом ручное ограничение размера не помогало, а перезапуск лишь временно обрезал файл.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Flowseal/tg-ws-proxy/pull/932 **Author:** [@f4rceful](https://github.com/f4rceful) **Created:** 6/1/2026 **Status:** ✅ Merged **Merged:** 6/17/2026 **Merged by:** [@Flowseal](https://github.com/Flowseal) **Base:** `main` ← **Head:** `fix/log-rotation-885` --- ### 📝 Commits (1) - [`43dfd70`](https://github.com/Flowseal/tg-ws-proxy/commit/43dfd70b0a2a29cfbebb641e361bb459d684cf0a) fix: rotate log files instead of growing without bound (#885) ### 📊 Changes **3 files changed** (+48 additions, -12 deletions) <details> <summary>View changed files</summary> 📝 `proxy/tg_ws_proxy.py` (+7 -6) ➕ `utils/logging_setup.py` (+39 -0) 📝 `utils/tray_common.py` (+2 -6) </details> ### 📄 Description ## Что сделано - Вынесена общая фабрика лог-хендлера `build_log_handler()` в `utils/logging_setup.py`, которая гарантирует `backupCount >= 1` — то есть ротация всегда активна. - Подключена в обоих местах логирования: трей (`utils/tray_common.py`) и консольный режим (`proxy/tg_ws_proxy.py`). - Дефолт `--log-backups` поднят с `0` до `1`. ## Зачем `RotatingFileHandler` ротирует файл только при `backupCount >= 1`: в CPython метод `doRollover` пропускает весь блок ротации, когда `backupCount == 0` (`if self.backupCount > 0:`). В этом случае `maxBytes` молча игнорируется, и активный лог растёт без ограничений. Трей жёстко задавал `backupCount=0`, а в консольном режиме `--log-backups` по умолчанию был `0` — поэтому заданный лимит размера не применялся никогда. Пользователи сообщали о логах, разрастающихся до сотен мегабайт (#885: 150 МБ, 600 МБ), при этом ручное ограничение размера не помогало, а перезапуск лишь временно обрезал файл. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot added the pull-request label 2026-07-19 11:34:41 +03:00
mirror-bot changed title from [PR #932] [MERGED] fix: ротация логов вместо бесконечного роста файла (#885) to [PR #932] fix: ротация логов вместо бесконечного роста файла (#885) 2026-07-20 04:11:12 +03:00
mirror-bot changed title from [PR #932] fix: ротация логов вместо бесконечного роста файла (#885) to [PR #932] [MERGED] fix: ротация логов вместо бесконечного роста файла (#885) 2026-07-20 23:14:59 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Utilities/tg-ws-proxy#75