LosLog no GitHub

Boa tarde pessoal!

Depois do post sobre Logar no Doctrine2 e ZF2 resolvi atualizar o código e coloquei disponível no GitHub e Packagist.

Além das duas classes do post anterior, coloquei também uma para error e exceções e uma outra para chamadas estáticas, para facilitar debug, desenvolvimento etc.

Como está disponível publicamente, o texto está em inglês, mas para instalar basta digitar:

Habilitar o módulo no seu “config/application.config.php”:

Siga a documentação para usar cada uma das classes.

Seguindo a sugestão do Issac nos comentários, fiz uma alteração na StaticLogger para logar um objeto. Como os objetos podem conter outro objetos e acabar com a memória ou espaço ao tentar logá-los (especialmente nos casos com Doctrine), estou logando os atributos da própria classe e suas “parents” com seus respectivos valores, mas se for um objeto, logo apenas o nome  da classe.

Mas para isso funcionar, criei uma classe básica e seus objetos podem estender dela. A única coisa que ela acrescenta é uma função “losLogMe” com a rotina para logar o objeto. Desta maneira podemos logar todos os atributos, mesmo os “private” ou “protected”. Se por acaso não puder fazer o “extends”, basta copiar a função para o objeto que já irá funcionar.

Alguém instalou e funcionou bem ou teve algum problema?

Até a próxima!

Leandro Silva

PHP developer since 1997, loves movies, music and dogs.

5 Comentários para: “LosLog no GitHub

  1. Caro Leandro Silva ficou muito boa sua implementação de “Multi-Log” a instalação e usabilidade foram fáceis e rápida de ser implementadas aqui no projeto. Só tenho uma questão, creio que falta apenas algum método no StaticLog para logamos objetos e não apenas string. Agradeço deste já sua contribuição foi de ótima iniciativa para mim e com certeza toda comunidade, valeu cara Parabéns.

    • Muito obrigado Isaac pelo apoio. Ótima sugestão esta de logar um objeto. Na verdade faço apenas uma “ponte” para o Log do Zend, então você usar para logar um array e um objeto, desde que ele implemente o método __toString. Logar todos os atributos de um objeto simples é fácil usando Reflexão, mas se este objeto é composto de outros objetos que são compostos por outros, fica impraticável logar. Experimente dar um “var_dump” num objeto usando o Doctrine2 e vai ver sua tela carregando praticamente indefinidamente rs. É uma árvore gigantesca de objetos e propriedades.
      Mas seguindo sua sugestão vou fazer uma alteração para logar apenas a primeira “camada” de propriedades, que para fins de debug normalmente é suficiente.
      Obrigado pela sugestão!
      Leandro Silva

    • Issac, gostaria de avisar que acabei de atualizar o LosLog para a versão 1.0.5 e está com suporte para logar objetos. Vou atualizar o post com as mudanças. Obrigado mais uma vez pela sugestão.

  2. Pingback: Dump de Entidade Doctrine - Reader

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*