27 lines
820 B
Python
27 lines
820 B
Python
import logging
|
|
|
|
from control_backend.core.agent_system import BaseAgent as CoreBaseAgent
|
|
|
|
|
|
class BaseAgent(CoreBaseAgent):
|
|
"""
|
|
The primary base class for all implementation agents.
|
|
|
|
Inherits from :class:`control_backend.core.agent_system.BaseAgent`.
|
|
This class ensures that every agent instance is automatically equipped with a
|
|
properly configured ``logger``.
|
|
|
|
:ivar logger: A logger instance named after the agent's package and class.
|
|
"""
|
|
|
|
logger: logging.Logger
|
|
|
|
def __init_subclass__(cls, **kwargs) -> None:
|
|
"""
|
|
Whenever a subclass is initiated, give it the correct logger.
|
|
:param kwargs: Keyword arguments for the subclass.
|
|
"""
|
|
super().__init_subclass__(**kwargs)
|
|
|
|
cls.logger = logging.getLogger(__package__).getChild(cls.__name__)
|