File size: 1,909 Bytes
ab34606
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82e7990
 
 
ab34606
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
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"},
        )