diff --git a/pyiceberg/catalog/__init__.py b/pyiceberg/catalog/__init__.py index a4f1d47bea..d1d83c6dbf 100644 --- a/pyiceberg/catalog/__init__.py +++ b/pyiceberg/catalog/__init__.py @@ -285,8 +285,8 @@ def delete_files(io: FileIO, files_to_delete: set[str], file_type: str) -> None: for file in files_to_delete: try: io.delete(file) - except OSError as exc: - logger.warning(msg=f"Failed to delete {file_type} file {file}", exc_info=exc) + except OSError: + logger.warning(f"Failed to delete {file_type} file {file}", exc_info=logger.isEnabledFor(logging.DEBUG)) def delete_data_files(io: FileIO, manifests_to_delete: list[ManifestFile]) -> None: @@ -305,8 +305,8 @@ def delete_data_files(io: FileIO, manifests_to_delete: list[ManifestFile]) -> No if not deleted_files.get(path, False): try: io.delete(path) - except OSError as exc: - logger.warning(msg=f"Failed to delete data file {path}", exc_info=exc) + except OSError: + logger.warning(f"Failed to delete data file {path}", exc_info=logger.isEnabledFor(logging.DEBUG)) deleted_files[path] = True @@ -319,8 +319,8 @@ def _import_catalog(name: str, catalog_impl: str, properties: Properties) -> Cat module = importlib.import_module(module_name) class_ = getattr(module, class_name) return class_(name, **properties) - except ModuleNotFoundError as exc: - logger.warning(f"Could not initialize Catalog: {catalog_impl}", exc_info=exc) + except ModuleNotFoundError: + logger.warning(f"Could not initialize Catalog: {catalog_impl}", exc_info=logger.isEnabledFor(logging.DEBUG)) return None diff --git a/pyiceberg/io/__init__.py b/pyiceberg/io/__init__.py index c7109993c9..87d155a0fd 100644 --- a/pyiceberg/io/__init__.py +++ b/pyiceberg/io/__init__.py @@ -321,8 +321,8 @@ def _import_file_io(io_impl: str, properties: Properties) -> FileIO | None: module = importlib.import_module(module_name) class_ = getattr(module, class_name) return class_(properties) - except ModuleNotFoundError as exc: - logger.warning(f"Could not initialize FileIO: {io_impl}", exc_info=exc) + except ModuleNotFoundError: + logger.warning(f"Could not initialize FileIO: {io_impl}", exc_info=logger.isEnabledFor(logging.DEBUG)) return None diff --git a/pyiceberg/table/locations.py b/pyiceberg/table/locations.py index 25da7e7f6c..3aeaaf228b 100644 --- a/pyiceberg/table/locations.py +++ b/pyiceberg/table/locations.py @@ -178,8 +178,11 @@ def _import_location_provider( module = importlib.import_module(module_name) class_ = getattr(module, class_name) return class_(table_location, table_properties) - except ModuleNotFoundError as exc: - logger.warning(f"Could not initialize LocationProvider: {location_provider_impl}", exc_info=exc) + except ModuleNotFoundError: + logger.warning( + f"Could not initialize LocationProvider: {location_provider_impl}", + exc_info=logger.isEnabledFor(logging.DEBUG), + ) return None diff --git a/tests/io/test_io.py b/tests/io/test_io.py index ac1d7b4fe4..d9bee33f8b 100644 --- a/tests/io/test_io.py +++ b/tests/io/test_io.py @@ -279,7 +279,11 @@ def test_import_file_io() -> None: def test_import_file_io_does_not_exist(caplog: Any) -> None: + import logging + + caplog.set_level(logging.DEBUG) assert _import_file_io("pyiceberg.does.not.exist.FileIO", {}) is None + assert "Could not initialize FileIO: pyiceberg.does.not.exist.FileIO" in caplog.text assert "ModuleNotFoundError: No module named 'pyiceberg.does'" in caplog.text diff --git a/tests/table/test_locations.py b/tests/table/test_locations.py index 3634151de7..6dd7520f3c 100644 --- a/tests/table/test_locations.py +++ b/tests/table/test_locations.py @@ -66,10 +66,14 @@ def test_custom_location_provider_single_path() -> None: def test_custom_location_provider_not_found(caplog: Any) -> None: + import logging + + caplog.set_level(logging.DEBUG) with pytest.raises(ValueError, match=r"Could not initialize LocationProvider"): load_location_provider( table_location="table_location", table_properties={"write.py-location-provider.impl": "module.not_found"} ) + assert "Could not initialize LocationProvider: module.not_found" in caplog.text assert "ModuleNotFoundError: No module named 'module'" in caplog.text