To develop custom loggers, we need to write a class that inherits from the base class LoggingFunction. Then, those custom loggers can be mapped to events of the user choice in the parameter mapping of the :ref:`PyPads class <base_class>`.
.. autoclass:: pypads.functions.loggers.base_logger.LoggingFunction :special-members: __pre__, __post__, __call_wrapped__ :private-members: _needed_packages
Another type of logging functions supported by Pypads is the pre/post run loggers which are executed before and after the run execution respectively.
- Pre Run loggers
.. autoclass:: pypads.functions.pre_run.pre_run.PreRunFunction :private-members: _call
- Post Run loggers
.. autoclass:: pypads.functions.post_run.post_run.PostRunFunction :private-members: _call
Pypads also support mlflow autologging functionalities. More on that can be found at MLflow.
.. autoclass:: pypads.functions.loggers.mlflow.mlflow_autolog.MlflowAutologger :special-members: __call_wrapped__