Saltar para o conteúdo
Edson Francisco
  • Fiabilidade, DevOps e legado

laravel-teams-logging

Fork mantido de um pacote Composer que envia os logs do Laravel para o Microsoft Teams, usado em produção pelo FAMS.

Período
2022
Estado
Em produção
Papel
Mantenedor do fork e publicação no Packagist

Problema

A equipa do FAMS precisava de saber das excepções nos servidores dos clientes quando aconteciam, sem montar uma stack de observabilidade. O pacote original, de 2018, não servia a versão de Laravel que o FAMS usava.

Solução

Em Novembro de 2022 o Edson fez fork do pacote de Sabar Tampubolon, mudou o namespace, corrigiu os tipos de retorno e o estilo dos cartões, refez os avatares por nível de log e publicou-o no Packagist. O FAMS usa-o como canal teams, ligado por uma flag de configuração.

Decisões técnicas

  1. 01

    Canal Monolog personalizado

    Liga-se em config/logging.php com 'via' => LoggerChannel::class, sem mexer no código da aplicação.

  2. 02

    Cor e avatar por nível PSR-3

    Cada nível, de debug a emergency, tem cor e avatar próprios, para distinguir um aviso de uma falha no meio do chat.

  3. 03

    Activação por ambiente

    No FAMS o canal só entra na stack de logs quando a flag está ligada, para os servidores de teste não encherem o canal.

Imagens

01 / 02 — Repositório laravel-teams-logging no GitHub, com a indicação de fork do projecto original

Tecnologias

  • PHP
  • Laravel

Resultados verificáveis

instalações no Packagist
113
packagist.org (abre noutro separador)
usado em produção no backend
FAMS