import logging from attr import dataclass from axiom_py import Client from axiom_py.logging import AxiomHandler import uuid from setup.tokens import ambiente def configure_logging(): # Initialize the Axiom client axiom_client = Client("xaat-a5f9395e-9884-4b57-a537-a32e810cdb0a") # client.ingest_events( # dataset="vella", # events=[ # {"foo": "bar"}, # {"bar": "baz"}, # ], # ) # Create an Axiom logging handler axiom_handler = AxiomHandler(client=axiom_client, dataset="vella") # Set the logging level for the handler axiom_handler.setLevel(logging.INFO) # Optional: Define a formatter for the logs formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s" ) axiom_handler.setFormatter(formatter) # Get the root logger and add the Axiom handler root_logger = logging.getLogger() root_logger.setLevel(logging.INFO) root_logger.addHandler(axiom_handler) def send_axiom(mensagem): logger = logging.getLogger() logger.info( mensagem, extra={ "tags": ["ambiente_testes"], }, ) @dataclass class Axiom: array_of_logs = [] def generate_new_uuid(self): self.uuid = uuid.uuid4() def add_axiom(self, mensagem): self.array_of_logs.append(mensagem) def send_final_axiom(self): send_axiom(self.array_of_logs) def send_axiom(self, mensagem): print("\n", mensagem) logger = logging.getLogger() logger.info( mensagem, extra={"ambiente": [ambiente], "uuid": self.uuid}, ) def send_axiom_error(self, mensagem): print("\n", mensagem) logger = logging.getLogger() logger.info( mensagem, extra={"ambiente": [ambiente], "uuid": self.uuid, "error": "true"}, )