Error wrapper with auto logging
Project description
Error Wrapper
Inheritance from the package’s classes allows you to handle errors of any level in a uniform way and automatically log error messages if desired. This is a familiar routine, a fraction of which I wanted to reduce:)
Installation
Install from PyPI with:
pip install error-wrapper
Usage
Completely abstract example:)
logger = logging.getLogger(__name__)
class DivNum(ErrorWrapper):
def test_args_number(self, *args):
if len(args) != 2:
self.raise_instance_error(f'{ARG_NUM_ERROR}{len(args)}')
return
@run_method_if_no_errors
def test_args_type(self, *args):
if not isinstance(args[0], int) or not isinstance(args[1], int):
self.raise_instance_error(ARG_TYPE_ERROR)
return
def div(self, *args):
self.clear_instance_error()
self.test_args_number(*args)
self.test_args_type(*args)
if self.error:
return self.error_detail
try:
return args[0] / args[1]
except Exception as e:
self.raise_instance_exception(e)
return self.error_detail
# Default creating params: report_prefix=None, exception_name_in_detail=False,
# logger=None, auto_logging=False
divnum_with_defaults = DivNum()
divnum_with_auto_logging = DivNum(auto_logging=True, logger=logger)
divnum_with_prefix_in_log_or_error_vessage = DivNum(report_prefix='DevNum instance error: ')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for error_wrapper-0.9.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18f90151b05a52d63cdf8dbcc52bb93c7017f71721406171011b74844a2ce214 |
|
MD5 | b2a86b1973575ad5d1e23b4cd03eb858 |
|
BLAKE2b-256 | d55b27f109984f3079b31739cf264d0cab99a687f972c92cf25a150d1f33b3ff |