API: LogOnAccess

class advanced_descriptors.LogOnAccess(property)[source]

Property with logging on successful get/set/delete or failure.

New in version 2.1.0.

Changed in version 2.2.0: Re-use logger from instance, if possible.

__init__(fget=None, fset=None, fdel=None, doc=None, *, logger=None, log_object_repr=True, log_level=logging.DEBUG, exc_level=logging.DEBUG, log_success=True, log_failure=True, log_traceback=True, override_name=None)[source]
Parameters:
  • fget (Callable[[_OwnerT], _ReturnT] | None) – normal getter.

  • fset (Callable[[_OwnerT, _ReturnT], None] | None) – normal setter.

  • fdel (Callable[[_OwnerT], None] | None) – normal deleter.

  • doc (str | None) – docstring override

  • logger (logging.Logger | str | None) – logger instance or name to use as override

  • log_object_repr (bool) – use repr over object to describe owner if True else owner class name and id

  • log_level (int) – log level for successful operations

  • exc_level (int) – log level for exceptions

  • log_success (bool) – log successful operations

  • log_failure (bool) – log exceptions

  • log_traceback (bool) – Log traceback on exceptions

  • override_name (str | None) – override property name if not None else use getter/setter/deleter name

getter(fget)

Descriptor to change the getter on a property.

Parameters:

fget (Callable[[_OwnerT], _ReturnT] | None) – new normal getter.

Return type:

AdvancedProperty

setter(fset)

Descriptor to change the setter on a property.

Parameters:

fset (Callable[[_OwnerT, _ReturnT], None] | None) – new setter.

Return type:

AdvancedProperty

deleter(fdel)

Descriptor to change the deleter on a property.

Parameters:

fdel (Callable[[_OwnerT], None] | None) – New deleter.

Return type:

AdvancedProperty

fget

Callable[[_OwnerT], _ReturnT] | None Getter instance.

fset

Callable[[_OwnerT, _ReturnT], None] | None Setter instance.

fdel

Callable[[_OwnerT], None] | None Deleter instance.

logger

logging.Logger | None Logger instance to use as override.

log_object_repr

bool Use repr over object to describe owner if True else owner class name and id.

log_level

int Log level for successful operations.

exc_level

int Log level for exceptions.

log_success

bool Log successful operations.

log_failure

bool Log exceptions.

log_traceback

bool Log traceback on exceptions.

override_name

str | None Override property name if not None else use getter/setter/deleter name.