diff --git a/.gitignore b/.gitignore index 20c1991c45d3a113307ff9015aa4d1d7e0b3ff08..bdc4c24c5b01e2e67d961892bdcad1dba86a8553 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 2e3b5522c3f4bc250c9430d7255fa29b85cd524d..f113612399974da1f5b0beddea4b2c2f24beaa3f 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 2bdbab11c3252e104cbb145ca7aac2cdb5018524..929cbbf6e81850c53d2c216b246f8c3d4bb1539a 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):