Skip to content

Commit 6f5a94c

Browse files
bltravisbtravisebsco
authored andcommitted
Refactor logging to use logger.exception for better error tracking and fix some typing errors
- Updated multiple instances across various modules to replace logger.error with logger.exception to capture stack traces and provide more context for errors. - Ensured that all relevant error messages are logged with exception details to facilitate debugging and monitoring. - Fix some failed type checks
1 parent fe21e0b commit 6f5a94c

24 files changed

Lines changed: 93 additions & 91 deletions

src/folio_migration_tools/circulation_helper.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def get_user_by_barcode(self, user_barcode):
6767
self.missing_patron_barcodes.add(user_barcode)
6868
return {}
6969
except Exception as ee:
70-
logger.error(f"{ee} {user_path}")
70+
logger.exception(f"{ee} {user_path}")
7171
return {}
7272

7373
def get_item_by_barcode(self, item_barcode):
@@ -85,7 +85,7 @@ def get_item_by_barcode(self, item_barcode):
8585
self.missing_item_barcodes.add(item_barcode)
8686
return {}
8787
except Exception as ee:
88-
logger.error(f"{ee} {item_path}")
88+
logger.exception(f"{ee} {item_path}")
8989
return {}
9090

9191
def is_checked_out(self, legacy_loan: LegacyLoan) -> bool:
@@ -119,15 +119,15 @@ def get_active_loan_by_item_id(self, item_id: str) -> dict:
119119
loans = self.folio_client.folio_get(loan_path, "loans")
120120
return next((loan for loan in loans if loan["status"]["name"] == "Open"), {})
121121
except Exception as ee:
122-
logger.error(f"{ee} {loan_path}")
122+
logger.exception(f"{ee} {loan_path}")
123123
return {}
124124

125125
def get_holding_by_uuid(self, holdings_uuid):
126126
holdings_path = f"/holdings-storage/holdings/{holdings_uuid}"
127127
try:
128128
return self.folio_client.folio_get_single_object(holdings_path)
129129
except Exception as ee:
130-
logger.error(f"{ee} {holdings_path}")
130+
logger.exception(f"{ee} {holdings_path}")
131131
return {}
132132

133133
def check_out_by_barcode(self, legacy_loan: LegacyLoan) -> TransactionResult:
@@ -297,7 +297,7 @@ def create_request(
297297
return True
298298
except FolioValidationError as fve:
299299
message = folio_client.handle_json_response(fve.response)["errors"][0]["message"]
300-
logger.error(message)
300+
logger.exception(message)
301301
migration_report.add_general_statistics(message)
302302
return False
303303
except (FolioConnectionError, FolioClientError) as fce:
@@ -306,14 +306,14 @@ def create_request(
306306
f"HTTP {client_response.status_code} Error creating request: "
307307
f"{client_response.text}"
308308
)
309-
logger.error(message)
309+
logger.exception(message)
310310
migration_report.add_general_statistics(message)
311311
else:
312-
logger.error(f"Connection error creating request: {fce}")
312+
logger.exception(f"Connection error creating request: {fce}")
313313
migration_report.add_general_statistics("Connection error creating request")
314314
return False
315315
except Exception as exception:
316-
logger.error(exception, exc_info=True)
316+
logger.exception(exception, exc_info=True)
317317
migration_report.add("Details", exception)
318318
Helper.log_data_issue(
319319
legacy_request.item_barcode,

src/folio_migration_tools/extradata_writer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def write(self, record_type: str, data_to_write: dict, flush=False):
5050
logger.debug("Extradata writer flushing the cache")
5151
except Exception as ee:
5252
error_message = "Something went wrong in extradata Writer"
53-
logger.error(error_message)
53+
logger.exception(error_message)
5454
raise TransformationProcessError("", error_message, record_type) from ee
5555

5656
def flush(self):

src/folio_migration_tools/holdings_helper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def to_key(
6767
)
6868
return "-".join(values)
6969
except Exception as exception:
70-
logger.error(json.dumps(holdings_record, indent=4))
70+
logger.exception(json.dumps(holdings_record, indent=4))
7171
raise exception from exception
7272

7373
@staticmethod

src/folio_migration_tools/mapper_base.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def report_folio_mapping(self, folio_record, schema):
9797
if prop not in self.mapped_folio_fields:
9898
self.mapped_folio_fields[prop] = [0]
9999
except Exception as ee:
100-
logger.error(ee, stack_info=True)
100+
logger.exception(ee, stack_info=True)
101101
raise ee from ee
102102

103103
def report_legacy_mapping_no_schema(self, legacy_object):
@@ -281,7 +281,7 @@ def handle_transformation_record_failed_error(
281281
),
282282
self.num_criticalerrors,
283283
)
284-
logger.error(
284+
logger.exception(
285285
"Errors: %s\terrors/records: %s",
286286
self.num_criticalerrors,
287287
(self.num_criticalerrors / (records_processed + 1)),
@@ -306,7 +306,7 @@ def handle_generic_exception(self, idx, exception: Exception):
306306
f"Row {idx:,} failed with the following unhandled Exception: {exception} "
307307
f"of type {type(exception).__name__}"
308308
)
309-
logger.error(exception, exc_info=True)
309+
logger.exception(exception, exc_info=True)
310310
if self.num_exceptions > self.library_configuration.generic_exception_threshold:
311311
logging.fatal(
312312
"Stopping. More than %s unhandled exceptions. Code needs fixing",

src/folio_migration_tools/mapping_file_transformation/mapping_file_mapper_base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ def map_property(
363363
logger.info("Edge case %s", schema_property_name)
364364

365365
except KeyError as schema_anomaly:
366-
logger.error(
366+
logger.exception(
367367
"Cannot create property '%s'. Unsupported schema format: %s",
368368
schema_property_name,
369369
schema_anomaly,
@@ -752,7 +752,7 @@ def get_objects(self, source_file, file_name: Path):
752752
try:
753753
yield from reader
754754
except Exception as exception:
755-
logger.error("%s at row %s", exception, reader.line_num)
755+
logger.exception("%s at row %s", exception, reader.line_num)
756756
raise exception from exception
757757

758758
def has_property(self, legacy_object, folio_prop_name: str):

src/folio_migration_tools/mapping_file_transformation/order_mapper.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ def build_extended_object(object_schema, submodule_path, github_headers):
400400
return object_schema
401401

402402
except HTTPError as he:
403-
logger.error(he)
403+
logger.exception(he)
404404

405405
@staticmethod
406406
def inject_schema_by_ref(submodule_path, github_headers, property: dict):
@@ -419,7 +419,7 @@ def inject_schema_by_ref(submodule_path, github_headers, property: dict):
419419
req.raise_for_status()
420420
return dict(property, **json.loads(req.text))
421421
except Exception as ee:
422-
logger.error(ee)
422+
logger.exception(ee)
423423
return {}
424424

425425
@staticmethod
@@ -433,7 +433,7 @@ def inject_items_schema_by_ref(submodule_path, github_headers, property: dict):
433433
req.raise_for_status()
434434
return dict(property["items"], **json.loads(req.text))
435435
except Exception as ee:
436-
logger.error(ee)
436+
logger.exception(ee)
437437
return {}
438438

439439
def perform_additional_mapping(self, index_or_id, composite_order):

src/folio_migration_tools/mapping_file_transformation/organization_mapper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ def build_extended_object(object_schema, submodule_path, github_headers, release
422422
return object_schema
423423

424424
except httpx.HTTPError as he:
425-
logger.error(he)
425+
logger.exception(he)
426426

427427
@staticmethod
428428
def resolve_uuid_refs(schema):

src/folio_migration_tools/mapping_file_transformation/ref_data_mapping.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def setup_mappings(self):
101101
raise transformation_process_error from transformation_process_error
102102
except Exception as ee:
103103
logger.info(json.dumps(self.map, indent=4))
104-
logger.error(ee)
104+
logger.exception(ee)
105105
raise TransformationProcessError(
106106
"",
107107
f'"{mapping[f"folio_{self.key_type}"]}" could not be found in FOLIO',

src/folio_migration_tools/mapping_file_transformation/user_mapper.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ def get_parsed_date(self, mapped_value, folio_prop_name: str):
217217
return format_date.isoformat()
218218
except Exception as ee:
219219
v = mapped_value
220-
logger.error(f"{folio_prop_name} {v} could not be parsed: {ee}")
220+
logger.exception(f"{folio_prop_name} {v} could not be parsed: {ee}")
221221
fmt_string = i18n.t(
222222
"Parsing error! %{prop_name}: %{value}. The empty string was returned",
223223
prop_name=folio_prop_name,

src/folio_migration_tools/marc_rules_transformation/conditions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ def condition_set_holdings_note_type_id(
429429
self.mapper.migration_report.add("MappedNoteTypes", t[1])
430430
return t[0]
431431
except Exception as ee:
432-
logger.error(ee)
432+
logger.exception(ee)
433433
raise TransformationRecordFailedError(
434434
legacy_id,
435435
f"Holdings note type mapping error.\tParameter: {parameter.get('name', '')}\t"

0 commit comments

Comments
 (0)