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
- Emergência: O sistema está inoperante;
- Alerta: O sistema necessita de atenção imediata;
- Crítico: O sistema encontra-se em situação crítica;
- Erro: Erro no sistema;
- Aviso: O sistema encontrou-se em situação em que poderia apresentar problemas;
- Notificação: O sistema está em situação normal, porém em uma situação significante;
- Informação: Informações gerais;
- 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...');