wiki:WF/WFLog

Version 4 (modified by gbisotto, 15 years ago) (diff)

--

Log

WikiInclude(WF/tableofcontents)?

Classe: wf_log

Esta classe pode ser utilizada para criar logs do processo. Deve ser instanciada utilizando a factory.

Ela dispõe de 8 níveis e dois 2 tipos de log:

Níveis de Log

  1. Emergência: O sistema está inoperante;
  2. Alerta: O sistema necessita de atenção imediata;
  3. Crítico: O sistema encontra-se em situação crítica;
  4. Erro: Erro no sistema;
  5. Aviso: O sistema encontrou-se em situação em que poderia apresentar problemas;
  6. Notificação: O sistema está em situação normal, porém em uma situação significante;
  7. Informação: Informações gerais;
  8. Debug: Modo de Debug.

Tipos de Log

  • (file) Arquivo: Salva o log em arquivo;
  • (firebug) Firebug: Mostra o log no firebug;

Configurações

Na página de administração do processo pode-se configurar o nível de log. Os níveis de log serão mostrados conforme a configuração especificada, sendo que os logs de maior número fazem com que os logs de menor número sejam lançados.

Exemplo: Para uma configuração "Informação":

$log->emerg('emergencia...');
$log->info('informação...');
$log->debug('debug...');

No caso acima, somente os logs info e emerg serão lançados. O log de debug não será, pois é maior que o log configurado.

Os tipos de log permitidos no frontend somente poderão ser configurados por um administrador do módulo, já que envolve questões de segurança.

Obtendo um objeto de log

Para obter um objeto de log deve-se utilizar a factory, passando como primeiro parâmetro a string 'wf_log':

$log = $this->factory->getInstance('wf_log');

Para obter um objeto de log com um tipo específico que não seja o padrão 'file', basta passar como segundo parâmetro o nome do tipo de log desejado:

$log = $this->factory->getInstance('wf_log', 'firebug');

Para obter um objeto de log composto, basta passar como segundo parâmetro um array com os tipos de log desejados:

$log = $this->factory->getInstance('wf_log', array('file', 'firebug'));

Métodos

addLogType

Descrição: A classe wf_log suporta que sejam utilizados mais de um tipo de log por vez. Este método adiciona um tipo de log à composição de logs.

Parâmetros:

$logType: nome do tipo de log.

Retorno: true para o caso do tipo de log ter sido adicionado com sucesso, false caso contrário.

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log'); // neste caso o objeto será criado somente com o tipo padrão: file
$log->addLogType('firebug');

removeLogType

Descrição: Este método remove um tipo de log à composição de logs.

Parâmetros:

$logType: nome do tipo de log.

Retorno: o objeto de log removido da composição para o caso do método ter sido executado com sucesso. null caso contrário

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log');
$log->addLogType('firebug');

$log->removeLogType('file');

emerg

Descrição: Lança um log de nível emergência

Parâmetros:

$message: Mensagem a ser lançada

Retorno: true caso a mensagem tenha sido lançada com sucesso, false caso contrário.

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log');

$log->emerg('emergência...');

alert

Descrição: Lança um log de nível alerta

Parâmetros:

$message: Mensagem a ser lançada

Retorno: true caso a mensagem tenha sido lançada com sucesso, false caso contrário.

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log');

$log->alert('alerta...');

crit

Descrição: Lança um log de nível crítico

Parâmetros:

$message: Mensagem a ser lançada

Retorno: true caso a mensagem tenha sido lançada com sucesso, false caso contrário.

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log');

$log->crit('crítico...');

error

Descrição: Lança um log de nível erro

Parâmetros:

$message: Mensagem a ser lançada

Retorno: true caso a mensagem tenha sido lançada com sucesso, false caso contrário.

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log');

$log->error('erro...');

warning

Descrição: Lança um log de nível aviso

Parâmetros:

$message: Mensagem a ser lançada

Retorno: true caso a mensagem tenha sido lançada com sucesso, false caso contrário.

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log');

$log->warning('aviso...');

notice

Descrição: Lança um log de nível notificação

Parâmetros:

$message: Mensagem a ser lançada

Retorno: true caso a mensagem tenha sido lançada com sucesso, false caso contrário.

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log');

$log->notice('notificação...');

lnfo

Descrição: Lança um log de nível informação

Parâmetros:

$message: Mensagem a ser lançada

Retorno: true caso a mensagem tenha sido lançada com sucesso, false caso contrário.

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log');

$log->info('informação...');

debug

Descrição: Lança um log de nível debug

Parâmetros:

$message: Mensagem a ser lançada

Retorno: true caso a mensagem tenha sido lançada com sucesso, false caso contrário.

Exemplo de Uso:

$log = $this->factory->getInstance('wf_log');

$log->debug('debug...');