Novo componente para Yii2

Boa noite pessoal,

Hoje venho anunciar o novo projeto que estou desenvolvendo para Yii2. O mero/yii2-monolog, é um componente responsável por adicionar o Monolog na framework, garantindo o uso do Monolog.

Além de utilizar padrões PSR-3 o Monolog permite você criar diferentes canais usando diferentes manipuladores de log.

O que é o projeto Monolog e qual sua importância no PHP

Para quem não conhece, o Monolog é um projeto que responsável por gerenciar logs utilizando como recursos: canais, manipuladores(handlers), formatadores(formatters) e processadores(processors). Com ele, você consegue integrar os logs de seu sistema com diferentes meios de comunicação.

As principais frameworks do mercado PHP(Symfony, Silex, Laravel e Lumen), implementam o Monolog como gerenciador de log. No caso no Yii2, a equipe de desenvolvedores da framework preferiu criar um gerenciador de logs próprio, que infelizmente não utiliza os padrões definidos na PSR-3.

Manipuladores(Handlers)

Os manipuladores são responsáveis por registrar logs em diferentes meios de comunicação de acordo com sua necessidade. Por exemplo, você pode registrar todos os logs em uma collection do MongoDB e os mais críticos poderão ser enviados por e-mail, mensagens no HipChat, Slack e até mesmo SMS.

Manipuladores existentes

  • RotatingFileHandler: registra logs em arquivos definindo tamanho máximo de texto por arquivo;
  • SyslogHandler: registra log no Syslog;
  • StreamHandler: registra log em um único arquivo;
  • NativeMailerHandler e SwiftMailerHandler: enviam logs por e-mail;
  • HipChatHandler: envia logs pelo HipChat;
  • SlackHandler: envia logs pelo Slack;
  • RedisHandler: registra log em um servidor Redis;
  • MongoDBHandler: registra log em uma base do MongoDB;
  • Lista completa de handlers.

Formatadores(Formatters)

Os formatadores são responsáveis por deixar o log do formato desejável.

Formatadores existentes

  • LineFormatter: formata o log para ser registrado em uma única linha;
  • JsonFormatter: formata o log para ser registrado em JSON;
  • HtmlFormatter: formata o log para ser registrado em HTML;
  • Lista completa de formatters.

Processadores(Processors)

Os processadores de log são responsável por adicionar informações extras ao log que poderão ser importantes para a analise de um problema.

Processadores existentes

  • MemoryUsageProcessor: exibe a quanto de memória está sendo usada pelo servidor;
  • GitProcessor: exibe qual branch e commit o projeto está;
  • IntrospectionProcessor: exibe informações relacionada a arquivo, classe, método, linha na qual o log foi gerado;
  • Lista completa de processors.

Curtiu? Além de todos os handlers, formatters e processors que já existem no Monolog, você ainda poderá criar outros ou utilizar de terceiros, como no projeto em que estou desenvolvendo.

Em breve serão adicionados dois handlers:

  • YiiDbHandler: registra log em uma tabela de uma base de dados relacional utilizando uma conexão do Yii2;
  • YiiMongoHandler: registra log em uma collection do MongoDB utilizando uma conexão do Yii2.

Qualquer dúvida, não deixe de perguntar. Para mais informações sobre como utilizar o projeto, consulte a documentação disponível no repositório.

Espero que tenham gostado.
Até a próxima pessoal!

Links úteis

  1. Especificações da PSR-3
  2. Repositório do Monolog
  3. Repositório do projeto yii2-monolog
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s