#!/usr/bin/env python3 # -*- coding: utf-8 -*- from typing import Self, Any, Optional from Abstracts.ControllerAbstract import ControllerAbstract from Interfaces.Procedures.LogsProcedureInterface import LogsProcedureInterface from Utils.Utils import Utils class LogsController(ControllerAbstract): def set_log(self:Self, message:str, error:int = 0, parameters:dict[str, Any|None] = {}, i:int = 0 ) -> None: data:dict[str, Any|None] = Utils.get_action_data(i + 2) self.cxcv.procedures.get( LogsProcedureInterface, (self.key, self.via) ).set_log("CXCV", data["file"], data["method"], data["line"], message, error, parameters) def set_exception(self:Self, exception:Exception, message:str, parameters:dict[str, Any|None] = {}, status:Optional[str] = None, i:int = 0 ) -> None: trace:list[str] = Utils.get_trace(exception) data:dict[str, Any|None] = Utils.get_action_data(i + 2) self.cxcv.procedures.get( LogsProcedureInterface, (self.key, self.via) ).set_exception("CXCV", data["file"], data["method"], data["line"], message, str(exception), "\n".join( "- " + line for line in trace ), parameters, status)