39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
#!/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) |