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
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
|