feat: add colored and formatted logging

Add a custom logging setup function to add custom levels and custom
formatters (partly for future use with extended logging functionality).
Also implemented a basic colored formatter to make our logs nicer.

Also improved the handling of logging in external libraries, so now we
should only get WARNings or above.

ref: N25B-233
This commit is contained in:
2025-10-31 21:22:32 +01:00
parent 657c300bc7
commit d5de644828
6 changed files with 131 additions and 8 deletions

View File

@@ -8,23 +8,25 @@ import zmq
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
# Internal imports
from control_backend.agents.ri_communication_agent import RICommunicationAgent
from control_backend.agents.bdi.bdi_core import BDICoreAgent
from control_backend.agents.vad_agent import VADAgent
from control_backend.agents.llm.llm import LLMAgent
from control_backend.agents.bdi.text_extractor import TBeliefExtractor
from control_backend.agents.belief_collector.belief_collector import BeliefCollectorAgent
from control_backend.agents.llm.llm import LLMAgent
# Internal imports
from control_backend.agents.ri_communication_agent import RICommunicationAgent
from control_backend.agents.vad_agent import VADAgent
from control_backend.api.v1.router import api_router
from control_backend.core.config import settings
from control_backend.core.zmq_context import context
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.DEBUG)
from control_backend.logging import setup_logging
@contextlib.asynccontextmanager
async def lifespan(app: FastAPI):
setup_logging()
logger = logging.getLogger(__name__)
logger.info("%s starting up.", app.title)
# Initiate sockets
@@ -34,7 +36,6 @@ async def lifespan(app: FastAPI):
app.state.internal_comm_socket = internal_comm_socket
logger.info("Internal publishing socket bound to %s", internal_comm_socket)
# Initiate agents
ri_communication_agent = RICommunicationAgent(
settings.agent_settings.ri_communication_agent_name + "@" + settings.agent_settings.host,