You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
804 B
Python

### IMPORTS
### ============================================================================
## Future
from __future__ import annotations
## Standard Library
## Installed
## Application
### CLASSES
### ============================================================================
class PythonJsonLoggerError(Exception):
"Generic base clas for all Python JSON Logger exceptions"
class MissingPackageError(ImportError, PythonJsonLoggerError):
"A required package is missing"
def __init__(self, name: str, extras_name: str | None = None) -> None:
msg = f"The {name!r} package is required but could not be found."
if extras_name is not None:
msg += f" It can be installed using 'python-json-logger[{extras_name}]'."
super().__init__(msg)
return