v1.5.4: fix run-log handler-lek bij reload
_setup_run_log ruimde handlers alleen op via het instance-attribuut self._run_logger; bij een maubot-reload is dat op de nieuwe instance weer None, terwijl de geregistreerde logger (zelfde naam) de oude handler behield. Elke reload voegde zo een handler toe, waardoor elke poll-run N× werd gelogd. Fix: logger altijd op naam opruimen.
This commit is contained in:
parent
cb6d00e707
commit
aa3965dcba
3 changed files with 10 additions and 7 deletions
BIN
buzzrss/__pycache__/bot.cpython-314.pyc
Normal file
BIN
buzzrss/__pycache__/bot.cpython-314.pyc
Normal file
Binary file not shown.
|
|
@ -128,18 +128,21 @@ class RSSBot(Plugin):
|
|||
self._setup_run_log()
|
||||
|
||||
def _setup_run_log(self) -> None:
|
||||
if self._run_logger:
|
||||
for handler in list(self._run_logger.handlers):
|
||||
self._run_logger.removeHandler(handler)
|
||||
handler.close()
|
||||
self._run_logger = None
|
||||
# De logger zelf is gedeeld over reloads (zelfde log-naam). Bij een
|
||||
# maubot-reload is self._run_logger op de nieuwe instance weer None,
|
||||
# terwijl de oude handler aan de geregistreerde logger blijft hangen.
|
||||
# Daarom ALTIJD op naam opruimen, niet op het instance-attribuut:
|
||||
# anders wordt elke poll-run eenmalig per reload gelogd (N× duplicaat).
|
||||
self._run_logger = logging.getLogger(f"{self.log.name}.runlog")
|
||||
for handler in list(self._run_logger.handlers):
|
||||
self._run_logger.removeHandler(handler)
|
||||
handler.close()
|
||||
self._run_handler = None
|
||||
run_log_file = self.config["run_log_file"] if "run_log_file" in self.config else ""
|
||||
if not run_log_file:
|
||||
return
|
||||
self._run_handler = logging.FileHandler(run_log_file, encoding="utf-8")
|
||||
self._run_handler.setFormatter(logging.Formatter("%(asctime)s %(message)s"))
|
||||
self._run_logger = logging.getLogger(f"{self.log.name}.runlog")
|
||||
self._run_logger.setLevel(logging.INFO)
|
||||
self._run_logger.propagate = False
|
||||
self._run_logger.addHandler(self._run_handler)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
id: nl.eddydevink.rss
|
||||
version: 1.5.3
|
||||
version: 1.5.4
|
||||
modules:
|
||||
- buzzrss
|
||||
main_class: RSSBot
|
||||
|
|
|
|||
Loading…
Reference in a new issue