Desenvolvimento - PHP
PEAR::Log
Um breve comentário sobre a Classe PEAR::Log que permite ao programador de forma fácil adicionar o recurso de log ao sistema.
por Marcelo Pereira Fonseca da SilvaHá diversas maneiras de instalar essa classe, uma delas é obter o download direto do site da PEAR.
O Link abaixo pode lhe ajudar nesta tarefa:
http://pear.php.net/package/Log
A documentação existente pode ser encontrada em:
http://pear.php.net/manual/en/package.logging.log.php
Esta classe pode ser usada de várias formas diferentes, cada qual sendo específica para uma necessidade dentro da sua aplicação.
Na última versão do pacote (1.8.5) podemos encontrar três formas para criação de um objeto:
1 - Instanciar diretamente a classe
$logar = new Log_File("usuario.log", "algum texto");
Ou usando os métodos da classe Log
&factory e &singleton
2 - Método factory
$log = &Log::factory("file", "log.txt", "identity text");
3 - Método singleton
$log = &Log::singleton("file", "log.txt", "identity text");
Estes dois últimos são bastante parecidos, ambos devem ser chamados estaticamente (::), a diferença entre eles é que o método singleton garante que somente uma instância idêntica das subclasses de Log_ será feita.
A sintaxe para o método singleton é como segue:
object Log::singleton (string log_type [, string log_name [, string ident [, array conf]]])
Este método é recomendado quando se quer logar diversos pontos do sistema.
Um exemplo prático de uso seria:
<?php // chamada para o arquivo da classe PEAR::Log include_once("Log.php"); // configurações para o arquivo de log $cnf["mode"] = (int); $cnf["timeFormat"] = "%X %x"; // chamada para o objeto $logging = &Log::singleton("file", "arquivo.log", "mensagem aqui", $cnf, LOG_INFO); // logando mensagens $logging->log("teste", LOG_INFO); // fechando classe de Log $logging->close(); ?> |
O primeiro parâmetro "file" é responsável por indicar como será efetuado o log (podendo ser via arquivo, banco de dados etc..)
O segundo parâmetro é o nome do arquivo de log
O terceiro parâmetro é a mensagem que será gravada no arquivo
O array $cnf guarda informações de configuração do arquivo e o último parâmetro são constantes da classe responsáveis pela marcação de que tipo de log está sendo gerado.
Esta classe contém ainda outros recursos que serão abordados nos próximos artigos.
Até a próxima.