From 3a0a8da648d886fc055bfa8b7eabfce792d9ff2c Mon Sep 17 00:00:00 2001 From: jan iversen Date: Wed, 25 Aug 2021 17:32:48 +0200 Subject: [PATCH] Change logging to do rollover() instead of rotate() (#55177) * Change to rollover from rotate. * Remove test log files. --- .gitignore | 2 +- homeassistant/bootstrap.py | 4 ++-- tests/test_bootstrap.py | 5 +++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 20c1991c45d3a1..bdc4c24c5b01e2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ config/* config2/* tests/testing_config/deps -tests/testing_config/home-assistant.log +tests/testing_config/home-assistant.log* # hass-release data/ diff --git a/homeassistant/bootstrap.py b/homeassistant/bootstrap.py index 2e3b5522c3f4bc..f113612399974d 100644 --- a/homeassistant/bootstrap.py +++ b/homeassistant/bootstrap.py @@ -332,7 +332,7 @@ def async_enable_logging( not err_path_exists and os.access(err_dir, os.W_OK) ): - err_handler: logging.FileHandler + err_handler: logging.handlers.RotatingFileHandler | logging.handlers.TimedRotatingFileHandler if log_rotate_days: err_handler = logging.handlers.TimedRotatingFileHandler( err_log_path, when="midnight", backupCount=log_rotate_days @@ -342,7 +342,7 @@ def async_enable_logging( err_log_path, backupCount=1 ) - err_handler.rotate(err_log_path, f"{err_log_path[:-4]}.previous.log") + err_handler.doRollover() err_handler.setLevel(logging.INFO if verbose else logging.WARNING) err_handler.setFormatter(logging.Formatter(fmt, datefmt=datefmt)) diff --git a/tests/test_bootstrap.py b/tests/test_bootstrap.py index 2bdbab11c3252e..929cbbf6e81850 100644 --- a/tests/test_bootstrap.py +++ b/tests/test_bootstrap.py @@ -1,6 +1,7 @@ """Test the bootstrapping.""" # pylint: disable=protected-access import asyncio +import glob import os from unittest.mock import Mock, patch @@ -69,6 +70,10 @@ async def test_async_enable_logging(hass): log_file="test.log", ) mock_async_activate_log_queue_handler.assert_called_once() + for f in glob.glob("test.log*"): + os.remove(f) + for f in glob.glob("testing_config/home-assistant.log*"): + os.remove(f) async def test_load_hassio(hass):