Skip to main content

A logging library for internal usage.

Project description

Como funciona o equal-logger

  • O equal-logger é uma biblioteca que facilita o registro de logs em projetos na Azure e GCP.
  • Ele cria uma conexão com o storage da cloud e fica responsável por armazenar as mensagens de log em formato parquet, seguindo uma hierarquia de pastas.
  • O usuário só precisa importar o módulo, criar uma instância do Logger, registrar as mensagens de log e salvar. Todos os meta-dados necessários são coletados automaticamente.

Como instalar o equal-logger

Execute os comando abaixo para atualizar o repositório de bibliotecas e baixar a versão mais recente do equal-logger:

py -m pip install --upgrade pip
pip install equal-logger

Como preparar o ambiente antes de utilizar

  1. Como configurar a biblioteca com Google Cloud Storage
  2. Como configurar a biblioteca com Azure ADLS

Como incluir nos códigos

Comece importando o módulo:

from equal_logger import Logger

Após importar o módulo, crie uma instância do Logger:

logger = Logger(
    cloud="GCP",  # a cloud que está sendo utilizada ("GCP" ou "AZURE").
    project="evo-operacoes",  # nome do projeto, exatamente como no nome do bucket/container.
    script_name="wehelp_engaging_probability.py",  # nome do script que está rodando.
    data_source="WEHELP",  # nome da fonte de dados que está sendo extraída/transformada ou qualquer outro rótulo. (exemplo "META ADS").
    credentials="credentials.json",  # caminho para o arquivo de credenciais.
)

Agora você pode utilizar o logger para registrar mensagens de log:

logger.success("titulo 1", "descricao 1") # use para registrar mensagens de sucesso.
logger.info("titulo 1", "descricao 1") # use para registrar mensagens de informação.
logger.error("titulo 1", "descricao 1") # use para registrar mensagens de erro.

Por fim, finalize o logger. Este comando grava no storage os logs registrados, use-o somente uma vez ao final do script:

logger.save()

Exemplo de uso:

from equal_logger import Logger

logger = Logger(
    cloud="GCP",  
    project="evo-operacoes", 
    script_name="wehelp_engaging_probability.py",  
    data_source="WEHELP", 
    credentials="credentials.json", 
)

# executando as requisições e salvando no GCS
for retentativa in range(QUANTIDADE_DE_RETENTATIVAS):

    try:
        data = request_from_wehelp(endpoint)
        save_to_gcs(json.dumps(data))
        logger.log_success('dim_clientes', 'Extraído com sucesso!')
        break

    except Exception as e:
        logger.log_info('dim_clientes', f'RETRY: {retentativa} \n {e}')
        time.sleep(5)

else:
    logger.log_error('dim_clientes', f'Tentativas esgotadas! \n {e}')


logger.log_save()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

equal_logger-1.0.2.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

equal_logger-1.0.2-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file equal_logger-1.0.2.tar.gz.

File metadata

  • Download URL: equal_logger-1.0.2.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for equal_logger-1.0.2.tar.gz
Algorithm Hash digest
SHA256 314e99a3c1d4ef9836cda8cd362b46ad7952f15903a7bb0e1a2b754d600154b6
MD5 4e4b5271d894a79914482b3e0d694765
BLAKE2b-256 57d7b4283ec5dcb280fa02ee74a3109883d4e5fee30c53243aa696bb6f7cb9c9

See more details on using hashes here.

File details

Details for the file equal_logger-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: equal_logger-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for equal_logger-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e732fc05330e382b5f0b5f9b81fa80d52bea9c076efd11e8ac318c22d7b2b083
MD5 5a6f30533c1093feb0e98e268ff4162e
BLAKE2b-256 783e1407e36d5becbb1383b8a9386a59a1e6ce5e73658a77c29b5e87ea0b5df8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page