def __init__(self, config=None, action_service=None):
        """
        :param config: Action config.
        :type config: ``dict``

        :param action_service: ActionService object.
        :type action_service: :class:`ActionService~
        """
        self.config = config or {}
        self.action_service = action_service

        if action_service and getattr(action_service, "_action_wrapper", None):
            log_level = getattr(action_service._action_wrapper, "_log_level", "debug")
            pack_name = getattr(action_service._action_wrapper, "_pack", "unknown")
        else:
            log_level = "debug"
            pack_name = "unknown"

        self.config = PackConfigDict(pack_name, self.config)
        self.logger = get_logger_for_python_runner_action(
            action_name=self.__class__.__name__, log_level=log_level
        )

        :param config: Action config.
        :type config: ``dict``

        :param action_service: ActionService object.
        :type action_service: :class:`ActionService~
        
st2common/st2common/runners/base_action.py