import json import os def log_error(url, error, filename='Err.json'): """ Добавляет ошибку в список ошибок в JSON-файле. Args: url (str): URL, на котором произошла ошибка. error (str or Exception): Описание ошибки. filename (str): Имя файла для логирования (по умолчанию 'Err.json'). """ # Приводим error к строке, чтобы избежать проблем с сериализацией error_str = str(error) # Загружаем существующие ошибки (если файл существует) if os.path.exists(filename): try: with open(filename, 'r', encoding='utf-8') as f: errors = json.load(f) except (json.JSONDecodeError, OSError): errors = [] else: errors = [] # Добавляем новую ошибку errors.append({ "url": url.strip(), "error": error_str }) # Сохраняем обратно with open(filename, 'w', encoding='utf-8') as f: json.dump(errors, f, ensure_ascii=False, indent=4)