fix: автоматическое создание директории logs при запуске бота
This commit is contained in:
parent
29f2836cea
commit
9c7909bde5
@ -60,21 +60,23 @@ def test_file_handler_when_logs_dir_exists() -> None:
|
||||
os.chdir(orig_cwd)
|
||||
|
||||
|
||||
def test_no_file_handler_when_logs_dir_missing() -> None:
|
||||
"""FileHandler не добавляется если директории logs нет."""
|
||||
def test_logs_dir_created_automatically() -> None:
|
||||
"""Директория logs создаётся автоматически, если её нет."""
|
||||
orig_cwd = os.getcwd()
|
||||
with tempfile.TemporaryDirectory() as tmpdir:
|
||||
os.chdir(tmpdir)
|
||||
# Убедиться что logs/ нет
|
||||
logs_dir = Path("logs")
|
||||
if logs_dir.exists():
|
||||
import shutil
|
||||
shutil.rmtree(logs_dir)
|
||||
assert not logs_dir.exists()
|
||||
|
||||
try:
|
||||
with _isolated_logger() as root:
|
||||
assert logs_dir.exists()
|
||||
file_handlers = [h for h in root.handlers if isinstance(h, logging.FileHandler)]
|
||||
assert len(file_handlers) == 0
|
||||
assert len(file_handlers) >= 1
|
||||
# Закрыть file handler чтобы освободить файл на Windows
|
||||
for h in file_handlers:
|
||||
h.close()
|
||||
finally:
|
||||
os.chdir(orig_cwd)
|
||||
|
||||
|
||||
@ -34,9 +34,9 @@ def setup_logging() -> logging.Logger:
|
||||
root.setLevel(level)
|
||||
root.addHandler(console)
|
||||
|
||||
# File handler — logs/bot.log (если директория logs доступна)
|
||||
# File handler — logs/bot.log
|
||||
log_dir = Path("logs")
|
||||
if log_dir.exists():
|
||||
log_dir.mkdir(parents=True, exist_ok=True)
|
||||
file_handler = logging.FileHandler(
|
||||
log_dir / "bot.log", encoding="utf-8"
|
||||
)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user