Source code for openeo.udf.debug

"""
Debug utilities for UDFs
"""
import logging
import os
import sys

_log = logging.getLogger(__name__)
_user_log = logging.getLogger(os.environ.get("OPENEO_UDF_USER_LOGGER", f"{__name__}.user"))


[docs] def inspect(data=None, message: str = "", code: str = "User", level: str = "info"): """ Implementation of the openEO `inspect` process for UDF contexts. Note that it is up to the back-end implementation to properly capture this logging and include it in the batch job logs. :param data: data to log :param message: message to send in addition to the data :param code: A label to help identify one or more log entries :param level: The severity level of this message. Allowed values: "error", "warning", "info", "debug" .. versionadded:: 0.10.1 .. seealso:: :ref:`udf_logging_with_inspect` """ extra = {"data": data, "code": code} kwargs = {"stacklevel": 2} if sys.version_info >= (3, 8) else {} _user_log.log(level=logging.getLevelName(level.upper()), msg=message, extra=extra, **kwargs)