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-2.0.0.tar.gz (11.3 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-2.0.0-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: equal_logger-2.0.0.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for equal_logger-2.0.0.tar.gz
Algorithm Hash digest
SHA256 e3137f2e869ec1e1b65fd81ac864e4e896896de5ec67196ca30005bf68322967
MD5 3354fad3d09a3da767a35e81651482b3
BLAKE2b-256 9381e5e9020977559c59104a490fd1976bb4498220e8b2094ad22827dfc739b5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: equal_logger-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for equal_logger-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c200903d04fb605117d368bd737506214a8f0e4a09d56c85ac817b44f8427ea
MD5 ef12b591318b7ae3286b3cc8cc13a3ee
BLAKE2b-256 10852bccb4535e09e9b846bb6a72640c375d3d9fa1cfe02c8bb7c5610c028c09

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